Pilosa: open source, distributed bitmap index in Go
github.com
github.com
The key addition with Pilosa is that it's distributed and can scale horizontally :)
Doesn't this also make it several orders of magnitude slower? Every time I find myself using Bitmaps it's when speed is extremely important. What are some use cases for this not covered by in-process Bitmaps, Bloom filters, and HyperLogLog?
I'm just not aware of many use cases for bitmap indexes willing to trade that much speed for database-like access. I think this project would be more usable factored into a library than something external
At my company we also strongly use Bitmaps on the analytics database engine we developed (S1Search).
I think you're right though, that there are use cases which would benefit from a library exposing this functionality - you need to have quite a lot of data before compressed bitmaps representing the relationships in that data start overflowing memory on a single machine.
[1] https://code.facebook.com/posts/382299771946304/audience-ins...
Looks like we were trying to solve the same problem (user segmentation), in the same industry (DMP), at the same time (2013-2016). LOL.
I'm the founder of a DMP too.
https://blog.slicingdice.com/why-we-built-slicingdice-1beffc...
I will email you guys.
https://blog.slicingdice.com/why-we-built-slicingdice-1beffc...
Is the difference that this one is distributed?
- associating each bit with a timestamp (at various granularities) and queries over time ranges.
- adding arbitrary key/value metadata to each row or column
- automatic sorting/caching of bitmaps to support "TopN" queries
(That said, this is one ES thing that's impossible to find documentation for).