OrientDB - 基本概念



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

文档模型

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

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

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

关系模型文档模型OrientDB 文档模型
集合类或集群
文档文档
键/值对文档字段
关系不可用链接

图模型

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

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

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

键/值模型

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

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

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

对象模型

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

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

关系模型对象模型OrientDB 对象模型
类或集群
对象文档或顶点
对象属性文档字段或顶点/边属性
关系指针链接

在详细介绍之前,最好了解与 OrientDB 相关的基本术语。以下是一些重要的术语。

记录

您可以从数据库加载和存储的最小单元。记录可以存储为四种类型。

  • 文档
  • 记录字节
  • 顶点

记录 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." 
      } 
   ] 
} 

记录字节

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

顶点

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

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

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

集群

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

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

关系

OrientDB 支持两种关系:引用和嵌入。引用关系表示它存储指向关系的目标对象的直接链接。嵌入关系表示它在嵌入它的记录内存储关系。这种关系比引用关系更强。

数据库

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

广告
© . All rights reserved.