OrientDB基本概念
OrientDB的主要特点是支持多模型对象,即它支持不同的模型,如文档,图形,键/值和真实对象。 它包含一个单独的API来支持所有这四个模型。
文档模型
术语Document模型属于NoSQL数据库。 这意味着数据存储在文档中,文档组称为集合。 技术上,文档意味着一组键/值对或者也称为字段或属性。
OrientDB使用类,集群和链接等概念来存储,分组和分析文档。
下表说明了关系模型,文档模型和OrientDB文档模型之间的比较:
关系模型 | 文档模型 | OrientDB文档模型 |
---|---|---|
表 | 集合 | 级或集群 |
行 | 文件 | 文件 |
纵行 | 键/值对 | 文档字段 |
关系 | 不可用 | 链接 |
图形模型
图形数据结构是可以以通过边(Arc)互连的顶点(节点)的形式存储数据的数据模型。 OrientDB图数据库的想法来自属性图。 顶点和边是Graph模型的主要工件。 它们包含属性,这些属性可以使它们看起来类似于文档。
下表显示了图形模型,关系数据模型和OrientDB图形模型之间的比较。
关系模型 | 图模型 | OrientDB图模型 |
---|---|---|
表 | 顶点和边缘阶层 | 延伸“V”(用于顶点)和“E”(用于边缘) |
行 | 顶点 | 顶点 |
纵行 | 顶点和边属性 | 顶点和边属性 |
关系 | 边缘 | 边缘 |
键/值模型
键/值模型意味着数据可以以键/值对的形式存储,其中值可以是简单和复杂类型。 它可以支持文档和图形元素作为值。
下表说明了关系模型,键/值模型和OrientDB键/值模型之间的比较。
关系模型 | 键/值模型 | OrientDB键/值模型 |
---|---|---|
表 | 桶 | 类或集群 |
行 | 键/值对 | 文件 |
纵行 | 不可用 | 文档字段或顶点/边缘属性 |
关系 | 不可用 | 链接 |
对象模型
这种模式已经由面向对象的程序设计继承,并支持类之间的继承 (子类型扩展超类型), 多态性 ,当你引用一个基类, 直接从绑定 /编程语言中使用的对象。
下表说明关系模型,对象模型,以及OrientDB对象模型之间的比较。
关系模型 | 对象模型 | OrientDB对象模型 |
---|---|---|
表 | 类 | 级或集群 |
行 | 目的 | 文档或顶点 |
纵行 | Object属性 | 文档字段或顶点/边属性 |
关系 | 指针 | 链接 |
在详细介绍之前,最好先了解与OrientDB相关的基本术语。以下是一些重要的术语。
记录
您可以从数据库加载并存储在数据库中的最小单位。记录可以存储四种类型。
1、文件
2、记录字节
3、顶点
4、边缘
记录ID
当OrientDB生成记录时,数据库服务器自动为记录分配单位标识符,称为RecordID(RID)。 RID看起来像#:。 表示集群标识号,表示集群中记录的绝对位置。
文件
文档是OrientDB中最灵活的记录类型。文档是软类型的,并且由具有定义的约束的模式类定义,但是您也可以插入没有任何模式的文档,即它也支持无模式模式。
文档可以通过以JSON格式导出和导入轻松处理。例如,查看以下JSON示例文档。它定义文档详细信息。
{ "id" : "1201", "name" : "Jay", "job" : "Developer", "creations" : [ { "name" : "Amiga", "company" : "Commodore Inc." }, { "name" : "Amiga 500", "company" : "Commodore Inc." } ] }
RecordBytes
记录类型与RDBMS中的BLOB类型相同。 OrientDB可以加载和存储文档记录类型以及二进制数据。
顶点
OrientDB数据库不仅是一个文档数据库,而且是一个图形数据库。诸如Vertex和Edge的新概念用于以图形的形式存储数据。在图数据库中,最基本的数据单位是节点,在OrientDB中称为顶点。顶点存储数据库的信息。
边缘
有一个单独的记录类型称为Edge,将一个顶点连接到另一个顶点。边是双向的,只能连接两个顶点。在OrientDB中有两种类型的边,一种是规则的,另一种是轻量的。
类
该类是一种数据模型和从面向对象编程范例绘制的概念。基于传统文档数据库模型,数据以收集的形式存储,而在关系数据库中,模型数据存储在表中。 OrientDB遵循文档API以及OPPS范例。作为一个概念,OrientDB中的类与关系数据库中的表具有最接近的关系,但是(与表不同)类可以是无模式的,模式完整的或混合的。类可以从其他类继承,创建类的树。每个类都有自己的一个或多个集群(默认情况下创建,如果没有定义)。
簇
集群是用于存储记录,文档或顶点的重要概念。简单来说,Cluster是存储一组记录的地方。默认情况下,OrientDB将为每个类创建一个集群。类的所有记录都存储在与该类具有相同名称的同一集群中。您可以在数据库中创建多达32,767(2 ^ 15-1)个集群。
CREATE类是用于创建具有特定名称的集群的命令。创建集群后,可以使用集群通过在创建任何数据模型期间指定名称来保存记录。
关系
OrientDB支持两种关系:引用和嵌入。引用关系意味着它存储到关系的目标对象的直接链接。嵌入关系意味着它在嵌入它的记录中存储关系。这种关系比参考关系更强。
数据库
数据库是访问实际存储的接口。 IT了解高级概念,例如查询,模式,元数据,索引等。 OrientDB还提供多种数据库类型。有关这些类型的更多信息,请参阅数据库类型。