Moteur de stockage à colonne à source ouverte pour PostgreSQL?
y a-t-il des projets open source en cours pour créer un moteur de stockage à colonnes pour PostgreSQL? Je sais que Yahoo en a créé un en interne, et qu'il y a des produits commerciaux construits sur PostgreSQL qui sont orientés colonne.
4 réponses
Données De Citus a développé une extension de magasin en colonne libre pour PostgreSQL. Il est disponible sous la licence Apache v2.0. Il prend en charge PostgreSQL 9.3 et supérieur.
tout D'abord, créer l'extension et un serveur étranger:
CREATE EXTENSION cstore_fdw;
CREATE SERVER cstore_server FOREIGN DATA WRAPPER cstore_fdw;
Ensuite, créer des tables:
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 interrogées comme n'importe quelle autre table. Vous pouvez même les rejoindre avec tables régulières.
Plus d'exemples et d'informations sont disponibles dans un blog liées et page d'accueil du projet.
Le manque de réponses ici, et ma propre recherche semble indiquer qu'il y a en effet pas open source, initiatives pour ajouter une colonne de rangement pour PostgreSQL.
il y a eu quelques discussions en 2008 au sujet de L'externalisation possible de L'Everest par Yahoo (leur colonne de magasin back end pour PostgreSQL), donc voici l'espoir qu'ils vont le libérer.
je cherchais le même type d'extension/implémentation pendant que je jouais avec monetDB. Après la découverte d' cstore_ftw Données De Citus je suis entré dans ce post de monetDB: https://www.monetdb.org/content/citusdb-postgresql-column-store-vs-monetdb-tpc-h-shootout
puisque cstore_ftw utilise le processeur de requête de style volcano de PostgreSQL, nous avons immédiatement soupçonné que cette composante serait la limite facteur de ses performances.
Je ne me suis 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. En ce moment, je travaille toujours avec monetDB tout en cherchant de nouvelles fonctionnalités sur PostgreSQL.