2015-09-28 42 views
0

只是爲了一些背景。我使用d3.js和dc.js(帶有交叉過濾器)開發了一個類似於此處的酒店數據分析儀表板(此處爲「https://my.infocaptor.com/free_data_visualization.php」D3 Builder)。這是一個Django項目,我使用的數據庫是Postgresql。我目前正在研究一個通用的條形圖系列,它最終將允許用戶選擇他們希望以條形圖格式相互繪製的字段(從提供的數據集中)。大數據檢索和處理Python和PostgreSQL

我的數據庫包含1000萬個條目,每個條目有54個字段(單個表)。檢索用於繪製基於時間的條形圖的三個字段需要一分鐘。在Python中處理數據(更改列鍵名稱以匹配通用條形圖的數據)並將數據轉換爲要用於圖形的json格式需要花費幾分鐘的時間,這對於我所期望的應用程序來說是不可接受的。

是否有可能「平行」查詢數據庫,並且這會比我目前正在做的(普通查詢)更快。我環顧了一下,發現並不多。有沒有我可能用來快速解析我的數據到所需格式的庫或優化函數?

+0

是不是從一開始就直接使用json文件的選項,而不是從數據庫構建它? –

+0

@YannisP我想過這樣做,我確實嘗試過這樣的事情,但也許我應該再試一次。謝謝! –

回答

0

我工作過類似的桌子尺寸。那麼,對於你正在尋找的東西,你需要切換到分佈式Postgres環境,即MPP體系結構的Greenplum,並支持列式存儲。這對於具有大量列和表格大小的表格是理想的。

http://docs.aws.amazon.com/redshift/latest/dg/c_columnar_storage_disk_mem_mgmnt.html

如果你不打算切換到Greenplum的,你可以嘗試在你目前的Postgres數據庫表分區。您的儀表板查詢應該能夠查詢單個分區,這樣您最終可以查詢較小的分區(表),查詢時間將快得多。

+0

我會看看,謝謝你的鏈接 –