[jira] [Commented] (HBASE-5723) Simple Design of Secondary Index

2012-04-09 Thread Zhihong Yu (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13249907#comment-13249907
 ] 

Zhihong Yu commented on HBASE-5723:
---

@Todd:
Do you think the attached proposal belongs to HBASE-3340 ?

 Simple Design of Secondary Index
 

 Key: HBASE-5723
 URL: https://issues.apache.org/jira/browse/HBASE-5723
 Project: HBase
  Issue Type: New Feature
  Components: coprocessors
Reporter: ShiXing
Priority: Minor
 Attachments: Simple Design of HBase SecondaryIndex.pdf


 Use coprocessor to create index. And primary tables' compaction to purge the 
 stale data. 
 Attach file is the Design of the Seconday Index.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-5723) Simple Design of Secondary Index

2012-04-09 Thread Todd Lipcon (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13249927#comment-13249927
 ] 

Todd Lipcon commented on HBASE-5723:


This seems to give even fewer guarantees than HBASE-3340 (which as I understood 
it used the WAL to ensure reasonably timely consistency of the index table). 
I'm still of the opinion that these things should start as separate projects, 
rather than inside HBase core, and only if we see a high demand for them and 
good maintenance, we should pull it in. I don't think there is much demand for 
non-consistent indexes.

 Simple Design of Secondary Index
 

 Key: HBASE-5723
 URL: https://issues.apache.org/jira/browse/HBASE-5723
 Project: HBase
  Issue Type: New Feature
  Components: coprocessors
Reporter: ShiXing
Priority: Minor
 Attachments: Simple Design of HBase SecondaryIndex.pdf


 Use coprocessor to create index. And primary tables' compaction to purge the 
 stale data. 
 Attach file is the Design of the Seconday Index.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-5723) Simple Design of Secondary Index

2012-04-05 Thread ShiXing (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13247127#comment-13247127
 ] 

ShiXing commented on HBASE-5723:


Difficulty and risk
1. During primary table compact, the StoreScanner just read
family.getMaxVersions() versions' data, the old data will be skiped, but the
old data's indices should be deleted, So we must read all version data for
indices' delete, and family.getMaxVersions() version for store's compaction.

Also the timestamp of columns that we want to delete the indices should also 
have not TimeRange, now it is System.CurrentTimeMillis() - ttl;

 Simple Design of Secondary Index
 

 Key: HBASE-5723
 URL: https://issues.apache.org/jira/browse/HBASE-5723
 Project: HBase
  Issue Type: New Feature
  Components: coprocessors
Reporter: ShiXing
Priority: Minor
 Attachments: Simple Design of HBase SecondaryIndex.pdf


 Use coprocessor to create index. And primary tables' compaction to purge the 
 stale data. 
 Attach file is the Design of the Seconday Index.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-5723) Simple Design of Secondary Index

2012-04-05 Thread Todd Lipcon (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13247438#comment-13247438
 ] 

Todd Lipcon commented on HBASE-5723:


The design doc doesn't make any reference to consistency. How do you ensure 
consistency of the index? To do proper indexes you really need cross-table 
transactions, or at least a mechanism for eventual consistency if that's all 
you plan on providing.

 Simple Design of Secondary Index
 

 Key: HBASE-5723
 URL: https://issues.apache.org/jira/browse/HBASE-5723
 Project: HBase
  Issue Type: New Feature
  Components: coprocessors
Reporter: ShiXing
Priority: Minor
 Attachments: Simple Design of HBase SecondaryIndex.pdf


 Use coprocessor to create index. And primary tables' compaction to purge the 
 stale data. 
 Attach file is the Design of the Seconday Index.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-5723) Simple Design of Secondary Index

2012-04-05 Thread Xing Shi (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13248021#comment-13248021
 ] 

Xing Shi commented on HBASE-5723:
-

Todd, 
you mean the consistency of index table? Because the index table is also a 
HBase table, so it will use the mvcc to ensure the consistency of the index 
table. 

Mainly there are 2 steps when do put.
Step1 : It will insert data into index table.
Step2 : It will insert data into primary table.

After step1, the client can read the index, but may be the step2 has not done. 
So client will find there is no data are associated with the index, and it will 
read the old version index. Here it is weak consistency, and at last the index 
and data will be eventual consistency except as follows:.

If the step2 failed, we will not delete the new index, the index is not 
correct(there is no row in the primary table associated with this index by the 
rowkey, the value, and the same timestamp) ant it is Weak consistency.

For these stale indices, we will not delete it forever(may be we can delete 
them by period job to detect the not correct indice).

 Simple Design of Secondary Index
 

 Key: HBASE-5723
 URL: https://issues.apache.org/jira/browse/HBASE-5723
 Project: HBase
  Issue Type: New Feature
  Components: coprocessors
Reporter: ShiXing
Priority: Minor
 Attachments: Simple Design of HBase SecondaryIndex.pdf


 Use coprocessor to create index. And primary tables' compaction to purge the 
 stale data. 
 Attach file is the Design of the Seconday Index.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-5723) Simple Design of Secondary Index

2012-04-05 Thread Todd Lipcon (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-5723?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13248024#comment-13248024
 ] 

Todd Lipcon commented on HBASE-5723:


If this implementation isn't giving you any consistency, then why is it any 
better than just having the client do two puts?

I think for us to consider adding an indexing library to HBase proper, it needs 
to have stronger semantics. The idea that an index may be incorrect in the case 
of failures does not seem like something we should ship.

 Simple Design of Secondary Index
 

 Key: HBASE-5723
 URL: https://issues.apache.org/jira/browse/HBASE-5723
 Project: HBase
  Issue Type: New Feature
  Components: coprocessors
Reporter: ShiXing
Priority: Minor
 Attachments: Simple Design of HBase SecondaryIndex.pdf


 Use coprocessor to create index. And primary tables' compaction to purge the 
 stale data. 
 Attach file is the Design of the Seconday Index.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira