Data Modeling Process
Learn the underlying goals/objectives and steps of Apache Cassandra data modeling process, and how it compares to the conventional approach used in relational databases.
Data modeling in RDBMS vs. Apache Cassandra
In traditional RDBMS, data modeling is entity-driven and table-centric. Normalized tables hold data with foreign keys referencing related data in other tables. Queries are impacted by the organization and structure of tables and the use of table joins. Referential integrity is enforced by the database.
In contrast, Cassandra’s data modeling is query-driven and query-centric. A table is designed to fulfill a query or a set of queries. Cassandra does not support table joins, and a query must only access a single table, resulting in very fast reads. Thus, Cassandra tables are denormalized and contain all the data (one or more entities) that a query requires. Multiple queries for a single entity, and each query backed by a separate table, result in entity data being duplicated across multiple tables.
Get hands-on with 1300+ tech skills courses.