Once upon a time the implication of ‘nosql’ was ‘not SQL’, but these days it would be more accurate to characterize it as ‘not only SQL’.
‘schemaless’ also can be interpreted a little flexibly. In a relational database structure, you can think of ‘schema’ (with respect to tables) as meaning means two things: how a table is structured, and that each row in that table obeys that structure. In C* and DynamoDB the first notion remains true, because we declare the structure. However the storage representation is more fluid so individual rows depend on which attributes have actually been stored; what the rows contain will obey some part of the schema, but they may not contain everything that was declared in the schema. This is a more structured notion than you get with things that are document stores, e.g. elasticsearch. Those are more schemaless, but sometimes that can feel like a shell game. You declare indexes based on your expectations, and if the data doesn’t meet your expectations, you won’t find it. So people work to make their data meet the expectations. If the data is designed to meet the expectations and the machinery using it is configured with the expectations, talking about things being schemaless nudges towards being a word game to hide something which is trying to behave isomorphically. You can find that you wind up in a similar place in the end, just with tools that are less computationally efficient. From: Russell Spitzer <russell.spit...@gmail.com> Reply-To: "user@cassandra.apache.org" <user@cassandra.apache.org> Date: Sunday, December 15, 2019 at 9:53 PM To: user <user@cassandra.apache.org> Subject: Re: Is cassandra schemaless? Message from External Sender Cassandra is not schemaless. Not all nosql databases are schemaless either, the term is a little outdated since many nosql databases now support some or all of ansi SQL. Cassandra does not though, just a very limited subset called CQL On Sun, Dec 15, 2019, 8:04 PM lampahome <pahome.c...@mirlab.org<mailto:pahome.c...@mirlab.org>> wrote: I read some difference between nosql and sql, and one obvious differences is nosql supporting schemaless. But I try it in cassandra and get result not like that. Ex: cqlsh:key> Create table if not exists yo (blk bigint primary key, count int); cqlsh:key> insert into yo (blk, count, test) values (2,4,'123'); It shows message="Undefined column name test" So cassandra isn't schemaless?