And this was where a new evolution of data models began: This section is devoted to the basic principles of No SQL data modeling.
Denormalization can be defined as the copying of the same data into multiple documents or tables in order to simplify/optimize query processing or to fit the user’s data into a particular data model.
Next, we discover that different types of products have different attributes like Author for Book or Length for Jeans.
Some of these attributes have a one-to-many or many-to-many nature like Tracks in Music Albums.
No SQL databases are often compared by various non-functional criteria, such as scalability, performance, and consistency.
This aspect of No SQL is well-studied both in practice and theory because specific non-functional properties are often the main justification for No SQL usage and fundamental results on distributed systems like the CAP theorem apply well to No SQL systems.
For example, Jeans attributes are not consistent across brands and specific for each manufacturer.In some cases one can achieve transactional behavior using distributed locks or application-managed MVCC, but it is common to model data using an Aggregates technique to guarantee some of the ACID properties.One of the reasons why powerful transactional machinery is an inevitable part of the relational databases is that normalized data typically require multi-place updates.It is possible to overcome all these issues in a relational normalized data model, but solutions are far from elegant.Soft schema allows one to use a single Aggregate (product) that can model all types of products and their attributes: Applicability: Key-Value Stores, Document Databases, Big Table-style Databases Joins are rarely supported in No SQL solutions.