Different Categories of NOSQL Systems?
Share
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
1. Document stores:
•Document-based NOSQL systems store data as collections of similar documents.
• Resemble complex objects
• Do not require to specify a schema, but are specified as self-describing data
• Each document can have different data elements (attributes)
• Can be specified in various formats, such as XML or JSON (JavaScript Object Notation)
• Are accessible via their document id
Examples: Mongo DB
2. Key-value stores:
• Every data item (value) must be associated with a unique key
• Retrieving the value by supplying the key must be very fast
• Value-
1. Can have very different formats for different key-value storage systems:
2. String / array of bytes: the application using the key-value store has to interpret the structure of the data value
3. Structured data rows (tuples) similar to relational data
4. Semi structured data using a self-describing data format
Example: Amazon Dynamo DB, Project Voldemort
3. Wide column stores:
A wide column store is a type of key-value database. It uses tables, rows, and columns, but unlike a relational database, the names and format of the columns can vary from row to row in the same table.
Working Principle-
• Vertical partitioning – tables are partitioned by column into column families
• Each column family is stored in its own files
• Versioning of data values is allowed
• The key is multidimensional (in contrast to key-value stores)
Examples: Google distributed storage system (BigTable), Apache Hbase
4. Graph-Databases:
Data is organized as a graph, which is a collection of nodes, relationships, and properties.
Node-
• Can contain properties
• Can contain labels, which groups nodes with the same label into subsets for querying purposes
Relationship-
• Is directed, each relationship has a start node and an end node
• Can contain properties
• Has a relationship type, which helps to identify similar relationship types for querying purposes
Properties-
Store the data items associated with nodes and relationships as list of key-value pairs
Example: Neo4j
5. Hybrid Systems:
Hybrid SQL‐NoSQL database solutions combine the advantage of being compatible with many SQL applications and providing the scalability of NoSQL ones.
Example: Xeround