Aggregate Data Model in NoSQL
We know, NoSQL are databases that store data in another format other than relational databases. NoSQL deals in nearly every industry nowadays. For the people who interact with data in databases, the Aggregate Data model will help in that interaction.
Features of NoSQL Databases:
- Schema Agnostic: NoSQL Databases do not require any specific schema or s storage structure than traditional RDBMS.
- Scalability: NoSQL databases scale horizontally as data grows rapidly certain commodity hardware could be added and scalability features could be preserved for NoSQL.
- Performance: To increase the performance of the NoSQL system one can add a different commodity server than reliable and fast access of database transfer with minimum overhead.
- High Availability: In traditional RDBMS it relies on primary and secondary nodes for fetching the data, Some NoSQL databases use master place architecture.
- Global Availability: As data is replicated among multiple servers and clouds the data is accessible to anyone, this minimizes the latency period.
Aggregate Data Models:
The term aggregate means a collection of objects that we use to treat as a unit. An aggregate is a collection of data that we interact with as a unit. These units of data or aggregates form the boundaries for ACID operation.
Example of Aggregate Data Model:
Here in the diagram have two Aggregate:
- Customer and Orders link between them represent an aggregate.
- The diamond shows how data fit into the aggregate structure.
- Customer contains a list of billing address
- Payment also contains the billing address
- The address appears three times and it is copied each time
- The domain is fit where we don’t want to change shipping and billing address.
Consequences of Aggregate Orientation:
- Aggregation is not a logical data property It is all about how the data is being used by applications.
- An aggregate structure may be an obstacle for others but help with some data interactions.
- It has an important consequence for transactions.
- NoSQL databases don’t support ACID transactions thus sacrificing consistency.
- aggregate-oriented databases support the atomic manipulation of a single aggregate at a time.
- It can be used as a primary data source for online applications.
- Easy Replication.
- No single point Failure.
- It provides fast performance and horizontal Scalability.
- It can handle Structured semi-structured and unstructured data with equal effort.
- No standard rules.
- Limited query capabilities.
- Doesn’t work well with relational data.
- Not so popular in the enterprise.
- When the value of data increases it is difficult to maintain unique values.