In 2012, the founder of GrapheneDB, Alberto Perdomo, wanted to use Neo4j for a project. The process of setting up and monitoring servers and finding a place to host it was challenging. Therefore, he decided to create GrapheneDB to make it easier for clients to focus on learning about Cypher and graph modeling in Neo4j as well as developing their applications.
Two-Phase Locking (Deadlock Detection)
GrapheneDB uses Neo4j as its graph database. Neo4j does deadlock detection and the transaction causing the deadlock is rolled back so the other transactions can continue. Neo4j allows the user to retry the transaction either by asking for the transaction to be attempted a certain number of times or through a retry loop.
GrapheneDB is a Database-as-a-Service provider that uses Neo4j. Neo4j uses non-block checkpoints, so it can be backed up as it serves user traffic. Neo4j can have daily or weekly full backups, which results in a database image on the disk. It also provides incremental backups that can be done hourly or daily. A combination of incremental and full backups allows for safety and efficiency. GrapheneDB also provides similar backups- daily, weekly, monthly, or on-demand backups. This also captures a current snapshot of the database for recovery (f needed) and doesn't require downtime.
Graphene is a Database-as-a-Service that uses Neo4j as the underlying graph database. Graph databases are effective for data that is highly related to each other data point as graph databases store data as nodes and the relationships between the nodes. Querying data that is highly related to each other is extremely fast in graph databases since relationships are stored within each node.
Neo4j uses "bit shaving" to compress the number of bits needed to store primitive types in arrays. It also has classes to limit the number of characters in each class. For example, the "Numerical, Date, and Hex" class have a 54 character count limit. This helps determine whether a string can be inlined or not, which allows for compression and less disk space required. Graphene DB uses Neo4j as its graph database and therefore also makes these compression choices when storing data.
http://www.graphenedb.com/docs
GrapheneDB Labs, S.L.
2012