home airplane power

NitrosBase

HIGH-PERFORMANCE UNIVERSAL DATABASE

1 Multi-model

Enables one storage for relational, graph, document and key-value data.
Capable of SQL, GraphIQ, SPARQL, document-oriented queries to the same data.

2 High-performance

Learn more about NitrosBase benchmarks
Query 1 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: relational, graph, documents and key-value data

4 High Availability & Fault Tolerance

You can choose redundancy level to have fault tolerance or high availability.

5 Transactions

  • Full ACID-compliant non-blocking MVCC transaction processing
  • High-performance distributed transactions

6 More features

  • Fast C++ or Dlang stored procedures and triggers
  • Extend functionality by adding new C++ or Dlang modules (for example, new types of indices, linguistics, user defined functions, push messages etc.)
  • High performance direct or HTTP access
  • Geo replications between data centers
  • Cloud Cluster that automatically starts and stops virtual machines according to required performance

USE CASE

Social Marketing. A company wants to analyze information waves to detect information sources, redisseminators and centers of influence.



IDEAL FOR STARTUP PROJECTS

Startup projects must get up and running quickly. Flexible schema, REST API and JSON for data made things easier. Also, database schema is constantly evolving as you're adding more & more features to the app, so not having to do schema migrations is a big plus.

Moving as quickly as possible from idea to prototype, and then from prototype to MVP is critical.


IDEAL FOR ENTERPRISE SOLUTIONS

NitrosBase can stay over Oracle or MS SQL accelerating the most critical queries. Also, the reliability, scalability, and distributed transactions of NitrosBase make it an ideal database for Enterprise Solutions.



USE CASES

New-era CRM. Modern business infrastructure is more complicated than ever. Not only is there more data, the relationships between data are even more complicated. That naturally leads to the fact that modern CRM systems deal with graph structure rather than simple hierarchy.


New-era e-commerce. NitrosBase's flexible schema makes it well suited to storing information for product data management and e-commerce websites and solutions. Modern Internet stores deal with a wide variety of product types. Each product may have different data and relations schema.


Universal Database

storageNitrosBase allows you to create one storage for relational, graph, document and key-value data. You can perform SQL, GraphIQ, SPARQL, and document-oriented queries to the same data.



GRAPH SCHEMA

Any data in a database can be considered as a large graph.


IN TERMS OF GRAPH

  • Graph vertex is an object with properties
  • Each vertex has a unique id and an arbitrary of properties
  • Each vertex may have its own set of properties
  • An edge links objects
  • Vertex may have several links of the same type (many to many relation)

QUERIES

NitrosBase data can be queried with GraphIQ (Graph Iterators Query) and SPARQL (SPARQL Protocol and RDF Query Language).


GraphIQ

v(auto)
  .get(model, year)
  .out(owner).get(name)
  .select(model, year, name)

SPARQL

select ?model ?year ?name
{
  ?a a auto.
  ?a model ?model.
  ?a year ?year.
  ?a owner ?owner.
  ?owner name ?name.
}

RELATIONAL SCHEMA

Any data in a database can be considered as relational data.


IN TERMS OF RELATIONAL MODEL

  • Each object is a record
  • Object type is a table name
  • Link is a pair of keys (primary and foreign key), by default, link name is the name of a foreign key field

Some NitrosBase extensions:

  • Each record may have its own set of fields
  • Foreign key field is able to contain several foreign keys - so "many to many" link can be arranged without intermediate table

QUERIES

You can use SQL or our proprietary NBSQL that uses named links to simplify JOIN queries.


SQL

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

NBSQL

select
    model, year, owner.name 
from
    auto

DOCUMENT SCHEMA

All data in a database can be considered as a set of documents.


IN TERMS OF DOCUMENTS

  • You can store JSON documents and perform regular operations on them like in other document oriented databases
  • Each document is an object containing embedded objects
  • Objects can be linked to another object via embedding or referencing it by a key. Both embedding and referencing are links in terms of graphs or relations from the relational point of view
  • Link name is a property name (which contains or references another object)

Some NitrosBase extensions:

  • Document (besides a simple tree ) may contain a graph
  • Document (embedded or not) may belong to several collections
  • Document may be embedded into several documents but you can access and update it as one object

QUERIES


JSONiq

for $a in collection('auto') 
return {
  model : $a.model,
  year : $a.year,
  owner : 
    collection('person')
      [$$.id eq $a.owner].name
}

JSON

db.auto.find( {},
  {
     model:model, 
     year: year, 
     name: owner.name 
  })

Samples

SOCIAL NETWORK SAMPLE

It is as simple as ABC. The sample shows that NirtosBase is easy to install, start, create a database, and perform queries.


more...

FLEXIBLE SCHEMA

This sample shows how to restructure the database without the need to redesign the existing queries.


more...

LINKED DOCUMENTS

The sample demonstrates how to add the documents with external relations and perform JOIN and Graph queries to a document database.


more...

Why NitrosBase?

FOR GRAPH DATABASE USERS

A Graph database is the most efficient way of looking for relationships between data items, patterns of relationships, or interactions between multiple data items.


What NitrosBase offers to graph database users:

  • very high-performance (benchmarks)
  • transactions - full ACID compliant non-blocking MVCC
  • high-performance distributed transactions
  • scalability (hundreds of billions of vertices)
  • reliability & high-availability of enterprise scale OLTP systems

FOR RELATIONAL DATABASE USERS

SQL database is the best solution for a heavy duty transactional application, since it is most stable and claims data atomicity and integrity


What NitrosBase offers to RDBMS users:

  • very high-performance - especially for complex join queries
  • scalability at the level of NoSQL systems
  • high-performance distributed transactions
  • incredible flexibility
    • each record may have its own set of fields
    • record may belong to several tables simultaneously
    • record may have several foreign keys for direct many-to many relations
    • and many others ...

FOR DOCUMENT DATABASE USERS

New Web-era simple and flexible document-oriented database allows you to store data in nearly the same format as it appears in your program (especially coded on dynamic JavaScript).


What NitrosBase offers to document database users:

  • JOINS and more complex graph queries
  • very high-performance (benchmarks)
  • transactions - full ACID compliant non-blocking MVCC
  • high-performance distributed transactions
  • increase in flexibility
    • fast automatic update of duplicated (denormalized) data
    • simple restructure schema - recombine object to new documents- it is almost no difference between embedded or referenced objects
    • documents and even embedded document may belong to several collections
    • more ...

© 2017 NitrosData