Classes: 类比关系型数据库系统中的Table与传统文档数据库的collections。这个概念来自于OOP(Object-oriented programming)的理念。class用于定义数据结构的模型。
Record:record是OrientDB中最小的加载和存储的单位。record有四种类型:Document、RecordBytes(BLOB)、Vertex、Edge。
Document:是OrientDB中最灵活的record。Document支持schema-less,schemal-full,schema-mixed,即可以在定义数据结构的时候指定属性及约定条件,也可以不指定。它通过create class语法来定义一个数据结构。
Vertex:在OrientDB的graph模型下,每个结点叫作Vertex,每个Vertex也是一个Document。
Edge:在OrientDB的graph模型下,连接两个Vertex的边叫作Edge。Edge是有向性的而且仅能连接两个Vertex。
Clusters : 用于存储record。每个数据库最多有32767个cluster。每个class都必须至少有一个对应的cluster。默认情况下OrientDB会自动为每个class创建与当前cpu核数相同的cluster,其中有一个默认的cluster。
Cluster Selection:当新增加一条reocrd时OrientDB会根据cluster section为这条记录选择一个cluster。cluster section有四条类型:
detault、round-robin、balanced、local。
Record ID:每个record都有一个record id。 record id的格式如下:
#:。
Relationships: OrientDB中不使用join,它通过在每个reocrd中定义一个关系类型的属性来维护关系。这个关系属性存储的实际是record id,就像定义一个指针在内存中将两个record联系起来。
Inheritance & Polymorphic: OrientDB支持面向对象的继承和多态特性。