• ArangoDB 学习笔记(一)


    1. DB-Engines Ranking of Graph DBMS

    This is a partial list of the complete ranking showing only graph DBMS.

    网址:DB-Engines Ranking - popularity ranking of graph DBMS

     2. 对比 Neo4j 和 ArangoDB 两种图数据库

    (参考https://www.jianshu.com/p/de220e08bb13

    Neo4jArangoDB
    数据库类型图数据库多模数据库
    相关网址官网官方文档官网官方文档
    目前排名第一第四
    主要实现语言JavaC++
    生态起步较早,社区活跃,文档丰富,使用体验较好社区较活跃、文档较非富,使用体验略差
    存储系统原生图结构RockDB
    存储模式仅支持图存储模式支持键值对、文档、图存储模式,可混合使用
    查询语言CypherAQL
    收费情况商业版需付费使用,社区版功能限制较多,比如仅支持十亿级数据存储、单机存储等,见官网社区版与商业版对比商业版需付费使用,但社区版功能已足够非富
    开源情况社区版开源开源
    事务ACIDACID
    性能(参考:1. ArangoDB、Neo4j、OrientDB单机性能比较;2. Nebula 与 Neo4j、ArangoDB 等图数据库的 Benchmark数据导入性能较优,查询性能略差,深度查询性能较差数据导入性能较差,查询性能略优,深度查询性能较优

    结合上述对比,Neo4j 有着更棒的生态、更好的使用体验。但社区版对数据规模和单机存储的限制,是其严重的缺陷。

    而 ArangoDB 虽然生态和体验稍差,但查询性能较优,功能限制少。同时,支持多种存储模式,可简化技术栈。

    3. 传统的知识图谱存储方式 

    (参考https://www.jianshu.com/p/de220e08bb13

    • 关系型数据库。成熟稳定、使用广泛、文档丰富,但并不擅长处理复杂“关系”。
    • RDF 三元组存储。由 W3C 制定的标准,具有强大的语义表达能力,但空间开销大、更新维护代价大。
    • 图数据库。与知识图谱结构天然匹配,关系查询性能高,但数据更新复杂,大节点处理开销高。 

    4.  ArangoDB安装

    参考:https://blog.csdn.net/Unirithe/article/details/125719229

    官方下载地址:Download ArangoDB database: Enterprise and Community
    笔者这里选择的是 NSIS 软件包
    (Windows版本以学习为主,官方推荐对于生产环境,强烈建议使用 Linux)

    在这里插入图片描述

    下载后进行安装:
    在这里插入图片描述

    安装时需要设置密码(其他配置暂时不修改,默认即可):
    在这里插入图片描述
    安装后,ArangoDB 服务器会自动启动:
    在这里插入图片描述 所以,安装即启动,这里通过URL可以访问到数据库的服务器:http://localhost:8529/
    在这里插入图片描述

    注:如果没有自动启动,根据官方文档说明,手动启动可通过运行ArangoDB数据库目录 bin 文件目录下的 arangod.exe 程序,最好是以管理员身份运行。

    这里登录的用户名默认为 root ,密码则为之前安装时设置的密码。
    登录成功后,我们需要选择一个数据库来进行操作,官方提供了默认的 _system 数据库

    选择数据库后的页面如下:
    在这里插入图片描述

    拓展:通过终端查看 ArangoDB 版本

    arangodb version
    

    在这里插入图片描述

    通过终端查看 ArangoDB 帮助命令
    在这里插入图片描述

    我们在官方下载的服务器版本是自带客户端的,接下来可通过终端命令连接本地的ArangoDB服务器:

    arangosh 

    输入命令后,回车确定然后输入密码即可。
    在这里插入图片描述

    这里默认进入的是自带的_system数据库,如果要连接其他的数据库则通过命令:

    arangosh --server.username "root" --server.database 数据库名

    5. ArangoDB 基本概念

    参考:ArangoDB Getting Started

    在 ArangoDB 中,有 DatabaseCollectionDocument 三类基本概念。Database 是 Collection 的集合,Collection 中存储着数据记录,数据记录也就是 Document。

    对比关系数据库:

    • Database 与关系数据库中的数据库概念、作用相同,用于权限控制、界限划分,ArangoDB 中默认的 Database 称为 _system

    • Collection 相当于关系数据库中的

    • Document 则相当于表中的,但不同于关系数据库,Document 中列不固定,每个 Document 都包含着随机的任意数量的键值对。每个 Document 都有一个默认属性 _key ,它是独一无二的、不可更改的、可自动生成的,Document 还有另一个默认属性 _id ,它等于 /

    ArangoDB 提供网页可视化界面,如下是在 test 数据库中创建的 user 集合。

    如下是在 user 集合中的文档数据,每个文档相当于一条 json 形式的数据记录,除了默认三个属性,其它都可不必相同。

  • 相关阅读:
    数据结构与算法-二叉树
    bbed解决ORA-01578---惜分飞
    SpringMVC相关知识点
    为百度翻译花了3元,感觉还是值得的
    【学习笔记】多模态综述
    Vue3中图片上传组件封装-element-plus的el-upload二次封装-案例
    设计模式从哪来、难学吗、什么时候学、能做什么?(设计模式与开发实践 P1)
    C#初级程序员到高级程序员的学习计划
    C++语言 青少年0基础可学习(3)
    打字速度测试,生成您的打字速度证书?
  • 原文地址:https://blog.csdn.net/qq_37995260/article/details/127402296