记录ID
在OrientDB中,每条记录都有一个标示自己的唯一的ID,称为Record ID或者RID。由两部分组成:
#<cluster-id>:<cluster-position>
<cluster-id>
簇的ID标示。<cluster-position>
数据在簇中的位置。
每个数据库可以有最大32,767个簇(215)。每个簇可以处理9,223,372,036,780,000条记录(263,或者8,223,372兆)。
一个数据库最大容量是278条记录,或者302,231,454,903 兆 条记录。因为硬件资源的限制,OrientDB没做过这么大数量级的测试,但是有用户使用过十亿量级的。
加载记录
每个记录都有一个Record ID, 标示着数据库中记录的位置。当你通过RID加载记录时,速度是非常快的。
在文档和关系数据库中,数据越多,数据库响应越慢。OrientDB利用物理链接来处理记录之间的关系。当边在O(1)
的时间创建之后,关系就被建立了。在关系数据库中,每次计算关系都要O(log N)
的时间(外键,使用B-tree索引)。在OrientDB, 数据量的大小不会影响遍历速度,不论是一条记录还是数千亿记录。这在大数据的时代,是个非常关键的特性。
直接加载记录, 使用LOAD RECORD
命令。
orientdb> LOAD RECORD #12:4
--------------------------------------------------------
ODocument - @class: Company @rid: #12:4 @version: 8
-------------+------------------------------------------
Name | Value
-------------+------------------------------------------
addresses | [NOT LOADED: #19:159]
salary | 0.0
employees | 100004
id | 4
name | Microsoft4
initialized | false
salary2 | 0.0
checkpoint | true
created | Sat Dec 29 23:13:49 CET 2012
-------------+------------------------------------------
LOAD RECORD
命令返回了记录的有效信息:
document类型。OrientDB支持很多类型的记录,本章节只涉及文档类型。
属于类
Company
。目前的版本是
8
。OrientDB使用MVCC system。每次更新一条记录,版本加1。有不同的属性类型:
salary
和salary2
是浮点,employees
和id
是整型,name
是字符串,initialized
和checkpoint
是布尔,created
是日期。字段
addresses
显示NOT LOADED
。 它是一个LINK
到另外一条记录,#19:159
。这是一个关系,更多关系的概念信息,参考 关系.