You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@asterixdb.apache.org by as...@googlecode.com on 2015/08/10 10:00:09 UTC

Issue 924 in asterixdb: Secondary btree index should not have a bloomfilter on it since the filter is not used for range search which is always the case for secondary index search

Status: Accepted
Owner: kiss...@gmail.com
Labels: Type-Enhancement Priority-Medium

New issue 924 by kiss...@gmail.com: Secondary btree index should not have a  
bloomfilter on it since the filter is not used for range search which is  
always the case for secondary index search
https://code.google.com/p/asterixdb/issues/detail?id=924

Currently, all secondary index searches are considered as range search due  
to the fact that secondary index keys are not unique. Since bloomfilter is  
only used for point lookup, secondary btree index should not have a  
bloomfilter on it.

-- 
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Re: Issue 924 in asterixdb: Secondary btree index should not have a bloomfilter on it since the filter is not used for range search which is always the case for secondary index search

Posted by as...@googlecode.com.
Comment #4 on issue 924 by kiss...@gmail.com: Secondary btree index should  
not have a bloomfilter on it since the filter is not used for range search  
which is always the case for secondary index search
https://code.google.com/p/asterixdb/issues/detail?id=924

Discussion conclusion: secondary btree index will not have a bloomfilter on  
it.

The reasons are as follows:
1. Secondary btree index search can't use Bloomfilter for range searches  
since , in general, Bloomfilter can only be used for point lookup, i.e.,  
single value equality predicate on the indexed key such as user_id (primary  
key field) = 10.
2. Secondary btree index search can't use Bloomfilter for point lookup  
either such as price = 20 since Bloomfilter in secondary btree index  
captures not only secondary key but also primary key, but search predicate  
only includes secondary key.
3. Delete operation in secondary index may use the Bloomfilter to check the  
existence of the entry to be deleted, but the entry to be deleted will  
exist always when the delete operation is executed since the delete  
operation always preceded by the search operation. So, checking Bloomfilter  
in the situation is useless overhead.
Based on 1,2, and 3, Bloomfilter on secondary btree index is useless.  
Therefore, this will be removed.

-- 
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Re: Issue 924 in asterixdb: Secondary btree index should not have a bloomfilter on it since the filter is not used for range search which is always the case for secondary index search

Posted by as...@googlecode.com.
Comment #3 on issue 924 by che...@gmail.com: Secondary btree index should  
not have a bloomfilter on it since the filter is not used for range search  
which is always the case for secondary index search
https://code.google.com/p/asterixdb/issues/detail?id=924

@Young-Seok: do you want to summarize our discussion today to close this  
discussion?

-- 
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Re: Issue 924 in asterixdb: Secondary btree index should not have a bloomfilter on it since the filter is not used for range search which is always the case for secondary index search

Posted by as...@googlecode.com.
Comment #2 on issue 924 by kiss...@gmail.com: Secondary btree index should  
not have a bloomfilter on it since the filter is not used for range search  
which is always the case for secondary index search
https://code.google.com/p/asterixdb/issues/detail?id=924

Yes. We haven't been exploiting that opportunity.

-- 
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings

Re: Issue 924 in asterixdb: Secondary btree index should not have a bloomfilter on it since the filter is not used for range search which is always the case for secondary index search

Posted by as...@googlecode.com.
Comment #1 on issue 924 by che...@gmail.com: Secondary btree index should  
not have a bloomfilter on it since the filter is not used for range search  
which is always the case for secondary index search
https://code.google.com/p/asterixdb/issues/detail?id=924

Then I would challenge the approach of "always doing a range search on a  
secondary index."  What if we have a condition "price = 20" where there is  
a secondary B-tree on "price"?  Clearly a bloom filter can help this  
predicate.  Do we miss an opportunity of optimization here?

-- 
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings