教 程 目 录
ArangoDB教程
显然,世界变得越来越紧密.在不久的将来,您的厨房吧可能会推荐您最喜欢的威士忌品牌!这些推荐信息可能来自零售商,或者同样可能是社交网络上的朋友建议的;无论如何,如果您喜欢这些建议,您将能够看到使用图形数据库的好处.本教程解释了ArangoDB的各个方面,它是图数据库领域的主要竞争者.从ArangoDB的基础知识开始,重点介绍ArangoDB的安装和基本概念,逐步转向高级主题,如CRUD操作和AQL.本教程的最后几章将帮助您了解如何将ArangoDB部署为单个实例和/或使用Docker.
受众
本教程适用于那些有兴趣将ArangoDB作为多模型数据库学习的人.图形数据库在整个行业中像野火一样蔓延,并正在对新一代应用程序的开发产生影响.因此,任何有兴趣学习ArangoDB不同方面的人都应该阅读本教程.
先决条件
在继续本教程之前,你应该有数据库,SQL,图论和JavaScript的基础知识.
本文地址:https://itbaoku.cn/tutorial/arangodb-index.html
相关问答
我试图连接到位于我PC的另一台服务器中的Arangodb,但似乎不成功.然后,我试图通过使用通过键入服务器IP http://xxxx:8529 但也失败了访问它.我在localhost arangodb上尝试了我的运气,用自己的PC IP地址替换它,它也不工作.当IP名称为127.0.0.1或名称是localhost时,它只有效.我可以知道如何访问Arangodb. fyi,我在这里尝试了这种方法. 与arangodb 如果有人可以提供帮助.谢谢. 解决方案 默认情况下服务器仅在127.0.0.1和没有任何身份验证的情况下打开其端口. 您可以编辑配置文件"Arangod.conf"以更改此操作.更改线路 endpoint = tcp://127.0.0.1:8529 endpoint = tcp://0.0.0.0:8529 为了启用身份验证,您可以更改 disable-authentication = yes disable-authentication = no
)
为logfiles是什么: "arango_instance_database/journals/logfile-xxxxxx.db 我可以删除它们吗? 如何减少尺寸? 我设置了 database.maximal-journal-size = 1048576 但这些文件仍然是32米. 我可以为它们设置一些目录,如 /var/log/... ? 解决方案 您是引用的写入前面的logfiles 至少暂时暂时将数据保存在内. 所以它一个非常糟糕的想法要自己删除它们,只要您仍然喜欢您的数据完整. 使用文件,因此文档可以以有关方式写入磁盘.一旦系统空闲,聚合器作业将从它们中选择文档并将其移动到数据库文件中. 您可以找到有趣的文档,其他人没有选择这种架构方法和数据被直接写入磁盘上的数据文件,然后将其对您的sytem作出. 一旦沃尔文件中的所有文档都被移动到DB文件中,ArangoDB将删除分配的空间. 其他解决方案 谢谢您的回复:-) 所以如果Arangodb部署为"单一实例",我可以设置: --wal.suppress-shape-information true --wal.historic-logfiles 0 还有什么吗? 如何 --wal.logfile-size 确定其大
)
自从几天之后,我们遇到了我们的Arangodb安装问题.启动到数据库的所有连接后几分钟/最多一小时. Arango Log文件说明有"太多打开文件". "LSOF | Grep Arango | WC -L"显示数据库有大约50,000个打开的文件句柄,在最大值下很多. Linux系统允许(大约3米). 有人有一个想法这个错误来自哪里? 我们正在使用带有3.13内核的Ubuntu Linux. 30 GB RAM和三个核心.数据库仍然非常小,条目约为15米,尺寸为50GB. thx,secana 编辑: "netstat -anpt | fgrep 2480"显示: root@syssec-graphdb-001-test:~# netstat -anpt | fgrep 2480 tcp 0 0 10.215.17.193:2480 0.0.0.0:* LISTEN 7741/arangod tcp 0 0 10.215.17.193:2480 10.215.50.30:53453 ESTABLISHED 7741/arangod tcp 0 0 10.215.17.193:2480
)
对于Arangodb,我知道它自己的查询语言AQL,据我所知,还有一个附加组件,它允许将Gremlin用于图形遍历等. 在我的一个项目中,我们强烈使用sparql,所以: 有没有办法将SPARQL用作ArangodB的查询语言? 最好的问候, Stefan 解决方案 SPARQL和RDF如何与AQL和ArangodB相关? sparlq是一种量身定制的语言,用于在RDF的顶部使用,因此我们首先需要比较数据存储: RDF VS. Arangodb收藏 两者都将其实体称为"文档",但在许多方面都不同. RDF强制执行schemata 即使使用自定义数据类型,Arangodb是schemaless,并且仅支持JSON特定数据类型. RDF使用从XML-Namespaces派生的这些数据类型的构造.这些名称空间可能是嵌套的. SQL数据库中有存储RDF的实现. 显然,RDF格拉默必须翻译成Arangodb集合(类似于这些RDF/SQL的东西). FOXX服务层可以提供抽象 这实现了这些其他数据类型;将一个名称空间映射到一个集合可能会导致许多文档的收藏. For example, one way to represent the notion "The sky has the color blue" in RDF is as the triple:
)
我启用跟踪和我看到下面的消息被打印出像10K倍,在一秒钟. 2016-03-12T18:14:56Z [31136] TRACE [C:\ B \ ArangoDB-2.8.4 \ arangod \沃\ CollectorThread.cpp:750]沃尔玛集电极可以为集合不获取写锁定"39659811 " 以下是集合的数字. 类型数量大小信息 数据文件57 1.79 GB 期刊1 32 MB点击 压实机0 0 B Shape文件0 0 B 指标3 890.2 MB点击 类型计数信息 239整形 属性77个结果 未获领取的221145点击 参考文献1个结果 类型数量大小删除信息 活着4398864 930.54 MB - 点击 死4484771 918.31 MB 0 解决方案 ArangoDB有两种数据文件为集合: 的WAL档案(预写日志);如果创建新的(版本OF-)文件这是他们直接去确保数据持续写入到磁盘尽可能快.此文件增长成线性. 的集合文件;每收集一个;在这里,我们有(旧的)永久数据. 所以,如果你插入或更新的文件,他们立即在滚动WAL-文件结束.这是好的,因为旋转磁盘不喜欢的追求;因此,突发写入线性成一个WAL文件,无论他们在哪个集合.磁盘可以通过物理狭窄区域分组写入操作有效地做好自己写突发,并且不需要在文件间跳转(物理场所磁盘)
)
我试图了解Arangodb的限制是什么以及理想的设置是什么.从我已经了解的是,Arango将所有收集数据存储在虚拟内存中,理想情况下,您希望以其适合RAM.如果收集增长并且不能符合RAM,它将被交换为磁盘. 所以我的第一个问题.如果我的数据库会长,我需要调整交换分区/文件以适应DB吗? 由于Arango也将数据同步到磁盘确实这意味着数据将始终位于RAM和磁盘中?因此,如果我有一个DB,那是1.5GB,我的RAM是1GB,我需要至少有0.5GB的交换盘和1.5GB的常规磁盘空间? 我有点困惑Arango如何使用虚拟内存.现在我有7个集合实际上是空的.我有1GB的RAM和1GB的交换磁盘. 管理员报告Arango使用4.5GB的虚拟内存.如果交换磁盘为1GB,这是如何可能的?它目前正在使用80MB的RAM.如果日志尺寸为32MB,则不应该这是224MB的? 杂志尺寸的建议与集合大小是什么?可以随着收集的增长动态调整,这可以动态调整吗? 如果在磁盘是SSD时使用交换磁盘使用交换磁盘,则预计会出现什么样的性能?如果使用交换磁盘,则性能与使用更传统的数据库(如MySQL)类似? 解决方案 arangodb将所有数据存储在内存映射的文件中. 每个集合都可以具有0到n个数据文件,其中默认文件大小为32 MB(请注意,此文件化可以全局或每收集级别进行调整.空集
)