OrientDB - 基本概念


OrientDB的主要特点是支持多模型对象,即支持Document、Graph、Key/Value和Real Object等不同模型。它包含一个单独的 API 来支持所有这四种模型。

文档模型

术语文档模型属于NoSQL数据库。这意味着数据存储在文档中,文档组称为集合。从技术上讲,文档是指一组键/值对,也称为字段或属性。

OrientDB 使用类、簇和链接等概念来存储、分组和分析文档。

下表说明了关系模型、文档模型和 OrientDB 文档模型之间的比较 -

关系模型文档模型OrientDB文档模型
桌子收藏类或簇
文档文档
柱子键/值对文档字段
关系无法使用关联

图模型

图数据结构是一种数据模型,可以以由边(弧)互连的顶点(节点)的形式存储数据。OrientDB图数据库的思想来自于属性图。顶点和边是图模型的主要工件。它们包含一些属性,可以使它们看起来类似于文档。

下表显示了图模型、关系数据模型和 OrientDB 图模型之间的比较。

关系模型图模型OrientDB图模型
桌子顶点和边类扩展“V”(对于顶点)和“E”(对于边)的类
顶点顶点
柱子顶点和边属性顶点和边属性
关系边缘边缘

键/值模型

键/值模型意味着数据可以以键/值对的形式存储,其中值可以是简单类型和复杂类型。它可以支持文档和图形元素作为值。

下表展示了关系模型、键/值模型和OrientDB键/值模型之间的比较。

关系模型键/值模型OrientDB键/值模型
桌子类或簇
键/值对文档
柱子无法使用文档字段或顶点/边属性
关系无法使用关联

对象模型

该模型已被面向对象编程继承,并支持类型之间的继承(子类型扩展超类型)、引用基类时的多态性以及编程语言中使用的对象的直接绑定

下表说明了关系模型、对象模型和 OrientDB 对象模型之间的比较。

关系模型对象模型OrientDB对象模型
桌子班级类或簇
目的文档或顶点
柱子对象属性文档字段或顶点/边属性
关系指针关联

在详细介绍之前,最好了解一下与 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." 
      } 
   ] 
} 

记录字节数

记录类型与 RDBMS 中的 BLOB 类型相同。OrientDB 可以加载和存储文档记录类型以及二进制数据。

顶点

OrientDB数据库不仅是文档数据库,也是图数据库。使用Vertex和Edge等新概念以图的形式存储数据。在图数据库中,最基本的数据单元是节点,在OrientDB中称为顶点。顶点存储数据库的信息。

边缘

有一种单独的记录类型称为“边”,它将一个顶点连接到另一个顶点。边是双向的,只能连接两个顶点。OrientDB中有两种类型的边,一种是常规的,另一种是轻量级的。

班级

类是一种数据模型,是从面向对象编程范例中得出的概念。基于传统的文档数据库模型,数据以集合的形式存储,而在关系数据库模型中数据以表的形式存储。OrientDB 遵循文档 API 和 OPPS 范例。作为一个概念,OrientDB 中的类与关系数据库中的表具有最密切的关系,但(与表不同)类可以是无模式、全模式或混合模式。类可以从其他类继承,创建类树。每个类都有自己的一个或多个簇(如果未定义,则默认创建)。

簇是一个重要的概念,用于存储记录、文档或顶点。简单来说,Cluster就是存储一组记录的地方。默认情况下,OrientDB 将为每个类创建一个集群。一个类的所有记录都存储在与该类同名的同一个簇中。您最多可以在数据库中创建 32,767(2^15-1) 个集群。

CREATE 类是用于创建具有特定名称的集群的命令。创建集群后,您可以通过在创建任何数据模型期间指定名称来使用集群来保存记录。

人际关系

OrientDB支持两种关系:引用关系和嵌入关系。引用关系意味着它存储到关系的目标对象的直接链接。嵌入关系意味着它将关系存储在嵌入它的记录中。这种关系比参考关系更强。

数据库

数据库是访问真实存储的接口。IT 人员了解查询、模式、元数据、索引等高级概念。OrientDB还提供多种数据库类型。有关这些类型的更多信息,请参阅数据库类型。