我需要维护存储大量计数器的小时表。我计划在任何时候只保留当前的小时表和前一小时的表,因为旧数据对我来说并不重要。
例如。如果时间是下午 4 点 30 分,我将在下午 3:00 - 4:00 有一个小时表,而当前的小时表是下午 4:00 - 4:30。一旦时间超过 5:00 pm,我删除 3:00-4:00 pm 表。
每个每小时的表将增长到最大 7-8 gb 的大小,并且查询是高度并发和面向写入的(10:1 写入:读取,每秒 20,000 次写入和平均每秒 2000 次读取)。
由于数据的大小很小(我的数据库中最大 10gb)并且所有查询都是计数器增量,我应该选择像 Cassandra(计数器列)这样的 key val 存储还是像 Redis 这样的内存数据库。(我打算对数据库进行分区以分割巨大的写入负载)?
谢谢。