当前位置: 首页 > 教程 > OrientDB >

OrientDB基本概念

精华
小牛编辑
179浏览
2023-03-14

OrientDB的主要功能是支持多模型对象,即支持不同的模型,如文档,图形,键/值和实体对象。 它包含一个单独的API来支持所有这四种模型。

文档模型

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

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

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

关系模型 文档模型 OrientDB文档模型
集合 类或簇
文档 文档
键/值对 文档字段
关系 无法使用 链接

图模型

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

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

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

键/值模型

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

下表说明了关系模型,键/值模型和OrientDB键/值模型之间的比较。

关系模型 键/值模型 OrientDB键/值模型
Bucket 类或集群
键/值对 文档
不可用 文档字段或顶点/边缘属性
关系 不可用 链接

对象模型

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

下表说明了关系模型,对象模型和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." 
      } 
   ] 
}

RecordBytes

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

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

边缘

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

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


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

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

关系

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

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