2012-10-03 98 views
3

我目前正在開發一個大型Web應用程序,它可以產生大量的日誌數據。由於我們沒有將所有事件記錄到數據庫的基礎設施,因此我們將它們寫入文件。不幸的是,這使得搜索特定事件的日誌非常困難,並且無法根據頻率生成報告。使用AWS進行應用程序日誌記錄數據庫

在試圖找出如何實現更好的數據庫日誌時,我發現了亞馬遜的服務。具體爲SimpleDBDynamoDB。其中一個用例的SimpleDB是logging,但後來它指出

亞馬遜SimpleDB的設計用於存儲相對少量的數據...

這似乎是矛盾的。以下是我的問題:

  1. 這些數據庫服務是否適合記錄應用程序事件?
  2. 適合從日誌數據生成報告嗎?
  3. 我會使用時間戳作爲我的主鍵嗎?
  4. 這種服務或其他我應該考慮的東西有缺點嗎?

回答

4

我的回答基於我在生產環境中使用SimpleDB的經驗。

  1. 我每天記錄數千個應用程序事件給SimpleDB。
  2. 我們有研究人員定期從SimpleDB中提取日誌數據,他們從未抱怨過。我不確定在SimpleDB本身上運行報表查詢,但我不明白爲什麼這會是一個問題,當我運行查詢時,他們對我來說總是很快。
  3. SimpleDB索引所有列,沒有「主鍵」。
  4. 我個人不喜歡使用與SimpleDB進行交互的第三方工具。另外,根據您將使用多少數據和處理來考慮價格。
+0

謝謝,感謝您的反饋。我會讓問題公開幾天,看看是否有任何其他信息即將出現,但您的回答正是我所期待的。 – Sparafusile

2
SimpleDB的

設計爲存儲相對少量的數據。如果您有「大量的日誌數據」,並且想要「搜索特定事件的日誌」和「按頻率生成報告」,那麼您肯定希望使用DynamoDB。

DynamoDB具有允許您以各種方式對數據進行排序的「散列鍵」(例如索引)和「範圍鍵」。例如:「顯示所有從上週到現在的INFO日誌。」

此外,如果您查看official DynamoDB forum,開發人員和支持人員非常善於跟蹤並確保您的問題得到解答。

相關問題