Колонно-ориентированный движок с открытым исходным кодом для PostgreSQL? - PullRequest
22 голосов
/ 04 мая 2009

Есть ли в разработке проекты с открытым исходным кодом для создания механизма хранения данных на основе столбцов для PostgreSQL? Я знаю, что Yahoo создала один собственный продукт, и что существуют коммерческие продукты, основанные на PostgreSQL, которые ориентированы на столбцы.

Ответы [ 4 ]

17 голосов
/ 04 апреля 2014

Citus Data разработал расширение столбцов хранилища с открытым исходным кодом для PostgreSQL. Он доступен под лицензией Apache 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;

Внешние таблицы могут запрашиваться, как и любая другая таблица. Вы даже можете присоединиться к ним с обычными столами.

Дополнительные примеры и информацию можно найти в связанных блогах и на главной странице проекта .

5 голосов
/ 06 мая 2009

Отсутствие ответов здесь и мое собственное исследование, кажется, указывают на то, что действительно нет инициатив с открытым исходным кодом для добавления хранилища столбцов в PostgreSQL.

В 2008 году говорилось о возможном аутсорсинге Yahoo Everest (их хранилище столбцов для PostgreSQL), поэтому мы надеемся, что они выпустят его.

3 голосов
/ 17 марта 2012

Greenplum создал ориентированный на столбцы механизм хранения для PostgreSQL.

1 голос
/ 28 декабря 2014

Я искал такое же расширение / реализацию, пока играл с monetDB. После нахождения cstore_ftw из Citus Data я пришел в этот пост из monetDB: https://www.monetdb.org/content/citusdb-postgresql-column-store-vs-monetdb-tpc-h-shootout

Поскольку cstore_ftw использует обработчик запросов в стиле вулкана PostgreSQL, мы сразу заподозрили, что этот компонент будет ограничивающим фактор его производительности.

Я не проверял себя, но (IMO) MonetDB серьезно относится к своим вещам. Я думаю, что будет идеально, если MonetDB создаст расширение / реализацию для PostgreSQL. Сейчас я все еще работаю с monetDB, пока ищу новые возможности PostgreSQL.

...