home airplane power

NitrosBase

ВЫСОКОПРОИЗВОДИТЕЛЬНАЯ УНИВЕРСАЛЬНАЯ БАЗА ДАННЫХ

1 Мультимодельность

NitrosBase поддерживает множество моделей: реляционная, графовая, документо-ориентированная, ключ-значение над одним хранилищем данных.
NitrosBase позволяет производить SQL, graph-it, SPARQL, документо-ориентированные запросы над одними и теми же данными.

2 Высокая производительность

Посмотрите наши бенчмарки
Запрос 1

3 Масштабируемость

Высокопроизводительный кластер NitrosBase:

  • Поддержка sharding и sharing
  • Репликация мастер-мастер – параллельные операции записи на всех узлах
  • Распределенные запросы на всех видах данных: реляционных, графовых, документо-ориентированных, ключ-значение

4 Высокая доступность и отказоустойчивость

Есть возможность выбора уровня избыточности для конфигурирования отказоустойчивости и высокой доступности.

5 Поддержка транзакций

  • Полная ACID-совместимая неблокирующая MVCC обработка транзакций
  • Высокопроизводительные распределенные транзакции

6 Дополнительные возможности

  • Быстрые хранимые процедуры и триггеры на C++ или Dlang
  • Расширение функциональности путем добавления новых модулей на C++ или Dlang (например, новые типы индексов, лингвистика, пользовательские функции, пуш сообщения и т.д.)
  • Высокопроизводительный прямой или HTTP доступ
  • Гео-репликация между ЦОДами
  • Облачный кластер, запускающий или останавливающий виртуальные машины в соответствии с требуемой производительностью

ПРИМЕР ПРИМЕНЕНИЯ

Социальный маркетинг. Компания анализирует информационные волны для обнаружения источников информации, распространителей и центров влияния.



NITROSBASE ИДЕАЛЬНО ПОДХОДИТ ДЛЯ СТАРТАПОВ

Стартап проекты должны разрабатываться и запускаться очень быстро. REST API и JSON для работы с данными существенно облегчают эту задачу. Кроме того, схема базы данных не стабильна, она постоянно развивается по мере добавления в приложение новых и новых функциональных возможностей. Большим плюсом NitrosBase является то, что для этого не надо постоянно перепроектировать схему и осуществлять миграцию данных.

Очень важно, что NitrosBase дает возможность наискорейшим образом продвинуться от идеи до прототипа, от прототипа до MVP.


NITROSBASE ИДЕАЛЬНО ПОДХОДИТ ДЛЯ КОРПОРАТИВНЫХ РЕШЕНИЙ

NitrosBase может быть установлен поверх корпоративных Oracle и MS SQL, ускоряя наиболее критичные запросы. Кроме того, надежность, масштабируемость и распределенные транзакции NitrosBase делают эту СУБД идеальной базой данных для корпоративных решений.



ПРИМЕРЫ ПРИМЕНЕНИЯ

CRM нового поколения. MИнфраструктура современного бизнеса сложна, как никогда. Не только выросли объемы данных, но и связи между данными еще более усложнились. Это естественным образом приводит к тому, что для современных CRM систем лучше подходят графовые структуры, а не традиционные иерархические.


Электронная коммерция нового поколения. Гибкая схема данных NitrosBase делает ее незаменимой для управления информацией в рамках решений электронной коммерции. Современные интернет магазины имеют дело с большим разнообразием типов товаров. Каждый товар может иметь свою схему данных и свои связи.


Универсальная база данных

NitrosBase позволяет создавать единое хранилище для реляционных, графовых, документо-ориентированных, key-value данных. Над этими данными Вы можете выполнять SQL, graph-it, SPARQL, документо-ориентированные запросы.


Графовая схема

Совокупность данных в базе может рассматриваться как граф.

В терминах графов

  • Вершина графа является атрибутированным объектом
  • Каждая вершина имеет уникальный id и произвольный набор атрибутов
  • Каждая вершина может иметь свой собственный (отличный от других вершин) набор атрибутов
  • Ребро (связь) соединяет (связывает) объекты
  • Вершина может иметь несколько связей одного типа (связь многие ко многим)

Данные в базе NitrosBase могут быть обработаны с помощью запросов на языках graph-it (Graph Iterators Query) и SPARQL (SPARQL Protocol and RDF Query Language).

Запросы

graph-it

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

SPARQL

select ?model ?year ?name
{
  ?c a car.
  ?c model ?model.
  ?c year ?year.
  ?c owner ?owner.
  ?owner name ?name.
}

