我如何处理我的有效负载以在 cassandra 中使用 atomicity/consistency 在多个表中插入批量数据?

How i can process my payload to insert bulk data in multiple tables with atomicity/consistency in cassandra?

我必须为在接下来的 24 个月内通过多个供应商获得的数百万 material 的客户设计数据库。因此,数据库将在接下来的 24 个月内每天存储特定供应商提供的每个 material 的价格。现在我有多个用例要解决,所以我创建了多个表以尽可能最好的方式解决每个用例。 现在将数据插入这些表中将定期发生在一个大块中(假设为 1k 项),这也应确保数据一致性,即数据应插入所有表或 none 其中。如果这样做失败,应将其标记为 "failure",不插入任何内容以供进一步操作。我怎样才能在 Cassandra 中有效地解决这个问题?

我能想到的选项是使用小型 BATCH 进程(例如,1K 项目的数量为 1K)。在插入具有不同主键集的不同表时,我可能会遇到多个分区;

有什么想法吗? 谢谢

如果你在谈论数据库(Cassandra),那么你应该考虑数据建模点的很多事情。 您需要批量完成下面 link 中的数据建模详细信息。 https://docs.datastax.com/en/dse/6.0/cql/cql/ddl/dataModelingCQLTOC.html https://docs.datastax.com/en/dse/6.0/cql/cql/cql_reference/cql_commands/cqlBatch.html

此外,根据应用程序的性质,您应该考虑处理高写入或读取的压缩策略。