I am trying to determine how suitable Cassandra is for my application, as it is unknown how much we will need to scale in the future and could occur rapidly. I have been watching various segments of the C*Summit 2013.
Specifically, Axel Liljencrantz, Backend Developer at Spotify, says here that you can expect Cassandra performance to degrade over time if your model requires you to update the same row over and over.
我的模型要求是具有已知字段的"文档存储"类型,其值在几个月内变化,因为它满足各种实际要求/状态点.需要在存储的各种文档中执行各种查询和计数.
那么:是否有任何合适的方法来缓解这种情况,如果所有文件在它们保持固定之前通常具有相同的已知平均寿命,那么历史数据是什么?
通过存储版本号并在信息更新时将整个文档重写为新行,是否构思错误?
如果您的模型要求您反复更新同一行,那么您可以预期Cassandra性能会随着时间的推移而降低
- >这是因为同一行跨越了十几个SSTables(SizeTiered Compaction).Cassandra中有新的Leveled Compaction可以减轻它,更多信息在这里
我的模型要求是具有已知字段的"文档存储"类型,其值在几个月内变化,因为它满足各种实际要求/状态点.
如果您的文档具有"已知字段",那么每个表将有固定数量的"列".虽然更新频繁但不是问题(前提是你选择了如上所述的Leveled Compaction),因为它不是"扩展"
如果所有文件在保持固定之前通常具有相同的已知平均寿命
如果您的文档在最终版本和不可变版本之前几个月经常更改,则可以先将它们存储在配置为支持频繁更新的列族中.在它们成为最终版之后,将它们移动到另一个配置为稳定且读取高效的列族
| 归档时间: |
|
| 查看次数: |
4757 次 |
| 最近记录: |