orientdb教程(2)-orientdb基本概念

文档地址:
http://www.orientdb.org/docs/2.0/orientdb.wiki/Tutorial-Record-ID.html
https://orientdb.com/docs/3.0.x/java/Java-API.html
http://tinkerpop.apache.org/docs/current/reference/#tx-rgp
1.数据库
orintdb支持4种数据类型,并且都有它们独有的引擎,而不是简单的封装一层接口API。支持的创建数据库类型:
(1)图数据库
(2)文档数据库
(3)键值数据库
(4)对象数据库
在这里插入图片描述

2.表与字段
在关系数据库mysql中,数据库下来后是表,在orientdb使用classes(类)来代替表,classes的属性就是字段.例如Student表,字段有name,age,那么换算到orientdb称为Student类,具有name,age属性。
3.数据存储方式
clusters(簇),默认中,orientdb为每个类创建一个簇,同类的数据都存储在同一个簇中,当然也可以改变策略,将一个类映射到多个簇中。例如有Customer类,细分为USA_Customer,China_Customer,那么可以使用两个簇进行存储,避免不必要的扫描,提高效率。但是到了2.2版本后,orientdb会默认为每个类创建和CPU个数相同的簇。例如一下系统自带的例子中,在一个8CPU的服务器中,每个类创建了8个簇
在这里插入图片描述
4.记录存储策略
一个新插入的数据,如何选择存储的簇,orientdb有几种方式:
(1)default,始终使用Class的defaultClusterId属性。这是1.7之前的默认设置
(2)round-robin,循环插入已经配置好的类的簇
(3)balanced,检查所有簇,返回较小的簇,插入,检查的过程会影响性能,可以设置5秒或更高检查一次
(4)local,在使用分布式的时候,直接存储在当前节点的簇上,减少网络开销。
(5)自定义策略

5.recordID,RID
每一条record都有自己的ID,RID由2部门组成:

<cluster-id>:<cluster-position>

cluster-id是集群的ID。每个数据库最多可具有32,767个群集(2 ^ 15-1)
cluster-position是记录在集群中的位置。
6.SQL
orientdb沿用SQL的方式进行操作。
7.orientdb的数据关联
OrientDB不使用JOIN,JOIN会在当几张表查询的时候,数据会爆炸,而是使用LINK。通过RID进行关联。支持的link类型:
LINK,LINKSET,LINKLIST,LINKMAP
8.orientdb图
图由顶点,边组成,同时边有in,out,both方向属性,没有属性的边为轻量级边。
9."Inheritance继承"
类之间可以使用继承关系,当对父类进行查询的时候,也会遍历子类。
10.orient组件架构
在这里插入图片描述
(1)MultiModel API,orientdb是从文档型数据库演进的,后续引入了图数据模型,所以在不同模型的数据库API都存在差异,在3.0版本后,orientdb对这个API进行统一。
(2)TinkerPop为独立于图数据库的框架

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值