Database Reference
In-Depth Information
1.6.4. Graph databases
Graph databases were designed with the view that developers often build graph-like struc-
tures in their applications but still store the data in an unnatural way, either in tables and
columns of relational databases, or even in other NoSQL storage systems. As we men-
tionedbefore,problemslikeACLlists,socialnetworks,orindeedanykindofnetworksare
natural graph problems. The graph data model is at the core of graph databases—you're
finally able to store an object model that represents graph data as a persisted graph!
This data model can naturally represent a lot of complex software requirements and the ef-
ficiency and performance of graph traversal querying are the main strengths of graph data-
bases.
1.6.5. NoSQL categories compared
Table 1.5 illustrates the use cases and representative technologies for each of the NoSQL
categories.
Table 1.5. An overview of NoSQL categories
NoSQL category
Typical use cases
Best-known technologies
• Caches
• Simple domain with fast read access
• Massively concurrent systems
• Redis
• Memcached
• Tokyo Cabinet
Key-value stores
• Cassandra
• Google BigTable
• Apache HBase
• Write on a big scale
• Colocated data access (for reading and writing)
Column-family stores
• When domain model is a document by nature
• To simplify development using natural docu-
ment data structures
• Highly scalable systems (although on a lower
level than the key-value and column-family
stores)
• MongoDB
• CouchDB
Document-oriented databases
• Neo4j
• AllegroGraph
Graph databases
• With interconnected data
 
Search WWH ::




Custom Search