2009-05-04 71 views

回答

5

在這裏和我自己的研究缺乏反應似乎表明,確實沒有開源的舉措將列存儲添加到PostgreSQL。

2008年,有關雅虎可能將Everest(PostgreSQL的專欄商店後端)外包出去,所以希望他們能夠發佈它。

3

Greenplum已經爲PostgreSQL創建了一個面向列的存儲引擎。

+2

你有鏈接到他們的面向列的項目嗎?雖然Greenplum是基於PostgreSQL的,但我不相信他們以開源的方式提供他們的技術。 – jasonmp85 2014-04-04 09:31:01

12

Citus Data已經爲PostgreSQL開發了一個開源的柱狀存儲擴展。它在Apache許可證2.0版下可用。它支持PostgreSQL 9.3和更高版本。

首先,創建擴展和國外服務器:

CREATE EXTENSION cstore_fdw; 

CREATE SERVER cstore_server FOREIGN DATA WRAPPER cstore_fdw; 

接下來,創建一些外國表:

CREATE FOREIGN TABLE customer_reviews 
(
    customer_id TEXT, 
    review_date DATE, 
    review_rating INTEGER, 
    review_votes INTEGER, 
    review_helpful_votes INTEGER, 
    product_id CHAR(10), 
    product_title TEXT, 
    product_sales_rank BIGINT, 
    product_group TEXT, 
    product_category TEXT, 
    product_subcategory TEXT, 
    similar_product_ids CHAR(10)[] 
) 
SERVER cstore_server 
OPTIONS(filename '/opt/citusdb/3.0/cstore/customer_reviews.cstore', 
     compression 'pglz'); 

最後,COPY數據插入表:

COPY customer_reviews FROM '/home/user/customer_reviews_1998.csv' WITH CSV; 

外國表可以查詢像任何其他表一樣。你甚至可以用普通表格加入他們。

更多示例和信息請參見related blog postthe project's home page

1

我正在尋找同樣的擴展/實現,而我正在玩monetDB。 從Citus Data發現cstore_ftw後,我來到了這個職位從monetDB:https://www.monetdb.org/content/citusdb-postgresql-column-store-vs-monetdb-tpc-h-shootout

由於cstore_ftw使用PostgreSQL的火山式查詢處理器, 我們立即懷疑這部分將成爲限制 因素其性能。

我沒有測試過自己,但(國際海事組織)MonetDB認真對待自己的東西。 我認爲如果MonetDB爲PostgreSQL創建一個擴展/實現,它將是完美的。現在我仍然在使用monetDB,同時在PostgreSQL上尋找新的功能。