我正在测试一个应用程序,其中集合的大小将来会增长,64k是在某些情况下可能达到的限制。什么是正确的卡桑德拉收集限制?
这个问题是关于收集大小的限制,因为在官方文档中似乎有矛盾。
按this文件:
如果插入超过64K项目插入集合,其中只有 的64K将可查询,从而导致数据丢失。
但是,如果你点击到CQL Limits link是很页面上,你看到这一点:
的集合(list):集合大小:2B(2^31);值大小:65535(2^16-1)(Cassandra 2.1及更高版本,使用本地协议v3)
收藏(集):收藏大小:2B(2^31);值大小:65535(2^16-1)(卡桑德拉2.1和更高,使用本机协议V3)
集合(MAP):集合大小:2B(2^31);按键数:65535(2^16-1);值大小:65535(2^16-1)(卡桑德拉2.1和更高,使用 本地协议V3)
所以哪一个是什么?每个藏品64k个项目,或每个藏品20亿个项目?或者是20亿可写但不可读超过64k?
在此先感谢。
虽然这是稍微偏离主题,请注意更新集合,您需要小心如何实施它以避免过多的墓碑,请参阅此技术说明:https://support.datastax.com/hc/en-us/articles/205368125 – markc
感谢您的观察@markc - 我只在所有设置/列表/地图相关的查询中使用更新。这似乎更自然。 –