* Citus (cstore_fwd) extension
* Azure CosmosDB for PostgreSQL
* GCP AlloyDB for PostgreSQL
* AWS Redshift (but very old Postgres base)
* Citus (cstore_fwd) extension
* Azure CosmosDB for PostgreSQL
* GCP AlloyDB for PostgreSQL
* AWS Redshift (but very old Postgres base)
Fwiw, the main use case we had in mind when developing the Citus columnar table access method was compression of old data in a time-partitioned table. Citus is commonly used for real-time analytics on time series data. That involves more materialization than typical OLAP reporting use cases. However, you might still want to keep the source data in the database for ad-hoc queries or future materialization and it's preferable to keep the source data in compressed form.
Redshift is specifically architected for ad-hoc OLAP queries. AlloyDB I'm not sure.
I am wondering why they are saying it is not for OLAP workload..
But I should look at TiDB, they looks like interesting and relatively mature project.
https://www.cockroachlabs.com/blog/vectorized-hash-joiner/
https://www.cockroachlabs.com/blog/vectorizing-the-merge-joi...
...it seems the distinction here is that the vectorization is only present in the execution layer and not the storage layer also. I would guess that from a storage perspective, even with column families in play, everything is being streamed out of sorted a LSM engine regardless. So there isn't additionally some highly-tuned buffer pool serving up batches of compressed column files etc.
Another example is cassandra is not column oriented.