Existe-t-il des projets open source en cours pour créer un moteur de stockage orienté colonnes pour PostgreSQL? Je sais que Yahoo en a créé un en interne, et qu'il existe des produits commerciaux basés sur PostgreSQL qui sont axés sur les colonnes.Moteur de stockage orienté colonne open source pour PostgreSQL?
Répondre
Le manque de réponses ici et ma propre recherche semble indiquer qu'il n'y a en effet pas d'initiatives open source pour ajouter du stockage de colonne à PostgreSQL.
Il a été question en 2008 de l'éventuelle sous-traitance de Everest par Yahoo (leur backend de magasin de colonnes pour PostgreSQL), donc nous espérons qu'ils vont le sortir.
Greenplum a créé un moteur de stockage orienté colonnes pour PostgreSQL.
Citus Data a développé une extension de magasin colonnaire open source pour PostgreSQL. Il est disponible sous la licence Apache v2.0. Il supporte PostgreSQL 9.3 et supérieur.
En premier lieu, la création de l'extension et un serveur étranger:
CREATE EXTENSION cstore_fdw;
CREATE SERVER cstore_server FOREIGN DATA WRAPPER cstore_fdw;
Ensuite, créez des tables étrangères:
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');
Enfin, COPY
données dans la table:
COPY customer_reviews FROM '/home/user/customer_reviews_1998.csv' WITH CSV;
Les tables étrangères peuvent être querie d comme toute autre table. Vous pouvez même les rejoindre avec des tables régulières. Des exemples et informations supplémentaires sont disponibles dans les codes related blog post et the project's home page.
Je cherchais le même genre d'extension/implémentation pendant que je jouais avec monetDB. Après avoir trouvé cstore_ftw de Citus Data Je suis venu dans ce poste de monetDB: https://www.monetdb.org/content/citusdb-postgresql-column-store-vs-monetdb-tpc-h-shootout
Depuis cstore_ftw utilise le processeur de requête de style volcan PostgreSQL, nous avons immédiatement doutions que ce composant serait le facteur limitant à sa performance .
Je n'ai pas testé moi-même mais (IMO) MonetDB sont sérieux avec leurs trucs. Je pense que ce sera parfait si MonetDB crée une extension/implémentation pour PostgreSQL. À l'heure actuelle, je continue de travailler avec monetDB tout en recherchant de nouvelles fonctionnalités sur PostgreSQL.
Avez-vous un lien vers leur projet axé sur les colonnes? Bien que Greenplum soit basé sur PostgreSQL, je ne crois pas qu'ils offrent leur technologie de façon open source. – jasonmp85