Учебники

OrientDB — Основные понятия

Главная особенность OrientDB — поддержка многомодельных объектов, то есть он поддерживает различные модели, такие как Document, Graph, Key / Value и Real Object. Он содержит отдельный API для поддержки всех этих четырех моделей.

Модель документа

Терминология Модель документа принадлежит базе данных NoSQL. Это означает, что данные хранятся в Документах, а группа Документов называется Коллекцией . Технически, документ означает набор пар ключ / значение или также называется полями или свойствами.

OrientDB использует такие понятия, как классы, кластеры и ссылки, для хранения, группировки и анализа документов.

В следующей таблице показано сравнение между реляционной моделью, моделью документа и моделью документа OrientDB.

Реляционная модель Модель документа Модель документа OrientDB
Таблица Коллекция Класс или Кластер
Строка Документ Документ
колонка Пара ключ / значение Поле документа
отношения Недоступен Ссылка на сайт

Модель графика

Структура данных графа — это модель данных, которая может хранить данные в форме вершин (узлов), соединенных ребрами (дугами). Идея базы данных графа OrientDB возникла из графа свойств. Вершина и ребро являются основными артефактами модели Graph. Они содержат свойства, которые могут сделать их похожими на документы.

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

Реляционная модель Модель графика Модель графа OrientDB
Таблица Класс вершин и ребер Класс, который расширяет «V» (для вершины) и «E» (для ребер)
Строка темя темя
колонка Свойство вершин и ребер Свойство вершин и ребер
отношения край край

Модель ключ / значение

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

В следующей таблице показано сравнение реляционной модели, модели ключ / значение и модели ключ / значение OrientDB.

Реляционная модель Модель ключ / значение OrientDB Key / Value Model
Таблица ведро Класс или Кластер
Строка Пара ключ / значение Документ
колонка Недоступен Поле документа или свойство Vertex / Edge
отношения Недоступен Ссылка на сайт

Модель объекта

Эта модель была унаследована объектно-ориентированным программированием и поддерживает наследование между типами (подтипы расширяют супертипы), полиморфизм при обращении к базовому классу и прямое связывание с / на объекты, используемые в языках программирования.

В следующей таблице показано сравнение между реляционной моделью, объектной моделью и объектной моделью OrientDB.

Реляционная модель Объектная модель OrientDB объектная модель
Таблица Учебный класс Класс или Кластер
Строка объект Документ или вершина
колонка Свойство объекта Поле документа или свойство Vertex / Edge
отношения Указатель Ссылка на сайт

Прежде чем идти дальше подробно, лучше узнать основную терминологию, связанную с OrientDB. Ниже приведены некоторые важные термины.

запись

Наименьшее устройство, которое вы можете загрузить и сохранить в базе данных. Записи могут быть сохранены в четырех типах.

  • Документ
  • Запись байтов
  • темя
  • край

ID записи

Когда OrientDB генерирует запись, сервер базы данных автоматически назначает для записи идентификатор устройства, называемый RecordID (RID). RID выглядит как # <cluster>: <position>. <cluster> означает идентификационный номер кластера, а <position> означает абсолютную позицию записи в кластере.

документы

Документ является наиболее гибким типом записи, доступным в OrientDB. Документы имеют мягкую типизацию и определяются классами схемы с определенным ограничением, но вы также можете вставить документ без какой-либо схемы, т. Е. Он также поддерживает режим без схемы.

Документы могут быть легко обработаны путем экспорта и импорта в формате JSON. Например, взгляните на следующий образец документа JSON. Он определяет детали документа.

{ 
   "id"        : "1201", 
   "name"      : "Jay", 
   "job"       : "Developer", 
   "creations" : [ 
      { 
         "name"    : "Amiga", 
         "company" : "Commodore Inc." 
      }, 
		
      { 
         "name"    : "Amiga 500", 
         "company" : "Commodore Inc." 
      } 
   ] 
} 

RecordBytes

Тип записи совпадает с типом BLOB в RDBMS. OrientDB может загружать и хранить тип записи документа вместе с двоичными данными.

темя

База данных OrientDB — это не только база данных Document, но и база данных Graph. Новые концепции, такие как Vertex и Edge, используются для хранения данных в форме графика. В графовых базах данных основной единицей данных является узел, который в OrientDB называется вершиной. Vertex хранит информацию для базы данных.

край

Существует отдельный тип записи, называемый Edge, который соединяет одну вершину с другой. Края являются двунаправленными и могут соединять только две вершины. В OrientDB есть два типа ребер: один обычный, а другой легкий.

Учебный класс

Класс представляет собой тип модели данных и концепцию, взятую из парадигмы объектно-ориентированного программирования. На основе традиционной модели базы данных документов данные хранятся в форме коллекции, а в модели реляционной базы данных данные хранятся в таблицах. OrientDB следует API документа вместе с парадигмой OPPS. Как концепция, класс в OrientDB имеет наиболее тесную связь с таблицей в реляционных базах данных, но (в отличие от таблиц) классы могут быть без схемы, с полной схемой или смешанными. Классы могут наследовать от других классов, создавая деревья классов. Каждый класс имеет свой собственный кластер или кластеры (создаются по умолчанию, если они не определены).

кластер

Кластер — это важная концепция, которая используется для хранения записей, документов или вершин. Проще говоря, кластер — это место, где хранится группа записей. По умолчанию OrientDB создает один кластер для каждого класса. Все записи класса хранятся в одном кластере с тем же именем, что и класс. Вы можете создать до 32 767 (2 ^ 15-1) кластеров в базе данных.

Класс CREATE — это команда, используемая для создания кластера с определенным именем. После создания кластера вы можете использовать кластер для сохранения записей, указав имя при создании любой модели данных.

Отношения

OrientDB поддерживает два вида отношений: ссылочные и встроенные. Связанные отношения означают, что он хранит прямую ссылку на целевые объекты отношений. Встроенные отношения означают, что они хранят отношения в записи, которая их встраивает. Эти отношения сильнее, чем эталонные отношения.

База данных

База данных представляет собой интерфейс для доступа к реальному хранилищу. ИТ-специалисты понимают концепции высокого уровня, такие как запросы, схемы, метаданные, индексы и т. Д. OrientDB также предоставляет несколько типов баз данных. Для получения дополнительной информации об этих типах см. Типы базы данных.