繁体   English   中英

使用 ArangoDB 对分散式架构进行建模并同时查询多个源

[英]Model decentralized architecture using ArangoDB and querying multiple sources at once

我是 ArangoDB 的新手,想使用它来建模分散式架构。 正如它在文档中所说,它支持多类数据库。 我想制作一个数据模型,该模型将具有多个图形作为小型分布式系统,例如模拟目的 现在,一旦我有了分布式系统,我想将所有这些源作为一个查询。 例如,我们的分布式系统中有 3 个节点:节点 1 保存机场数据,节点保存航班数据,节点 3 保存乘客数据。 现在我的问题是我是否可以通过编写单个查询或多个查询来查询所有三个节点,我想要的是从单个界面访问多个节点。 ArangoDB可以吗?

  • 如果我不清楚,请放弃您的查询

...我可以通过编写一个查询来查询所有三个节点吗...

简短的回答是“是”,但有一个很大的“这取决于您的数据模型”星号。 从关系到图形的转变可能很奇怪,而且构建一个无法很好扩展的数据集太容易了。

ArangoDB 通过使用“边”链接文档(节点)来工作,边是定义链接方向(到/从)的特殊文档。 边集合可用于运行查询( 匿名图),也可以“分组”为定义更明确、更精细的图定义( 命名图)。 您的数据库可以有许多命名图,每个图都针对您希望查询的集合进行了定制(就像 RDBMS 一样,减少要查看的内容的数量是提高性能的最简单方法)。

通常,您会通过高级类型来收集事物,并且可以通过文档/边上的属性或简单地通过边连接来定义组成员身份。 通过将查询保留在内存中可以实现最佳速度,这意味着不要过滤非索引属性。

根据您的问题,听起来您想要两个集合(“机场”和“乘客”),以及“航班”的边缘集合(可能是“机场 - > 乘客 - > 机场”的图表)。 示例演示了一个简单的演员/电影数据集,该数据集旨在对图形友好,但互联网上有许多机场/旅行图样本。

AQL 语言允许您在同一个查询中构建复杂的查询,包括多个图形和文档调用。 与往常一样,主要的警告是遍历复杂性(参见big-O 表示法)和内存使用。

从 ArangoDB 的角度来看,这些可能是基本建模信息的一个很好的起点:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM