从单个Cassandra表并行读取?

时间:2016-04-25 10:23:14

标签: multithreading parallel-processing cassandra

我有一个单节点Cassandra数据库运行,所有数据都使用一个表存储。在此表中,我使用分区键和群集键分割数据。我可以使用基于Java的客户端查询此表,并行读取每个分区吗?

在我的客户端上,我想启动四个线程,其中每个线程将使用简单查询同时查询单个Cassandra表 - > '从tablename中选择*,其中column1 = partitionID'

我意识到实现Cassandra集群要好得多,但目前使用单节点系统至关重要。

1 个答案:

答案 0 :(得分:1)

使用 Java Driver 从您的Java客户端访问Cassandra。

根据Cassandra架构,您的单个Cassandra表将分布在群集中的节点(群集设置很明显),具有多个分区和分区副本(副本)。联系其中一个副本以获取所需数据(运行查询时)将由 java-driver 本身及其可配置的群集策略处理。

引用本教程doc, - " 如果某个节点收到另一个节点上拥有的读取或写入,它将协调该客户端的请求。我们可以使用负载平衡策略来控制该操作。 TokenAwarePolicy确保请求将转到负责主键指示的数据的节点或副本。它包含在DCAwareRoundRobinPolicy中,以确保请求保留在本地数据中心。"

希望它会有所帮助!!