OrientDB - Основные понятия
Основной особенностью OrientDB является поддержка многомодельных объектов, то есть он поддерживает различные модели, такие как документ, график, ключ / значение и реальный объект. Он содержит отдельный API для поддержки всех этих четырех моделей.
Модель документа
Терминология «Модель документа» относится к базе данных NoSQL. Это означает, что данные хранятся в документах, а группа документов называетсяCollection. Технически документ означает набор пар ключ / значение, также называемый полями или свойствами.
OrientDB использует такие концепции, как классы, кластеры и ссылки для хранения, группировки и анализа документов.
В следующей таблице показано сравнение реляционной модели, модели документа и модели документа OrientDB.
Реляционная модель | Модель документа | Модель документа OrientDB |
---|---|---|
Стол | Коллекция | Класс или кластер |
Строка | Документ | Документ |
Столбец | Пара ключ / значение | Поле документа |
Отношения | Недоступен | Ссылка |
Модель графа
Структура данных графа - это модель данных, которая может хранить данные в виде вершин (узлов), связанных между собой ребрами (дугами). Идея графической базы данных OrientDB пришла из графа свойств. Вершина и ребро - главные артефакты модели Graph. Они содержат свойства, которые могут сделать их похожими на документы.
В следующей таблице показано сравнение между графовой моделью, реляционной моделью данных и графовой моделью OrientDB.
Реляционная модель | Модель графа | Модель графика OrientDB |
---|---|---|
Стол | Класс вершины и ребра | Класс, расширяющий "V" (для вершины) и "E" (для ребер) |
Строка | Вершина | Вершина |
Столбец | Vertex and Edge свойство | Vertex and Edge свойство |
Отношения | Край | Край |
Модель ключ / значение
Модель «ключ / значение» означает, что данные могут храниться в форме пары «ключ / значение», где значения могут быть простых и сложных типов. Он может поддерживать документы и элементы графиков как значения.
В следующей таблице показано сравнение реляционной модели, модели «ключ / значение» и модели «ключ / значение» OrientDB.
Реляционная модель | Модель ключа / значения | Модель ключа / значения OrientDB |
---|---|---|
Стол | Ведро | Класс или кластер |
Строка | Пара ключ / значение | Документ |
Столбец | Недоступен | Поле документа или свойство Vertex / Edge |
Отношения | Недоступен | Ссылка |
Объектная модель
Эта модель унаследована от объектно-ориентированного программирования и поддерживает Inheritance между типами (подтипы расширяют супертипы), Polymorphism когда вы ссылаетесь на базовый класс и Direct binding from / to Объекты, используемые в языках программирования.
В следующей таблице показано сравнение реляционной модели, объектной модели и объектной модели OrientDB.
Реляционная модель | Объектная модель | Объектная модель OrientDB |
---|---|---|
Стол | Класс | Класс или кластер |
Строка | Объект | Документ или вершина |
Столбец | Свойство объекта | Поле документа или свойство Vertex / Edge |
Отношения | Указатель | Ссылка |
Прежде чем углубляться в детали, лучше узнать основную терминологию, связанную с OrientDB. Ниже приведены некоторые важные термины.
Запись
Наименьший блок, который вы можете загрузить и сохранить в базе данных. Записи могут храниться четырех типов.
- Document
- Запись байтов
- Vertex
- Edge
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 в СУБД. OrientDB может загружать и сохранять документ Тип записи вместе с двоичными данными.
Вершина
База данных OrientDB - это не только база данных документов, но и база данных Graph. Новые концепции, такие как Vertex и Edge, используются для хранения данных в форме графа. В графовых базах данных самой базовой единицей данных является узел, который в OrientDB называется вершиной. Vertex хранит информацию для базы данных.
Край
Существует отдельный тип записи, называемый Edge, который соединяет одну вершину с другой. Ребра двунаправлены и могут соединять только две вершины. В OrientDB есть два типа ребер: обычные и легкие.
Класс
Класс - это тип модели данных и концепция, взятая из парадигмы объектно-ориентированного программирования. Основываясь на традиционной модели базы данных документов, данные хранятся в форме коллекции, тогда как в модели реляционной базы данных данные хранятся в таблицах. OrientDB следует API документов вместе с парадигмой OPPS. По идее, класс в OrientDB имеет наиболее тесную связь с таблицей в реляционных базах данных, но (в отличие от таблиц) классы могут быть без схемы, с полной схемой или смешанными. Классы могут наследовать от других классов, создавая деревья классов. У каждого класса есть свой кластер или кластеры (создаются по умолчанию, если они не определены).
Кластер
Кластер - это важное понятие, которое используется для хранения записей, документов или вершин. Проще говоря, кластер - это место, где хранится группа записей. По умолчанию OrientDB создает по одному кластеру для каждого класса. Все записи класса хранятся в одном кластере с тем же именем, что и класс. В базе данных можно создать до 32 767 (2 ^ 15-1) кластеров.
Класс CREATE - это команда, используемая для создания кластера с определенным именем. После создания кластера вы можете использовать кластер для сохранения записей, указав имя во время создания любой модели данных.
Отношения
OrientDB поддерживает два типа отношений: ссылочные и встроенные. Referenced relationships означает, что он хранит прямую ссылку на целевые объекты отношений. Embedded relationshipsозначает, что отношения хранятся в записи, в которую они включены. Эта связь сильнее эталонной.
База данных
База данных - это интерфейс для доступа к реальному хранилищу. ИТ-отдел понимает высокоуровневые концепции, такие как запросы, схемы, метаданные, индексы и т. Д. OrientDB также предоставляет несколько типов баз данных. Дополнительные сведения об этих типах см. В разделе Типы баз данных.