2012-11-13 30 views
-1

我目前有很多我想分析和計算的財務數據。我已經構建了一個從平面文件中讀取數據的系統,並執行了一些體面的智能緩存來保持我想要的性能。但我開始有這個系統的數據量...面向列的財務數據分析數據庫

目前我想使用的Postgres和具有模式有點像這樣:

Table: Things 
Fields: T_id, Row, Sub-Row, Column, Resolution, Readable-Name, Meta 

Table: Data 
Fields: d_id, T_id, timestamp, value 

我在想,如果Postgres的是高性能與上面的模式,如果我的數據表有數十億行。

我的另一個想法是使用了一個面向列的數據庫,但我似乎無法找到任何開源的開源代碼。卡桑德拉真的不是因爲這種情況而製造的,因爲我讀得比寫作要多得多。

+1

這聽起來像你有一個OLAP的工作量(HTTP:// EN。 wikipedia.org/wiki/Online_analytical_processing)。如果是這樣,請閱讀http://en.wikipedia.org/wiki/Star_schema。 –

回答

1

取決於您的期望 - PostgreSQL可能可以在您的模式上處理這些查詢,但可能需要幾分鐘或幾小時的查詢 - 取決於已處理的行 - 但列存儲數據庫可能會更快10倍 - 只是PostgreSQL是關係型OLTP數據庫和您的架構不正常,可能您更喜歡OLAP。

有一些開源列存儲數據庫,如MonetDB或LucidDB,但他們不是從PostgreSQL的空間。只有商業數據庫Vertica。你可以看一下MySQL的引擎http://www.mysqlperformanceblog.com/2010/08/16/testing-mysql-column-stores/

0

答案取決於你的預算。

這裏是我們用實踐(從便宜到昂貴的)解決方案的列表:

MongoDB的 PostgreSQL的 InfiniDB KDB +