2011-10-14 55 views
2

我們想要設計一個關係數據庫來保存請求消息(http/s,xmpp等)的日誌。爲了生成日誌,我們使用基於Apache synapse esb的解決方案。但是,由於我們想要存儲日誌並僅爲維護問題讀取日誌,因此讀/寫比率會很低。 (由於系統會接收許多要記錄的消息,因此寫入次數會很高)。我們考慮使用Cassandra來實現其分佈式性質和羣集功能。但是,對於Cassandra數據庫模式而言,使用過濾器的搜索查詢很困難,總是需要二級索引。使用哪種策略設計日誌數據存儲?

爲了保持簡短,我的問題是我們應該嘗試使用mysql的集羣解決方案還是使用Cassandra和適當的模式設計來進行帶有過濾器的搜索查詢?

回答

0

如果您希望對半結構化或非結構化數據進行實時分析,可以使用Cassandra + Hadoop集羣。由於卡桑德拉維基本身建議Datastax Brisk版本,因爲這種類型的體系結構。值得一試

另一方面,如果您希望對原始日誌實時查詢小數據集。防爆。

select useragent from raw_log_table where id='xxx'

那麼你應該做大量的研究過你行鍵列鍵設計。因爲這決定了查詢的複雜性。好看看的人在這裏http://www.datastax.com/cassandrausers1

關於案例研究, 泰米爾