Description
On the write path if the write is an atomic upsert or if the table has one or more indexes Phoenix first does a read. All these reads on the data table are point lookups. Bloom Filters can help optimize the performance of these lookups.
- For new rows (inserts), the point lookup will not return any result. This negative lookup is ideal for bloom filters as our read can return by just checking the bloom filter block.
- For updates, since new updates get accumulated into memstore and then flushed into new store files. A region can have multiple store files and when doing a read we have to read multiple store files. Bloom filter can help eliminate which store files should be read.
Attachments
Issue Links
- links to