Database Reference
In-Depth Information
Additional features : Easy integration with MapReduce/Hadoop. The commercial version,
called Enterprise DS, also supports replication across data centers (the open source version
supports replication only within a single data center), a web console, and Simple Network
Management Protocol (SNMP) support.
Graph Databases
Graph databases present another alternative to the relational data model. You can think of a
graph as a network. Instead of storing data in tables or columns, graph databases use three basic
constructs to represent data: nodes, edges, and properties. In the graph database world, a node
is a standalone, independent object that doesn't depend on anything else. An edgeis an object
that depends on the existence of two nodes. Propertiesare straightforward: they're the attributes
of a node. For example, a person node might have a name property and an email property. Both
nodes and edges can have associated properties.
Figure A-1 shows a graph database with five nodes and five edges. The edges describe a variety
of relationships, but in this example, each has only a single property of the edge name. We
can see that one of the edges is bidirectional. Each node in this example has a single property
(“name”), but they could all have a variety of additional properties. One nice thing about a graph
database is that it's “whiteboard friendly”; that is, the data model looks like how we often think
when mapping things out at the whiteboard, and we don't need additional translation steps to
make the data fit our database's constraints.
Graph databases differ from other nonrelational offerings such as key-value stores in that they
represent the edges as first-class citizens, and not just the nodes. That is to say that whereas many
programming languages and databases we're used to allow us to infer a relationship, the relation-
ship itself is only indirectly represented (say, via a foreign key relation or a pointer). In graph
databases, the relationships are given equal status with the nodes, as the relationship between
the nodes is considered central to certain use cases. For example, graph databases have become
more popular in recent years because they readily map to the social web domain and perform
very well for the kinds of queries required in Web 2.0 social networking applications, where the
relationships are really the point of the whole endeavor. A second important and growing use
case for graph databases is the Semantic Web, where predicates are given equal status to subjects
and objects in a triple.
Search WWH ::




Custom Search