5 ms·
(Part 2) Now comes the storage engine, and cstore_fdw as it relates to PostgreSQL. Built by the Citus Data team, cstore_fdw is entirely a separate component fro
by umur 10y ago
(Part 2) Now comes the storage engine, and cstore_fdw as it relates to PostgreSQL. Built by the Citus Data team, cstore_fdw is entirely a separate component from the Citus product above. It enables columnar storage for your vanilla, single-node PostgreSQL to provide data compression for faster analytics. As such, cstore_fdw does not come with any of the parallelism I've described above that Citus (or Redshift, Vertica etc.) provides.
Precisely because cstore_fdw is built for PostgreSQL, and Citus is PostgreSQL (see Part 3), however, you can still choose to use cstore_fdw as the storage engine for your Citus cluster. Citus will still parallelize the queries as you'd expect it to, but instead of hitting row- based tables, they will hit columnar ones. cstore_fdw has certain limitations, importantly it is not updatable; so we don't consider it as an alternative to a data warehouse. Rather, it is useful if you are archiving your quickly growing timeseries / event data on PostgreSQL or Citus.
- flavor8 10y agoThanks for the answers - makes a lot of sense. I'm replying to this one just to clarify one point: > cstore_fdw has certain limitations, importantly it is not updatable Does it support insert, or are tables completely immutable once created?
- lfittl 10y agoCopying from https://github.com/citusdata/cstore_fdw#usage https://github.com/citusdata/cstore_fdw#usage To load or append data into a cstore table, you have two options: You can use the COPY command to load or append data from a file, a program, or STDIN. You can use the INSERT INTO cstore_table SELECT ... syntax to load or append data from another table. Note: We currently don't support updating table using DELETE, and UPDATE commands. We also don't support single row inserts. So I think you can certainly mutate tables, but the focus is on bulk-inserts, rather than individual append actions.