2009-05-04 11 views

答えて

5

ここでは回答が不十分で、私自身の研究は、実際にPostgreSQLにカラムストレージを追加するオープンソースの取り組みがないことを示しているようです。

2008年にはYahooがおそらくEverest(PostgreSQLのコラムストアバックエンド)をアウトソーシングするという話がありましたので、ここでリリースすることを期待しています。

3

Greenplumは、PostgreSQL用の列指向ストレージエンジンを作成しました。

+2

列指向プロジェクトへのリンクがありますか? GreenplumはPostgreSQLベースですが、私は彼らがオープンソースの方法で彼らの技術を提供しているとは思いません。 – jasonmp85

12

Citus Dataは、PostgreSQL用のオープンソースの列ストア拡張を開発しました。これはApache License v2.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から、このポストに入って来た:cstore_ftwのでPostgreSQLの火山スタイルのクエリプロセッサ、 我々はすぐにこのコンポーネントは、その性能に制限 要因だろうと疑わを使用しているhttps://www.monetdb.org/content/citusdb-postgresql-column-store-vs-monetdb-tpc-h-shootout

私は自分自身をテストしていませんが、(IMO)MonetDBは本物です。 MonetDBがPostgreSQL用の拡張/実装を作成すると完璧だと思います。今はPostgreSQLの新機能を探している間にmonetDBを使って作業しています。