2012-04-10 91 views
3

這更像是一個建築問題,而不是技術本身。數據倉庫和Django

我目前正在建立一個商業網站/社交網絡,需要存儲大量數據並使用該數據來繪製分析(消費者行爲)。

我正在使用Django和PostgreSQL數據庫。

現在我的問題是:我想擴展這個架構以包含數據倉庫。理想情況是:操作數據庫將是當前的Django PostgreSQL數據庫,而數據倉庫則是額外的,最好是多維模型。

我們現在還處於一個很早的階段,我們要用50個用戶進行測試,所以對於初學者來說,諸如單列表等原始設計就足夠了。

我想知道是否有人在這種情況下有經驗,這可能會建議我創建一個數據倉庫的框架,同時使用易於使用的Django模型來維護操作數據庫(如果可能)。

預先感謝您!

+0

如何複製到您的數據倉庫? – Marcin 2012-04-10 17:08:09

回答

7

這裏有一些很酷的開源工具,我最近使用過的:

  • Kettle - 偉大的ETL工具,你可以用它來從你的操作數據庫中的數據提取到倉庫。使用JDBC驅動程序支持任何數據庫,並且可以非常輕鬆地構建星型模式。
  • Saiku - 建立在Pentaho Mondrian(MDX實現)上的漂亮Web 2.0前端。這允許用戶輕鬆構建複雜的聚合查詢(在Excel中考慮數據透視表),Mondrian圖層提供緩存等,使事情變得快速。在這裏試試the demo
+0

謝謝,這些都是非常好的候選人。這可能是我所需要的。 – 2012-04-11 20:33:41

+0

+1。 Hi Ramseyer,我使用SSAS + Tableau Software開發了一些OLAP項目。對於非營利組織,我將與Mondrian + Saiku開始一個新項目。如果您想與我分享您的專業知識,我可以將您的電子郵件地址發送給您。只有在切換到此環境之前才知道需要記住的內容。 – danihp 2012-11-16 17:57:51

0

我的答案不一定適用於數據倉庫。在你的情況下,我看到可以實現一個NoSQL數據庫解決方案以及一個OLTP關係存儲,在這種情況下是PostgreSQL。

爲什麼要考慮NoSQL?除了顯着的可伸縮性優勢外,NoSQL還提供了許多可能將應用於您的方案的優勢。例如,具有不同字段集合的記錄以及基於密鑰的訪問的靈活性。

由於您仍處於「試用」階段,您可能會發現根據您的託管服務提供商決定選擇NoSQL數據庫解決方案會更容易。例如AWSSimpleDB,Google App Engine自己提供DataStore等等。不過有很多其他的NoSQL解決方案可以讓你擁有很好的Python綁定。

+1

對我而言,可擴展性的好處並不明顯。一個社交網站正在考慮按照您所描述的內容進行描述並對其考慮的產品進行基準測試請參閱他們的結果在這裏的演示文稿:http://www.pgcon.org/2010/schedule/attachments/141_PostgreSQL-and-NoSQL.pdf第33頁和第34頁有產品的時間圖(更短的酒吧意味着更好的性能)。 – kgrittn 2012-04-10 17:02:02

+0

謝謝你的建議。但是,考慮到我需要執行包含聚合的非常複雜的查詢,支持OLAP而不是OLTP的系統將是首選,是正確的嗎? – 2012-04-11 20:34:20

+0

@VascoPatricio確實。 – 2012-04-11 20:45:57