3 ms·
I was hoping this was an implementation of the schemaless indexing [1], which is the foundation for Azure DocumentDB. That design allows arbitrary nested JSON
by atombender 2y ago
I was hoping this was an implementation of the schemaless indexing [1], which is the foundation for Azure DocumentDB.
That design allows arbitrary nested JSON data to be indexed using inverted indexes on top a variation of B-trees called Bw-trees, and seems like a nice way of indexing data automatically in a way that preserves the ability to do both exact and range matching on arbitrarily nested values.
[1] https://www.vldb.org/pvldb/vol8/p1668-shukla.pdf https://www.vldb.org/pvldb/vol8/p1668-shukla.pdf
- isignal 2y agoPostgres supports indexing an arbitrary json document. https://www.postgresql.org/docs/current/datatype-json.html https://www.postgresql.org/docs/current/datatype-json.html Not sure if the query capabilities and syntax match azure docdb but the basic functionality should be workable.
- atombender 2y agoOf course it does, but it's limited. GIN does not support range searches (needed for <, <=, >, >=), prefix or wildcard, etc. It also doesn't support index-only scans, last I checked. You cannot efficiently ORDER BY a nested GIN value. I recommend reading the paper.