hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Todd Lipcon (JIRA)" <j...@apache.org>
Subject [jira] Commented: (HBASE-2395) Coprocessors: implement propagation constraints
Date Wed, 31 Mar 2010 18:27:27 GMT

    [ https://issues.apache.org/jira/browse/HBASE-2395?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12852024#action_12852024
] 

Todd Lipcon commented on HBASE-2395:
------------------------------------

Rather than attaching metadata to KVs, why not just use the existing mechanisms and have the
observer use columns with a special prefix? eg '__mymetadata'?

Regarding constraint propagation, isn't there a lot of difficulty with cross-region constraints?
How does one propagate a constraint check if the referenced rows are in a different region?

> Coprocessors: implement propagation constraints
> -----------------------------------------------
>
>                 Key: HBASE-2395
>                 URL: https://issues.apache.org/jira/browse/HBASE-2395
>             Project: Hadoop HBase
>          Issue Type: Sub-task
>            Reporter: Andrew Purtell
>            Priority: Minor
>
> Some fevered stuff I posted to hbase-dev@: 
> A coprocessor or coprocessors (which implement RegionObserver) could implement propagation
constraints in a pluggable manner, is one possibility. Coprocessors also get an ioctl-like
interface which could be the channel for attaching constraints to KVs.
> {quote}
> First, what about attaching metadata (itself KVs) to KVs in the store, in a way that
it is efficient to look up the metadata for a given KV or set of KVs?
> Second, what about the notion of references? For the case above specifically, metadata
on an "inode" KV that consists of a list of pointers to other KVs. When deleting the "inode"
KV -- one that fell off the tail of a stack of versions -- at compaction time, then the store
could follow the pointers and delete the referenced values also. Or better, decrement a specified
Long encoded KV and then take the delete action on another specified KV (or set of KVs) if
the result <= 0.
> So just to be clear I'm not advocating building my use case into HBase -- it is a motivating
example -- but rather there is perhaps some interesting generic primitives to consider here.
They could support mechanisms for referential integrity that people coming from RDBMS are
quite familiar with. 
> {quote}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message