【发布时间】:2015-10-19 10:45:12
【问题描述】:
我是 Cassandra 的新手。据我了解,每个键空间可以存储的最大表数是 Integer.Max_Value。但是,从性能角度(速度、存储等)来看,如此大量的表意味着什么?对此有什么建议吗?
【问题讨论】:
标签: database cassandra key-value-store
我是 Cassandra 的新手。据我了解,每个键空间可以存储的最大表数是 Integer.Max_Value。但是,从性能角度(速度、存储等)来看,如此大量的表意味着什么?对此有什么建议吗?
【问题讨论】:
标签: database cassandra key-value-store
虽然在 Cassandra 中有大量表的合法用例,但它们很少见。您的用例可能是其中之一,但请确保它是其中之一。如果不了解您要解决的问题的更多信息,显然很难提供指导。显然,许多表将需要更多资源。多少?这取决于设置和使用情况。
例如,如果您有 1000 个表并同时向所有表写入,则会出现 RAM 争用,因为每个表都会有 memtable,并且每个 memtable 都有一定的开销(多少取决于 Cassandra 的版本、您的设置等)。
但是,如果您有 1000 个表但没有同时写入所有表,那么争用就会减少。仍然存在每个表的开销,但会有更多的 RAM 来保持活动表的内存表。
磁盘 IO 也是如此。如果您同时读取和写入许多不同的表,磁盘将执行更多的随机 IO。
拥有很多表并不是什么大问题,尽管您可以拥有的数量是有限的——只要您有足够的 RAM 来保持跟踪它们的结构,您就可以拥有任意数量的表.但是,拥有大量表格并同时读取和写入它们将是一个问题。与对更少的表执行相同数量的读取和写入操作相比,它需要更多的资源。
【讨论】:
在我看来,如果您可以将数据拆分为多个表,甚至数千个,是有益的。
优点:
缺点:
另外,请查看链接,它们对我帮助很大
http://manuel.kiessling.net/2016/07/11/how-cassandras-inner-workings-relate-to-performance/
https://www.infoq.com/presentations/Apache-Cassandra-Anti-Patterns
请随意编辑我的帖子,我对大数据有点陌生
【讨论】: