Главная особенность 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 также предоставляет несколько типов баз данных. Для получения дополнительной информации об этих типах см. Типы базы данных.