I think it would make sense to support overriding the default FP in the UCS 
parameters, so we can treat it as a direct replacement. Desiree FP is directly 
related to sstable overlaps after all. 

Can you think of any other usability gaps like this?

> On 9 Dec 2024, at 12:06, Jeff Jirsa <jji...@apache.org> wrote:
> 
> 
> 
>> On 2024/12/09 16:26:45 Benedict wrote:
>> I think it’s important to remember that UCS broadly speaking subsumes both 
>> LCS
>> and STCS, with various subtle but important refinements. So while it offers a
>> broader parameter space it might be best to conceive of it as a suite of
>> compaction strategies, two of which are direct replacements to LCS and STCS.
>> The existing documentation and guides on how to work with LCS and STCS should
>> map straightforwardly to matching UCS parameters. We can probably even
>> directly copy much of the existing docs for these modes.
>> 
>> 
>> 
>> I wonder if it therefore makes sense to allow named parameter combinations,
>> and to provide two defaults - named LCS and STCS? These should map so closely
>> to what people understand as LCS and STCS as to make transition very simple.
> 
> 
> 'Probably', but as you mentioned, there are subtle differences - recall that 
> LCS changes other default table params like bloomfilter FP ratio, which UCS 
> doesn't do.
> 
> https://github.com/apache/cassandra/blob/8e355197f07ff2c172f31a740ace4f52e34a0fd9/src/java/org/apache/cassandra/schema/CompactionParams.java#L263-L266
> 
> UCS' size scaling may hide the offheap memory impact of the different FP 
> ratio depending on how it's tuned, but doing so also makes sstables (with 
> wider ranges) less likely to take the zero copy streaming path, etc.
> 
>> Overtime we can perhaps develop more refined parameter combinations and
>> suggest users migrate as we understand the parameter space better.
>> 
>> 
> 
> 
> I also think that having short-cuts or abbreviated params would be helpful. I 
> think I understand compaction pretty well, and I have no idea how I'd setup 
> scaling_parameters or sstable_growth today.

Reply via email to