2011-12-26 75 views
3

我正在構建一個內部工具,它將是開源的,可以將日誌記錄到數據庫中 - 以簡化它。從那裏開始,該工具還將分析日誌並幫助系統管理員和開發人員實時發現所發生的問題。這是很多CPU來處理這個問題,而不是這個問題的範圍。存儲和分析日誌數據庫選擇

我想知道的是什麼數據庫來選擇將允許和快速執行的重點任務:

  • 存儲由事件類型
  • 歸類到的大量事件進行了大量的閱讀開發圖表來分析正在記錄的事件
  • 實時閱讀發送並觸發系統的自動警報。

其他任何幫助也將不勝感激。代碼開啓。

+0

MongoDB的應該是這個很好的解決方案,看看到[這](http://stackoverflow.com/questions/8336418/architecture-for-a-lot-of-data-logging-db-or-file/8337547#8337547)關於登錄mongodb。 –

回答

2

在我看來,對於您描述的任務,日誌的大量存儲,MongoDB的表現要好於RDBS。特別好的表演者是封頂收藏。 RDBS的主要性能滯後於我所看到的是插入時間。 RDBS的巨大劣勢是如果需要升級是一個主要的痛苦的架構。由於這些原因,我們已經開始走向MongoDB--請查看logFaces。如果您正在爲開源社區構建自己的工具,請嘗試確保它可以與任何數據庫一起使用,而不僅僅是特定的品牌。但隨後就變成了不那麼簡單的任務:)

(披露 - 我logFaces的原作者,因此認爲可能是偏頗)

1

僅存儲事件聽起來像一個簡單的模型,所以你可能想看看NoSQL數據庫。在這種情況下,我認爲真正大量數據的鍵值存儲/ bigtables會比基於文檔的數據庫更好。

大量的讀取和分析另一方面聲音就像你可能想建立一個數據倉庫系統。這是一種很好的舊SQL方法,沒有一些優化閱讀的規範化。儘管設計和實施可能需要一些時間。

+0

這實際上會導致您是否可以結合這兩個概念的問題。我還沒有找到答案。我真的很想知道,因爲我也在建立一個類似的系統,可以用與問題中相同(模糊)的單詞來描述。 – Kapep

+0

我正在研究MongoDB的NoSQL解決方案。 –