Hi Jon, Thanks for your perspective on this topic, that's helpful feedback!
I understand the default compaction strategy choice depends on multiple deployment and workload factors. How about this to allow Cassandra to be more flexible for different workload types: Update CQL with: CREATE TABLE ks.tbl () WITH profile = 'default'; // current, STCS is default CREATE TABLE ks.tbl () WITH profile = 'appendonly_timeseries'; // TWCS if problems are addressed CREATE TABLE ks.tbl () WITH profile = 'unstable'; // UCS so users can start testing Add new setting to cassandra.yaml: default_table_profile = 'default' // can be changed to unstable or appendonly_timeseries based on workload characteristics Let me know if you think this would be a viable approach to address any concerns about changing default settings. I would be happy to provide a patch with this suggestion if the community thinks this would be an acceptable way forward on this matter. Cheers, Paulo On Sat, Dec 7, 2024 at 1:41 PM Jon Haddad <j...@rustyrazorblade.com> wrote: > When people have the luxury of working in environments where clusters are > massively over provisioned, LCS as a default makes a lot of sense, because > there's not much downside. The use cases where you'd actually fall behind > in compaction are pretty slim, so the negative impact isn't felt. > > Most people aren't doing this. Putting LCS as the default significantly > changes the performance profile of new clusters in a way that actively > harms a portion of the community. > > Let me be clear - I am not a fan of STCS, but at least it's a C rating > across a variety of workloads. LCS while works better for a majority of > workloads, works incredibly poorly for others. I'd rather have mediocre > defaults for everyone than a ticking time bomb for a meaningful percentage > of the community. > > We also, as others have said, should move to UCS as the default in the > long term, so temporarily switching to LCS now seems pointless. > > The main grievances over UCS all seem to be doc related, and a lack of > experience. These are both fixable problems. > > Jon > > > > > On Sat, Dec 7, 2024 at 9:48 AM Jordan West <jorda...@gmail.com> wrote: > >> Generally agree with the following sentiments: >> >> - LCS as the stable default, it’s not perfect and can blow up but it’s >> the best in the majority of cases. All of the compaction strategies come >> with foot guns of varying sizes. If STCS is replaced by UCS it definitely >> should not be the default. >> >> - moving towards UCS as the eventual default by using latest.yaml and >> investing in much better docs (and UX?). I’m convinced UCS is better but I >> won’t move to it until it’s better documented and understood. >> >> Jordan >> >> On Sat, Dec 7, 2024 at 04:16 Brandon Williams <dri...@gmail.com> wrote: >> >>> On Sat, Dec 7, 2024 at 6:05 AM Štefan Miklošovič <smikloso...@apache.org> >>> wrote: >>> > ouch ... that hurts ... whoever did that job. Could we be more >>> emotions-less here? Branimir did an excellent job and for _technical_ >>> documentation there is nothing wrong with it. It is another problem that >>> the documentation is not written yet to put it in more layman terms for >>> people not reading academic papers regularly. >>> >>> I agree with your sentiment here. It's a growing problem that we >>> don't have anyone focussed on writing user docs any longer - if you >>> open a ticket for docs, unfortunately you will probably need to drive >>> it for it to go anywhere. >>> >>> Kind Regards, >>> Brandon >>> >>