Реляционная схема

Любые данные в базе могут рассматриваться как реляционные.

С точки зрения реляционной модели

  • Каждый объект – это запись
  • Тип объекта – это имя таблицы
  • Связь – это пара ключей (первичный и внешний). По умолчанию имя связи – это имя поля внешнего ключа

Некоторые расширения NitrosBase:

  • Каждая запись может иметь свой набор полей
  • Поле внешнего ключа может иметь несколько внешних ключей – таким образом связь "многие ко многим" может быть организована без промежуточной таблицы

Вы можете использовать как SQL, так и наш проприетарный язык NBSQL, использующий именованные связи для упрощения JOIN запросов.



Запросы

SQL

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

NBSQL

select
  model, year, owner.name 
from
  car

Документо-ориентированная схема

Все данные в базе могут рассматриваться как совокупность документов.

С точки зрения документо-ориентированной модели

  • Вы можете сохранить в NitrosBase JSON документы, затем выполнять обычные операции, аналогично другим документо-ориентированным базам
  • Каждый документ – это объект, содержащий вложенные объекты
  • Объекты могут связываться с другими объектами с помощью встраивания или с помощью ссылок через ключ. Оба способа связывания реализуются как связи в терминах графов или внешние ключи с точки зрения реляционной модели
  • Имя связи является именем атрибута (который содержит или ссылается на другой объект)

Некоторые расширения NitrosBase:

  • Документ (помимо простого дерева) может содержать граф
  • Документ (встроенный или нет) может принадлежать нескольким коллекциям
  • Документ может быть встроен в несколько документов, но может обрабатываться как один документ

Запросы

JSONiq

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

JSON

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

Почему NitrosBase?

Для пользователей графовых баз данных

Графовая база данных – это наиболее эффективный способ управления связанными данными, шаблонами связей или взаимодействием между множеством единиц данных.


Что NitrosBase дает пользователям графовых баз данных:

  • Очень высокая производительность (benchmarks)
  • transactions - полностью ACID совместимые неблокирующие MVCC транзакции
  • Высокопроизводительные распределенные транзакции
  • Масштабируемость (сотни миллиардов вершин)
  • Надежность и высокая доступность корпоративных операционных баз данных

Для пользователей реляционных баз данных

SQL база данных является наилучшим решением для нагруженных транзакционных приложений, поскольку это наиболее стабильная платформа, которая обеспечивает атомарность и согласованность данных.


Что дает NitrosBase пользователям реляционных баз данных:

  • Очень высокая производительность – особенно для сложных JOIN запросов
  • Масштабируемость на уровне NoSQL систем
  • Высокопроизводительные распределенные транзакции
  • Невероятная гибкость
    • Каждая запись имеет свой собственный набор полей
    • Запись может принадлежать одновременно нескольким таблицам
    • Запись может иметь несколько внешних ключей для прямых связей "многие ко многим"
    • И многое другое ...

Для пользователей документо-ориентированных баз данных

Простая и гибкая документо-ориентированная база данных, принадлежащая новой Web эпохе, позволяет хранить данные почти в том же формате, в каком они используются в приложении (особенно, если оно написано на динамическом JavaScript).


Что NitrosBase предлагает пользователям документо-ориентированных баз данных:

  • JOINS и более сложные графовые запросы
  • Очень высокая производительность (наши бенчмарки)
  • Транзакции - полностью ACID совместимые неблокирующие MVCC транзакции
  • Высокопроизводительные распределенные транзакции
  • Повышенная гибкость
    • Быстрые апдейты дублирующихся (денормализованных) данных
    • Простота реструктуризации схемы – перемещение объекта в новые документы - почти никакой разницы между встроенным документом и документом, передаваемым по ссылке
    • Документ, и даже встроенный документ может принадлежать нескольким коллекциям
    • И многое другое ...

Примеры

Социальная сеть

Это просто. Пример демонстрирует, что NitrosBase легко установить, начать работать, создать базу данных и выполнять запросы.


И многое другое ...


Гибкая схема

Пример демонстрирует как реструктурировать базу данных без необходимости перепроектирования существующих запросов.


И многое другое ...


Связанные документы

Пример показывает, как добавить документы с внешними связями и выполнить JOIN и графовые запросы над базой документов.


И многое другое ...





Связаться с нами


lorem Исследования осуществляются
компанией NitrosData
при грантовой поддержке
фонда Сколково.

© 2017 NitrosData