graph database: All content tagged as graph database in NoSQL databases and polyglot persistence
Sir Tim Berners-Lee:
Inventing the World Wide Web involved my growing realization that there was a power in arranging ideas in an unconstrained, web-like way. And that awareness came to me through precisely that kind of process.
Let’s think how the different data models require us to arrange data:
- hierarchical model: free form, single-type of relationship (parent-child)
- relational model: strict form, (limited) multiple-types of relationships
- document model: free form, dual relationship types: logical and hierarchical
- star schema: strict form, (limited) multiple-types of relationships
Now think about graph databases: free form (nodes can have any number of properties), unlimited number of uni/bi-directional relationships. So question is, why aren’t network/graph databases used more these days?
Original title and link: Graph Databases and the World Wide Web ( ©myNoSQL)
I’m starting to catch up with the news after my sabatical month and it turns out things didn’t stay still during this period. While there are quite a few very important things that have happened during October, I’d like to bring up two very interesting ones that mark a possible turn in the NoSQL databases world.
The first insolvency/bankruptcy in the market.
This is an unfortunate validation of my thoughts about Graph Databases market penetration. sones GmbH has never been a market leader, but they could have tried to focus on a niche segment of the graph database emerging market and while that wouldn’t necessarily transform the company in a huge success, it would have probably gave it more time to refine the product and expand.
Update: Daniel Kirstenpfad (CTO, sones GmbH) reached out to me with some clarifications:
Achim Friedland was at a point in time the development lead of sones and in that position responsible for leading the developer team. He never was CTO of sones.
sones is not insolvent but rather is under preliminary bankrupty administration with the goal to arrive at a solution for continuation of product and company
I’m starting to notice a shift in the (marketing) message of a couple of NoSQL companies towards Enterprise NoSQL. I’m not yet sure what enterprise NoSQL means though: targeting enterprise customers, large scale NoSQL deployments, expensive NoSQL product and services packages, etc..
Whatever this terms means, I take it as a sign of: a) the market becoming too busy; b) growing competition for paying customers ; c) investors looking for clear validations of their investments.
What I hope this does not mean is the start of the unhealthy, unfriendly, and dirty competition. This market segment has greatly benefitted from a friendly environment in which all contenders have been pushing their products forward while working together to popularize and bring awareness to the polyglot persistence philosophy.
Original title and link: Two Important Events in the NoSQL World ( ©myNoSQL)
In case you were wondering how some problems Hadoop and MapReduce are not best at solving, there’s a great Q&A on Quora.com:
MapReduce is good at distributed computing, but not for graph algorithms. Is there a general-use, highly-distributed open source graph framework? I’m especially interested in hearing about in-practice use cases, and how good/bad they were.
Ankur Dave’s answer is quite compehensive, listing 5 specialized solutions and 3 generic frameworks:
- Golden Orb
I was not aware of all these solutions, so more to read for me.
Original title and link: What Are Some Good MapReduce Implementations for Graphs? ( ©myNoSQL)
Emil Eifrem (Neo4j) in an interview for StartUpBeat answering a question about the competition in the graph databases space (my emphasis):
There’s a lot of movement around alternative databases today and a lot of companies in NOSQL like MongoDB, Couchbase and Cassandra. However, when we’re out in the field and talking to customers, our actual competitors are in-house custom-built solutions.
This answer made me think that:
- Neo4j is the by far the graph databases market leader. And I’m not sure there’s a second place (InfiniteGraph maybe?).
- graph databases are still either unknown in many environments or perceived as niche solutions.
If I’d be a graph database producer, I’d not worry much about my product rank in the market. But I’d definitely be concerned about the current market size and graph databases market penetration in general.
Original title and link: Graph Databases Market Penetration ( ©myNoSQL)
Published by a group from Los Alamos National Lab (Hristo Djidjev, Gary Sandine, Curtis Storlie, Scott Vander Wiel):
We propose a method for analyzing traffic data in large computer networks such as big enterprise networks or the Internet. Our approach combines graph theoretical representation of the data and graph analysis with novel statistical methods for discovering pattern and timerelated anomalies. We model the traffic as a graph and use temporal characteristics of the data in order to decompose it into subgraphs corresponding to individual sessions, whose characteristics are then analyzed using statistical methods. The goal of that analysis is to discover patterns in the network traffic data that might indicate intrusion activity or other malicious behavior.
The embedded PDF and download link after the break.
A nice intro to Gremlin, the Groovy-based graph traversal language supporting Neo4j, OrientDB, DEX, RDF Sail, TinkerGraph, and ReXster:
Original title and link: An Intro to Gremlin the Graph Traversal Language ( ©myNoSQL)
“We tried using NoSQL, but we are moving to Relational Databases because they are easier…”
This is how Oren Eini starts his post about RavenDB support for multi-document transactions and the lack of it from MongoDB:
- For a single server, we support atomic multi document writes natively. (note that this isn’t the case for Mongo even for a single server).
- For multiple servers, we strongly recommend that your sharding strategy will localize documents, meaning that the actual update is only happening on a single server.
- For multi server, multi document atomic updates, we rely on distributed transactions.
In the NoSQL space, there are a couple of other solutions that support transactions:
- Google Megastore
- Redis has two mechanisms that come close to transactions: MULTI/EXEC/DISCARD and pipelining —this one is exemplified in this Redis based triplestore database implementation
- many of the graph databases (Neo4j, HyperGraphDB, InfoGrid)
If you look at these from the perspective of distributed systems, the only distributed ones that support transactions are Megastore and RavenDB. There’s also VoltDB which is all transactions. Are there any I’ve left out?
Original title and link: Multi-Document Transactions in RavenDB vs Other NoSQL Databases (NoSQL database©myNoSQL)
I’m no lawyer but I think this means you can use Sones GraphDB without having to open source your product even if commercial. And because the way you interact with Sones GraphDB is through its connectors it doesn’t matter anymore what the core graph database license is.