首页 文章

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

提问于
浏览
0

我使用三个Apache点火服务器集群并在相同配置和相同数据上应用SQL查询但有些时间数据无法通过选择查询,任何人都可以告诉我如何解决它?

  • 在集群模式下,所有数据都存储在所有服务器端?

  • 如果没有,则SQL查询如何应用于不存在数据的节点?

(我正在使用Apache Ignite集群,其中使用了三个服务器,并且在TRANSNATIONAL模式缓存上,应用了sql查询但有时数据不能通过相同的sql查询获取 . )

1 回答

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

    数据分布取决于[亲和功能] . 默认情况下,使用[RendezvousAffinityFunction],它使数据分布接近等于并减少网格拓扑更改时要传输的数据量 .

    • [分布式sql查询]在所有数据节点上运行,用于参与查询的缓存 .

    有可能,您没有数据,因为您尝试在非并置数据上使用连接 . 默认情况下,禁用分布式联接 . 请参见[Affinity collocation]和[Distributed Joins]文档 .

    • 目前,SQL层不是事务性的,因此可以进行脏读 .

相关问题