2014-11-21 70 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」填充它,如果你想讓你的鍵全部相同長度。

即使這樣,您也可能會遇到主鍵衝突。根據您的日誌文件數據,您可以對同時戳的數據執行「附加」形式,並在同一個毫秒時間戳存儲區中聚合不同的日誌條目。

否則,如上所述,您可以添加某種特殊的時間戳+計數以允許多個相同時間戳的數據。

相關問題