大家好,欢迎来到IT知识分享网。
二、ArangoDB数据模型与索引
2.1 数据模型
ArangoDB的数据模型分为数据库(databse)、集合(collection)、文档(document),分别与RDBMS中的数据库、表、行对应。
数据类型包括:string、boolean、number、array、document/object
Collection:分为document collection、edge collection两种类型。其中documentcollection在Graph中又被称为vertex collection,edge collection只在Graph中使用。
Document: ArangoDB的document数据在展现层使用JSON格式,但物理存储时采用的是二进制的VelocyPack(一种高效紧凑的二进制序列化和存储格式)。document由一个主键(_key)、_id、_rev、0个或者多个属性组成,其中_key作为sharding的依据。Edgecollection中的文档要比documentcollection中的文档多两个特殊的属性(_from、_to)。
2.2 索引
ArangoDB中的索引类型分为:Primary、Edge、Hash、Skiplist、Persistent、Geo、Fulltext。ArangoDB会自动对文档中的_id、_key、_from、_to字段建立索引。
基本文档数据模型
arangodb也有数据库(db), 表(collection)、记录(document)的概念,document上是有用户保存的,例如:
还额外有_id和_key,_rev
注:key可以自动生成也可以用户指定(不能存中文),而_id 等于表名加_key, _rev用的少。
图数据模型的存储结构
如何使用aql
(解释:在tablename表里面查询name都等于Alice并且age等1,2或是3的记录
let arr = [1,2,3] for p in tablename filter p.name == 'Alice' filter contains(arr, p.age) return p
(解释:在graph_large图里面查询起始点为nodes/id1,最长长度为3,最短长度为2的所有路径)
for v,e,p in 2..4 any 'nodes/id1' graph 'graph_large' return e
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/135626.html