back

by pella·3y ago·view on hn ↗
Congratulations!

Can we expect support for gist, gin, spgist, and brin indexes sometime in the near future?

Based on the source code, it appears that they are not supported:

https://github.com/hydradatabase/hydra/blob/96056312e7c0f413...

"... Columnar supports `btree` and `hash `indexes (and the constraints requiring them) but does not support `gist`, `gin`, `spgist` and `brin` indexes."

1 comments
Do different kinds of indexes work better for columnar storage? Or is it the same principles for both?
Difference principles of indexing, as least based on my experience with ClickHouse.

* Column-based stores have really fast scans due to compression and vectorization, so you'll generally always read down the column. The way to speed it up is to have "skip indexes" that allow you to skip blocks, e.g., don't even bother to read/decompress them.

* Commonly used indexes need to be very sparse, so they fit in memory even when tables run to hundreds of billions of rows.

* Finally highly compressed columns can be used as indexes to filter data rapidly. ClickHouse calls this PREWHERE processing.

Edit: clarify skip indexes