我一直在考慮Cassandra文檔和YouTube上的視頻幾個星期了。卡桑德拉數據模型相關應用
我正在實施一個日誌存儲和關聯繫統,我想用Cassandra來做這件事。儘管如此,我似乎無法圍繞這種類型的應用程序的Cassandra數據模型進行研究。我無法找到這種類型的應用程序的最佳數據模型的深度示例。
日誌記錄系統圍繞HTTP網絡流量。我的日誌源將及時擴展,但現在它們將包括代理日誌,應用程序日誌以及其他一些包含主機名/ IP和事件數據的系統日誌。
我的關聯將圍繞源和目標IP地址以及主機名,域名,geoip-location,http方法(GET/PUT/Connect)以及圍繞請求的文件類型的其他一些可能的相關性(例如, jar .exe .pdf)。在所有這些情況下,時間上的相關性也很重要。
我讀過許多地方的數據建模的Cassandra開始思考你將運行的查詢。所以我在這裏指定了幾個例子。有更多的例子,但以下將是一個好的開始,任何查詢都將遵循類似的相關模式。
實例查詢1: 告訴我在哪裏IP 10.0.0.1已在日誌中看到了與過去24小時內的URL .jar擴展或過去的一週
實例查詢2: 告訴我所有的PUT請求去域xyz.com在過去24小時
實例查詢3: 顯示我從time01源主機192.168.1.1的所有日誌事件通過time02
示例查詢4: 向我展示昨天發生的10.0.0.1和192.168.1.1之間的所有通信。
示例查詢5: 將所有新事件與現有域和IP列表進行比較,並向我顯示包含這些IP和域的任何新事件。
我可以根據需要提供更多細節。任何指導都會有用。
謝謝!
我只是在尋找指針和指導下,我在我的最後一句說。即使只是鏈接到類似的項目或實施將是一個很大的幫助。 – user3324184
對於每個查詢,找到您詢問的單個實體是什麼:這是您的分區鍵(主鍵中的第一列)。然後找出你的查詢在哪一列做一個切片(即:讀取相鄰行) - 這些是你的「在X和Y之間」或「在最後X」或類似內容。這些列必須是您的集羣密鑰(PKey的2+列)。最後,您需要將數據複製到您需要支持所有查詢的儘可能多的表中。 –
就相關性和其他複雜的分析而言,您可能需要MapReduce,Cassandra本身無法有效解決此問題。 –