home airplane power

NitrosBase

HIGH-PERFORMANCE UNIVERSAL DATABASE

1 Multi-model

One storage for relational, graph and JSON documents.
SQL, graph-it and document-oriented queries on the same data.

2 High performance


Запросы

3 Scalability

High-performance NitrosBase Cluster:

  • Sharding and sharing support
  • Master-master replications - parallel write operations on all nodes
  • Distributed queries on any kind of data including fast processing of distributed JOIN queries.

4 High Availability & Fault Tolerance

Fault-tolerance server performs queries without delays.

5 Transactions

  • Full ACID-compliant transactions
  • All required transaction isolation levels
  • Support of MVCC as well as row level blocking
  • High-performance distributed transactions

To NitrosBase users of RDF Storage and NitrosBase GraphDB


NitrosBase Multimodel DB is the new high-performance multimodel DBMS.

The NitrosBase Multimodel DB architecture is designed to support the relational data and SQL. At the same time, it provides extremely high performance when processing relational, graph and document data.


Support for NitrosBase RDF Storage and NitrosBase GraphDB will continue.

For all questions related to migration to NitrosBase Multimodel DB, please contact our technical support team and we will help you.


Multi-model Database

NitrosBase allows you to create a single storage for relational data, graphs and JSON documents. You can execute SQL, graph-it and JSON queries on these data.

Relational model

NitrosBase supports the relational model. The data are stored in tabular form.
The query language is SQL (see "SQL Supprt")


Schema

Запросы

SQL query

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

Graph data processing

To process graph data, specialized structures represent graph edges. Graph nodes are the records in relational tables. Foreign Key -> Primary Key relations are automatically visible as graph edges. Intermediate tables for many-to-many relationships are also visible as graph edges.

Special structures representing graph edges significantly accelerate the graph queriy processing as well as SQL JOIN queries that use FK-> PK relationships and intermediate tables.


Запросы

To handle graphs, the specialized graph language Graph-SQL is used. But as soon as graph can be presented as relational data, SQL can also be used for simple queries on graph data.


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 data are automatically presented in the form of records and links, reflecting the nesting of objects or the links between objects.


JSON документ

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

When adding this document, it is automatically presented in relational form as a set of records in different tables, as well as as part of a graph.


Запросы

To process the data obtained in the form of JSON, you can use the same SQL and graph-it queries presented above.

Roadmap

The next key development steps:

  • High-performance and reliable transactions - spring-summer 2020
  • Stored Procedures, Functions, and Triggers - summer-fall 2020

Also during 2020 it is expected:

  • Development of SQL support for compatibility with MS SQL
  • Further query optimization
  • Development of administration and monitoring system
  • ODBC driver development and development of additional drivers and interfaces

lorem

Research is carried out
by NitrosData
with grant support from
the Skolkovo Foundation.

Contact us

Tech support: support@nitrosbase.com

© 2017-2020 NitrosData

This website uses cookies to give you the best possible user experience. By continuing to use the website without changing your browser settings you agree to the use of cookies. For further information on cookies, please read our privacy policy Agree