gpt4 book ai didi

java - 关于在 3 ignite 服务器集群上使用 sql 查询获取数据的问题

转载 作者:行者123 更新时间:2023-11-29 10:43:45 24 4
gpt4 key购买 nike

我正在使用三个 Apache ignite 服务器集群,并对相同的配置和相同的数据应用 SQL 查询,但有时数据无法通过选择查询,谁能告诉我如何解决它?

  1. 在集群模式下,所有数据都存储在所有服务器端?
  2. 如果不是,那么 SQL 查询如何应用于不存在数据的节点?

(我正在使用 Apache Ignite 集群,其中使用了三个服务器,并且在 TRANSNATIONAL 模式缓存上,应用了 sql 查询,但有时同一 sql 查询无法获取数据。)

最佳答案

  1. 分区和复制缓存的所有数据都驻留在服务器节点上(默认情况下位于所有服务器节点上)。您可以通过在缓存配置中设置 NodeFilter 将缓存限制到某些节点。

    数据分布取决于[亲和函数]。默认使用[RendezvousAffinityFunction],它使数据分布接近均等,减少网格拓扑变化时传输的数据量。

  2. ignite中的【分布式sql查询】在所有数据节点上运行,用于参与查询的缓存。

    有可能,您没有获得任何数据,因为您尝试对非并置数据使用联接。默认情况下,分布式连接处于禁用状态。请参阅[Affinity collocation] 和 [Distributed Joins] 文档。

  3. 目前,SQL 层不是事务性的,因此脏读是可能的。

关于java - 关于在 3 ignite 服务器集群上使用 sql 查询获取数据的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45007436/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com