-
Notifications
You must be signed in to change notification settings - Fork 109
Implement Pilosa IndexDriver #174
Comments
This comment has been minimized.
This comment has been minimized.
Thinking a bit more about that, |
@ajnavarro - If we wanna to load all indexes then your proposal makes sense. |
Pilosa mapping - detailsPilosa indexes may be split into multiple frames. Every frame manages own bitmap.
In Pilosa we'll store many indexes for many tables (and maybe for many databases) , so if we want to have globally unique names we have to be careful. A frame name is an expression so special characters may happen. The first type of mapping is needed for keys/names.
The second type of mapping is needed for values. If we want to set a bit in Pilosa we have to specify row and column IDs. As you can see in Pilosa bitmaps , indexes may have one or more frames and all column IDs are shared by all frames. But every frame has own enumeration of rows.
In the example we iterate through values. The first choice for KV storage was GitHub - dgraph-io/badger: Fast key-value DB in Go. but during implementation it turned out that GitHub - boltdb/bolt: An embedded key/value database for Go. works better in our case. Both are KV file DBs with many similarities, but:
How mapping can be used in the Pilosa index driver
|
The index name should be just |
What if we have many indexes for the same table? That's why I appended |
Maybe I'm wrong, but if we don't put all the database indexes per table on the same pilosa index we cannot join them on the future using |
All logical operations like
Does it make sense for us? |
Create the pilosa IndexDriver implementation:
And implement Create and Save Methods.
The text was updated successfully, but these errors were encountered: