Jepsen: Scylla 4.2-rc3
TL;DR: Pay lots of attention before choosing C* or scylla. only use the most basic stuff, don&#x27;t work on near-realtime. More pifalls than the number of seconds those software have been out.<p>Every time I see people talking about cassandra or scylla I am reminded of the huge pains and pitfalls of what feels like hacked-together solutions that were built on a very shaky theory.<p>I worked only 2 years on systems that used cassandra and scylla (both on dev and ops side). About 7TB total.<p>I admit they are very fast, provided you do proper continuous maintenance and that your application goes out of the way to conform to the database (absolutely not the other way around)<p>The only safe use of these 2 software is basically:  
1) add new unique rows (no updates)  
2) <i>much later</i> (granted only after repairs, which take a real lot) you can read, but only up to a certain time in the past.  
3) basically almost avoid deleting<p>Anything else, and you are in the realm of cases and special cases.<p>You can&#x27;t trust errors, your operation might have been applied anyway. LWT terribly slow, limited and you should not run more than a very limited number of them.<p>It&#x27;s full of features that are added, then the cassandra guys realize that it really does not work, in both theory and practice, and than they deprecate those a few releases later.<p>Compared to SQL, it feels worse than navigating blind on a minefield of special cases.<p>The CQL language does not help. Only use the very basics of the language, otherwise it&#x27;s a constant game of:  
This is the rule  
&#x2F; With This exception  
&#x2F; Unless you also have This  
&#x2F; Except That  
&#x2F; but it works again with X<p>and on and on.<p>It&#x27;s like they had a very basic, specific use case, and went to build a ton of features that don&#x27;t stack on top of it.<p>Like adding full SQL on top of redis, but worse.