Columnar storage. Vertica was the real innovator. Redshift, BigQuery, Snowflake, Citus, Timescale, etc just took the idea and ran with it.
Columnar storage. Vertica was the real innovator. Redshift, BigQuery, Snowflake, Citus, Timescale, etc just took the idea and ran with it.
I wonder if there are performance tradeoffs sometimes leading to slower than vanilla postgres?
> I wonder if there are performance tradeoffs sometimes leading to slower than vanilla postgres?
Speculation: alloydb probably has both a row store and a column store and some fancy logic to decide which one to use. That's usually what HTAP means.
In very broad strokes, columnar data stores struggle if you select many columns.
Theres not really any free lunch here, vanilla postgres is optimized to perform well within the constraints of a single scale-up host, minimizing storage usage as much as possible.
These Aurora style systems instead take the assumption that storage is relatively cheap in a cloud environment, and likewise with any compute task that can be scaled out instead of up. So move as much as possible out of the scale-up instance to scale-out storage and compute.
Additionally Google is claiming their system is better than Aurora because google has a distributed filesystem, where AWS only has block storage (tied to specific compute) and object storage (much worse performance).
This was very much the main lesson I got reading up on DataDog's third-gen event storage system Husky[1]. Great read.
[1] https://www.datadoghq.com/blog/engineering/introducing-husky... https://news.ycombinator.com/item?id=31416843 (185 points, 9d ago, 15 comments)
If you want to be technical, C-Store was the real innovator...and those people refined and commercialized it as Vertica.
edit: column stores existed before c-store, but c-store did some very nifty stuff around integrating compression awareness into the query executor