【问题标题】:ArangoDb cluster query performance issueArangoDb 集群查询性能问题
【发布时间】:2015-12-15 11:07:24
【问题描述】:

我设置了带有 2 个数据库服务器和 2 个协调器的简单集群。 当我执行一个简单的选择查询时,我发现即使使用最少的数据与单机设置相比,性能也会显着下降。

FOR key IN @keys 
FOR user IN User FILTER user.UserId == key 
RETURN user

我为 UserId 设置了哈希索引。即使收集了 100 个用户并且 @keys 包含 2 个键,此查询也需要大约 300 毫秒,而单机配置需要大约 4 毫秒。

Users 集合有 4 个由 _key 设置的分片。

【问题讨论】:

    标签: arangodb nosql


    【解决方案1】:

    集群涉及更多的网络连接,因此会产生更多的网络延迟。必须对数据进行反序列化(这涉及解析等)。必须以集中方式管理分片等。

    根据您的查询,(即依赖于其承载的排序结果的子查询)部分查询必须分布在整个集群中,其中包括多次往返,涉及更多的通信。

    集群旨在为您提供更高的吞吐量和对更多计算资源的访问,而不是单个服务器环境可以提供的低延迟。

    只要单台机器可以扩展到您的工作负载,集群就不是合适的解决方案。这将随着我们即将推出的 3.0 版本而改变,其中新的同步复制除了可扩展性外,还为您提供容错和高可用性。目前您可以将查询负载分配到多台机器using replication

    Read more about ArangoDB Cluster performance in Max Blog article 可扩展到大型环境,同时保持相当低的延迟。

    【讨论】:

    • 看起来像是在等待 3.0 版本,因为当前的集群实现看起来非常不可用且不可靠。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多