我必须为客户设计数据库,让他们在未来24个月内通过多个供应商获得数百万种材料的价格。因此,该数据库将在未来24个月内每天存储特定供应商供应的每种材料的价格。现在我有多个用例需要解决,所以我创建了多个表来以最好的方式解决每个用例。现在,向这些表中插入数据将定期在一个大数据块中进行(比如1k项),这也应该确保数据的一致性,即数据应该插入到所有表中,或者不插入任何一个表中。如果不这样做,则应标记为“失败”,不插入进一步的操作。我怎样才能在Cassandra有效地解决这个问题?
我能想到的一个选择是使用小批量流程(例如,1k项的数量为1k)。在插入到具有不同主键集的不同表中时,我可能会碰到多个分区;
有什么想法吗?谢谢
1条答案
按热度按时间bvk5enib1#
如果您正在谈论关于数据库(cassandra)的问题,那么您应该考虑数据建模点的许多事情。您需要在下面的batch链接中查看数据建模的详细信息。https://docs.datastax.com/en/dse/6.0/cql/cql/ddl/datamodelingcqltoc.htmlhttpshttp://docs.datastax.com/en/dse/6.0/cql/cql/cql\u参考/cql\u命令/cqlbatch.html
此外,根据应用程序的性质,您应该考虑处理高写或高读的压缩策略。