OrientDB 教程

OrientDB 主页 OrientDB 概述 OrientDB 下载安装和环境配置 OrientDB 基本概念 OrientDB 数据类型 OrientDB 控制台模式

OrientDB 数据库命令

OrientDB 创建数据库 OrientDB 更改数据库 OrientDB 备份数据库 OrientDB 恢复数据库 OrientDB 连接数据库 OrientDB 断开数据库 OrientDB 信息数据库 OrientDB 列出数据库 OrientDB 冻结数据库 OrientDB 释放数据库 OrientDB 配置数据库 OrientDB 导出数据库 OrientDB 导入数据库 OrientDB 提交数据库 OrientDB 回滚数据库 OrientDB 优化数据库 OrientDB 删除数据库

OrientDB 记录命令

OrientDB 插入记录 OrientDB 显示记录 OrientDB 加载记录 OrientDB 重新加载记录 OrientDB 导出记录 OrientDB 更新记录 OrientDB 截断记录 OrientDB 删除记录

OrientDB 类命令

OrientDB 创建类 OrientDB 更改类 OrientDB 截断类 OrientDB 删除类

OrientDB 集群命令

OrientDB 创建集群 OrientDB 更改群集 OrientDB 截断群集 OrientDB 删除群集

OrientDB 属性命令

OrientDB 创建属性 OrientDB 更改属性 OrientDB 删除属性

OrientDB 顶点命令

OrientDB 创建顶点 OrientDB 移动顶点 OrientDB 删除顶点

OrientDB 边命令

OrientDB 创建边 OrientDB 更新边 OrientDB 删除边

OrientDB高级概念

OrientDB 函数 OrientDB 序列 OrientDB 索引 OrientDB 事务 OrientDB 钩子 OrientDB 缓存 OrientDB 日志 OrientDB 性能调优 OrientDB 升级 OrientDB 安全 OrientDB Studio

OrientDB 接口

OrientDB Java 接口 OrientDB Python 接口

OrientDB 有用资源

OrientDB 快速指南 OrientDB 有用资源 OrientDB 讨论


OrientDB - 基本概念

OrientDB 的主要功能是支持多模型对象,即它支持不同的模型,如文档、图形、键/值和真实对象。它包含一个单独的 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 数据库不仅是文档数据库,也是图形数据库。使用顶点和边等新概念以图形形式存储数据。在图形数据库中,最基本的数据单元是节点,在 OrientDB 中称为顶点。顶点存储数据库的信息。

边

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

类

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

集群

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

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

关系

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

数据库

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