使用时间戳作为记录索引是一个好主意吗?

时间:2014-11-21 15:45:25

标签: java indexing nosql

我使用我的日志来提取非常有用的信息,如:

  • 在这段时间内,我的应用程序的用户数量是多少?
  • 或者在这段时间内,什么类型的服务被称为最多?

我提取的几乎所有信息都取决于时间戳,所以我想知道将它用作索引是否是一个好主意?

我想知道我用来存储日志的数据库类型是什么? 我需要高性能的写作,但我也需要一个良好的执行时间来进行分析。

请注意,如果我将时间戳添加为80GB的索引,则索引大小将为12GB。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

要存储您的日志,请尝试cassandra! 您不应该仅将时间戳用作主键,因为您可以在同一时间拥有多个日志。您可以使用时间戳+其他内容作为主键

答案 1 :(得分:0)

你可以使用类似“自X以来的毫秒”之类的东西作为时间戳,如果你希望你的密钥都具有相同的长度,可以使用前导“0”来填充。

即使这样,您也可能发生主键冲突。根据您的日志文件数据,您可以对相同时间戳的数据执行“附加”操作,并在相同的毫秒时间戳存储桶下聚合不同的日志条目。

否则,如上所述,您可以添加某种特殊时间戳+计数以允许多个同时加盖的数据。