Подтвердить что ты не робот

Механизм хранения с открытым исходным кодом для PostgreSQL?

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

4b9b3361

Ответ 1

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;

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

Дополнительные примеры и информация доступны в связанном блоге и главная страница проекта.

Ответ 2

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

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

Ответ 3

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

Ответ 4

Я искал такой же тип расширения/реализации, пока я играл с 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.