3 ms·
I've always thought that it would be super valuable if you could mark groups of columns to be stored together. This would move Postgres from pure row-oriented t
by kevincox 4y ago
I've always thought that it would be super valuable if you could mark groups of columns to be stored together. This would move Postgres from pure row-oriented to somewhere between row and column oriented. So for example if you have some rarely accessed columns you could mark those to be stored out of line. IDK if TOAST could be reused here or if it should be more like a different table with an implicit join.
- latch 4y agoCockroachDB has column families which we use in a very few cases. We have some fairly wide tables with a few stats columns that are updated normally a few times per second, but can go up to hundreds of times per second.
- jve 4y agoYou mean not having purely column index for ColumnA, but looking up row within ColumnbB and then having all the column values from ColumnA where ColumnC = D ?
- chrisjc 4y agoVery interesting idea... Perhaps a way to describe the sets of columns (clusters) and maybe even whether the cluster is row or column-oriented. But if you want to split the table between frequently and rarely accessed sets of columns you could just use a view to bring different types of tables together? Eg: a view that brings a row-oriented table together with a column-oriented one? Or row-oriented table together with an external table (storage). Obviously, DMLs would then become a little more complicated.
- kevincox 4y agoYeah, you can do this manually. In many cases probably almost as efficiently. But having this done with only a small configuration would be very powerful.