PostgreSQL用の列指向ストレージエンジンを作成するためのオープンソースプロジェクトはありますか?私はYahooが社内で作成したものであり、列指向のPostgreSQLで構築された商用製品があることを知っています。PostgreSQL用のオープンソース列指向ストレージエンジン?
答えて
ここでは回答が不十分で、私自身の研究は、実際にPostgreSQLにカラムストレージを追加するオープンソースの取り組みがないことを示しているようです。
2008年にはYahooがおそらくEverest(PostgreSQLのコラムストアバックエンド)をアウトソーシングするという話がありましたので、ここでリリースすることを期待しています。
Greenplumは、PostgreSQL用の列指向ストレージエンジンを作成しました。
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 postとthe project's home pageです。
私は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を使って作業しています。
列指向プロジェクトへのリンクがありますか? GreenplumはPostgreSQLベースですが、私は彼らがオープンソースの方法で彼らの技術を提供しているとは思いません。 – jasonmp85