Download

A link with installation instructions will be sent to your email address.

MamBase Research Ltd
Israel

PO Box 2527,
53 Shenkar st.,
Holon 58125, Israel
Phone: +972 53 303-3903

SuperGraph BV
Netherlands


Zwemmerslaan 9
2036 KA Haarlem
Phone: +31 6 1500 6507

Ok

MamBase
High-performance universal database for modern IT solutions:

Support for relational, graph and document data models
High performance on any data model
Scalability, reliability

MamBase and Neo4j performance сomparison

Database query execution time (milliseconds)

  • d1
  • d2
  • d3
  • d4
  • d5

The results have been verified by an independent system integrator

Neo4j
MamBase

Versatility

  • Relational (SQL), graph (Graph-SQL) and documentary (JSON) data processing.
  • Fast response on all data models.
  • SQL, Graph-SQL and JSON queries to the same data.
  • Mapping built into the core allows for data translation between the models.

Scalability, reliability

  • High-performance MamBase cluster
  • High-performance distributed queries on any data: distributed graph, relational JOIN queries
  • High availability and fault tolerance
  • Fault-tolerance server keeps the queries running when some of the cluster nodes fail

Architecture

MamBase supports a single repository for relational data, graphs and JSON documents. You can perform SQL, Graph-SQL and JSON queries on the same data.

Relational model

The MamBase architecture is designed to support the relational data model and SQL. Relational model represents data in tabular form.

image1
SQL query

select
   model, year, name
from
   car join person on
   car.owner = person.id

Graph model

Specialized structures are designed to represent graph data. When mapping graph data, the nodes are records in the relational tables. Relational links Foreign Key -> Primary Key can automatically be interpreted as the graph edges. The intermediate tables for many-to-many relationships are also visible as graph edges. Special indices significantly accelerate the graph query processing, as well as SQL JOIN operations.

image2

The Graph-SQL language is developed for graph data processing. But since the graph can also be presented as relational data, SQL can be used for graph data queries.

Graph-SQL query

SELECT p1.name, p2.name as friendname, c1.model
MATCH (car c1)-[owner]->(person p1)-[friends]->(person p2)<-[owner]-(car c2)
WHERE c1.model = c2.model
SQL query

SELECT p1.name, p2.name as friendname, c1.model

FROM car c1
      join person p1 on c1.owner = p1.id
      join friends f on f.fromid = p1.id
      join person p2 on f.toid = p2.id
      join car c2 on c2.owner = p2.id
WHERE c1.model = c2.model

JSON documents

JSON documents are automatically represented as records and relationships reflecting the nesting of objects or relationships between objects.

image4

When you add this document, it is automatically presented in a relational form as a set of records in some tables, and also as part of a graph.

The same SQL and Graph-SQL queries can be used to process data received as JSON..

JSON document

{
  "type":"car",
    "id":1,
    "model": "Chevrolet",
    "owner": {
        "type": "person",
        "id": 1,
        "name": "John",
        "city": "London",
        "friends": [ 2, 3 ]
    }
}