码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ArangoDB关键知识点汇总大全(不定时更新)


    二、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用的少。

    在这里插入图片描述

    图数据模型的存储结构

    图模型的数据模型其实就是基于文档模型,只不过是节点放在document类型的表,和边信息放在edge类型的表。通过edge表里的_from 和_to字段指向的document类型表里的文档id来关联起的关系。 一切的处理是基于这两个表,就像mysql里的表一样,能支持想象不到的很多用处。 这两种表结构类似,唯一不同的是后者多了两个_from和_to字段用于指定起始和终点节点的_id 。
    在这里插入图片描述
    在这里插入图片描述

    如何使用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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    (解释:在graph_large图里面查询起始点为nodes/id1,最长长度为3,最短长度为2的所有路径)
    for v,e,p in 2..4
    
    any
    
    'nodes/id1'
    
    graph 'graph_large'
    
    return e
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
  • 相关阅读:
    数据库第七章作业
    Vue后台管理系统项目(33)完成SpuForm照片墙数据的收集
    项目介绍:“WeTalk”网页聊天室
    互联网Java工程师面试题·Java 总结篇·第十一弹
    算法11.从暴力递归到动态规划4
    物联网中基于WiFi的室内温度检测系统设计
    OpenCV(十三):图像中绘制直线、圆形、椭圆形、矩形、多边形和文字
    项目开展CICD的实践探路
    Lombok @Accessors(chain = true) 导致 FastJson parsObject()对父类属性失效
    新闻文化建设杂志新闻文化建设杂志社新闻文化建设编辑部2022年第14期目录
  • 原文地址:https://blog.csdn.net/qq_39659876/article/details/132963005
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号