2014-11-21 66 views
2

我用我的日志中提取像非常有用的信息:使用时间戳作为日志记录的索引是个好主意吗?

  • 在这段时间里有多少是我的应用程序的用户?
  • 或者在这段时间内,哪种服务最被称为?

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

我还想知道我用哪种类型的数据库来存储我的日志? 我需要高性能的书写,但我也需要一个很好的执行时间来进行分析。

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

感谢您的帮助。

+0

正如Xarouma提到的那样,时间序列数据最好存储在cassandra或类似列的dbs中,而不是doc dbs中。我会尝试没有索引和索引一些近实时数据,看看它如何影响我的写/读。我要记住的一件事是索引的大小如何影响我的插入。 – prabugp 2014-11-21 16:16:54

+0

你的意思是“指数的大小如何影响我的插入”? – Mouna 2014-11-21 16:21:48

回答

0

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

+0

我不使用它作为主键,而是作为索引。 – Mouna 2014-11-21 15:52:29

+0

那么它将取决于你将使用哪种类型的数据库 – Xarouma 2014-11-21 15:56:09

+0

其实我使用MongoDB,但我不知道它是否是最好的我的用例。 – Mouna 2014-11-21 15:57:17

0

你可以使用类似“自X之后的毫秒数”作为时间戳,并用引号“0”填充它,如果你想让你的键全部相同长度。

即使这样,您也可能会遇到主键冲突。根据您的日志文件数据,您可以对同时戳的数据执行“附加”形式,并在同一个毫秒时间戳存储区中聚合不同的日志条目。

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

相关问题