热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OrientDB基本概念

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

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

文档模型

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

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

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

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

图模型

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

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

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

键/值模型

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

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

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

对象模型

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

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

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还提供多种数据库类型。 有关这些类型的更多信息,请参阅数据库类型。


    推荐阅读
    • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
    • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
    • Java工程师书单(初级,中级,高级)
      简介怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作一两年之后开始迷茫的程序 ... [详细]
    • MySQL:互联网公司常用 分库分表
      本文目录一、数据库瓶颈IO瓶颈CPU瓶颈二、分库分表水平分库水平分表垂直分库垂直分表三、分库分表工具四、分库分表步骤五、分库分表问题非partit ... [详细]
    • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
    • [译]技术公司十年经验的职场生涯回顾
      本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
    • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
      本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
    • 本文介绍了高校天文共享平台的开发过程中的思考和规划。该平台旨在为高校学生提供天象预报、科普知识、观测活动、图片分享等功能。文章分析了项目的技术栈选择、网站前端布局、业务流程、数据库结构等方面,并总结了项目存在的问题,如前后端未分离、代码混乱等。作者表示希望通过记录和规划,能够理清思路,进一步完善该平台。 ... [详细]
    • python限制递归次数(python最大公约数递归)
      本文目录一览:1、python为什么要进行递归限制 ... [详细]
    • SpringBoot整合SpringSecurity+JWT实现单点登录
      SpringBoot整合SpringSecurity+JWT实现单点登录,Go语言社区,Golang程序员人脉社 ... [详细]
    • nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
    • 前面刚有AWS开战MongoDB,双方“隔空互呛”,这厢又曝出2亿+简历信息泄露——MongoDB的这场开年似乎“充实”得过分了些。长期以来,作为“最受欢迎的NoSQL数据库”,M ... [详细]
    • hackingTeam是如何被黑的
      hackingTeam是如何被黑的 ... [详细]
    • 什么是堡垒机?堡垒机是一个主机系统,其自身通常经过了一定的加固,具有较高的安全性,可抵御一定的攻击,其作用主 ... [详细]
    • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了记录一次MySQL两千万数据的大表优化解决过程,提供三种解决方案相关的知识,希望对你有一定的参考价值。 ... [详细]
    author-avatar
    福州-台江_616
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有