我是Cassandra的新手。据我所知,每个键空间可以存储的最大表数是Integer.Max_Value。但是,如此大量的表格的性能视角(速度,存储等)会产生什么影响?对此有什么建议吗?
答案 0 :(得分:9)
虽然在Cassandra中有大量表格的合法用例,但它们很少见。您的用例可能是其中之一,但请确保它是。如果不了解您正试图解决的问题,显然很难给出指导。显然,许多表将需要更多资源。多少?这取决于设置和使用情况。
例如,如果你有一千个表并同时写入所有表,那么会有争用RAM,因为每个表都有memtables,每个memtable都有一定的开销(多少)取决于哪个版本的Cassandra,您的设置等。)。
但是,如果你有一千个表,但不能同时写入所有表,那么争用就会减少。仍然存在每个表的开销,但是将有更多的RAM来保存活动表的memtables。
磁盘IO也是如此。如果您同时读取和写入许多不同的表,则磁盘将执行更多随机IO。
只是拥有大量的表并不是一个大问题,即使你可以拥有多少个限制 - 如果你有足够的RAM来保持跟踪它们的结构,你可以拥有任意数量的表。但是,拥有大量表格并同时读取和写入这些表格将是一个问题。与对较少的表执行相同数量的读写操作相比,它将需要更多资源。
答案 1 :(得分:1)
在我看来,如果你可以将数据分成多个表,甚至数千个,这是有益的。
优点:
缺点:
另外,查看链接,他们帮了我很多http://manuel.kiessling.net/2016/07/11/how-cassandras-inner-workings-relate-to-performance/
https://www.infoq.com/presentations/Apache-Cassandra-Anti-Patterns
请随意编辑我的帖子,我是Big Data的新手