One of the most promising areas in the world of NoSQL - graphs based storage and processing system which based on the theory of graphs. Neo4J - is, perhaps, the most popular Graph database at the moment. It provides high performance data storage and working with graphs, using various Java APIs and declarative query language Cypher.
Adobe, Cisco, classmates.com, Deutsche telecom and many others are using Neo4J.
17. Neo4J: CHARACTERISTICS
true ACID transactions;
scales to billions of nodes and relationships;
high speed querying through traversals;
declarative graph query language;
25. Neo4J: CYPHER
MATCH
(p1:Person)-[x:RATED]->(m:PRODUCT)<-[y:RATED]-
(p2:Person)
WITH
SUM(x.rating * y.rating) AS xyDotProduct,
SQRT(REDUCE(xDot = 0, a IN COLLECT(x.rating) | xDot + a^2))
AS xLength, SQRT(REDUCE(yDot = 0, b IN COLLECT(y.rating) |
yDot + b^2)) AS yLength, p1, p2
CREATE UNIQUE
(p1)-[s:SIMILARITY]-(p2)
SET
s.similarity = xyDotProduct / (xLength * yLength)
26. Alternatives
• GO
• RESTful API
• Built-in query editor and visualizer
• back-end's: LevelDB, MongoDB
• modularity
• No native storage(
• Very raw(