A few days ago I read about the wide format stored type NoSql and exclusively Apache-Cassandra. I understand that Kassandra consists of:
Key space (for example, a database in relational databases) and support for many families of columns or tables (same as a table in relational databases) and unlimited rows.
From the Stackoverflow tags:
Extensive column storage is a type of key database. It uses tables, rows, and columns, but unlike a relational database, the names and format of columns can vary from row to row in the same table.
In Cassandra, all rows (in a table) must have a row key, then each row key can have multiple columns. I read about the differences in the implementation and storage of relational database data and NoSql (Cassandra).
But I do not understand the difference between the structure:
Imagine a scenario in which I have a table (or a column family in Cassandra):
When I execute a query (Cql) as follows:
Select * from users;
It gives me the result, as you can see:
lastname | age | city | email
----------+------+---------------+----------------------
Doe | 36 | Beverly Hills | janedoe@email.com
Jones | 35 | Austin | bob@example.com
Byrne | 24 | San Diego | robbyrne@email.com
Smith | 46 | Sacramento | null
Jones2 | null | Austin | bob@example.com
Therefore, I execute the above script in a relational database (MsSql) with a hit request:
select * from [users]
And the result:
lastname age city email
Doe 36 Beverly Hills janedoe@email.com
Jones 35 Austin bob@example.com
Byrne 24 San Diego robbyrne@email.com
Smith 46 Sacramento NULL
Jones2 NULL Austin bob@example.com
I know that Cassandra supports a dynamic column, and I can accomplish this using sth like:
ALTER TABLE users ADD website varchar;
But it is available in the relational model, for example, in mssql the above code can also be implemented. Sth like:
ALTER TABLE users
ADD website varchar(MAX)
, .
Cassandra (lastname) , , (, ID ) mssql ( ), , Cassandra ( varchar), , Stackoverflow.
, :
?!
, ?! , .
- ( Json), , Cassandra ? (, , Cassandra.)
, .