News for hackers. Stuff that matters.
Re:Citus Unforks from PostgreSQL, Goes Open Source by umur on Thursday March 24, 2016 @02:55PM (#11355368)
(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.

Re:Citus Unforks from PostgreSQL, Goes Open Source by flavor8 on Thursday March 24, 2016 @03:26PM (#11355672)
Thanks 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?

Re:Citus Unforks from PostgreSQL, Goes Open Source by lfittl on Thursday March 24, 2016 @05:09PM (#11356466)
Copying from 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.