Assigned
Status Update
Comments
ro...@google.com <ro...@google.com> #2
I have forwarded your request to our engineering team. I cannot provide an E.T.A. or guarantee that this feature will be deployed. Rest assured that your feedback is always seriously taken. Any future updates will be posted on this thread.
za...@semrush.com <za...@semrush.com> #3
Is there any progress with that feature request?
dh...@gmail.com <dh...@gmail.com> #4
I'm also very interested in having this extension in cloudsql for postgres since it's blocking the emigration of one of ours databases
Description
Roaring bitmaps (
We have a use case of efficiently storing a large number of numeric ids (up to 150,000) in a single column with support for fast set operations (primarily intersection and cardinality of intersections). These ids are effectively foreign keys pointing to rows in other tables.
The most obvious alternative is using an array type, e.g. int[]. For our data, we see roaringbitmap using 1/3 of the space compared to int[] (1.2 bytes per id vs 4 bytes per id), and being 40(!) times faster to compute the cardinality of an intersection between two sets of 150,000 elements (~1ms vs ~40ms).
Another alternative would be to use uncompressed bitmaps, i.e. using bit varying. A very naive scheme would be to set the i'th bit to add id i, e.g. set bit 42 to add id 42. Space-wise this is terribly inefficient though: adding id 10,000,000 would result in a bitstring using ~1.2MB.
pg_roaringbitmap is already supported by Alibaba Cloud RDS PostgreSQL: