hbase-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Segel <msegel_had...@hotmail.com>
Subject Re: Coprocessor Increments
Date Sun, 13 Oct 2013 13:02:51 GMT

Sure you can have your app update the secondary index table. 
The only issue with that is if someone updates the base table outside of your app, 
they may or may not increment the secondary index. 
Note that your secondary index doesn't have to be an inverted table, but could be SOLR, LUCENE
or something else. 

So you really want to secondary indexes on the server. 

There are a couple of things that could improve the performance, although the write to the
secondary index would most likely lag under heavy load. 

On Oct 12, 2013, at 11:27 PM, anil gupta <anilgupta84@gmail.com> wrote:

> John,
> My 2 cents:
> I tried implementing Secondary Index by using Region Observers on Put. It
> works well under low load. But, under heavy load the RO could not keep up
> with load cross region server writes.
> Then, i decided not to use RO as per Andrew's explanation and  I moved all
> the logic of building secondary index tables on my HBase Client . Since
> then, the system has been running fine under heavy load.
> IMO, if you will use RO and do cross RS read/write then perhaps this will
> become your bottleneck in HBase.
> Is it possible for you to avoid RO and control the writes/updates from
> client side?
> Thanks,
> Anil Gupta
> On Fri, Oct 11, 2013 at 6:06 PM, John Weatherford <
> john.weatherford@telescope.tv> wrote:
>> OP Here :)
>> Our current design involves a Region Observer on a table that does
>> increments on a second table. We took the approach that Michael said and
>> inside the RO, we got a new connection and everything. We believe this is
>> causing deadlocks for us. Our next attempt is going to be writing to
>> another row in the same table where we will store the increments. If this
>> doesn't work, we are going to simply pull the increments out of the RO and
>> do them in the application or in Flume.
>> @Tom Brown
>> I would be very interested to hear more about your solution of
>> aggregating the increments in another system that is then responsible for
>> updating in Hbase.
>> -jW
>> On Fri 11 Oct 2013 10:26:58 AM PDT, Vladimir Rodionov wrote:
>>> With respect to the OP's design… does the deadlock occur because he's
>>>>> trying to update a column in a different row within the same table?
>>> Because he is trying to update *row* in a different Region (and
>>> potentially in different RS).
>>> Best regards,
>>> Vladimir Rodionov
>>> Principal Platform Engineer
>>> Carrier IQ, www.carrieriq.com
>>> e-mail: vrodionov@carrieriq.com
>>> ______________________________**__________
>>> From: Michael Segel [msegel_hadoop@hotmail.com]
>>> Sent: Friday, October 11, 2013 9:10 AM
>>> To: user@hbase.apache.org
>>> Cc: Vladimir Rodionov
>>> Subject: Re: Coprocessor Increments
>>> Confidentiality Notice:  The information contained in this message,
>>> including any attachments hereto, may be confidential and is intended to be
>>> read only by the individual or entity to whom this message is addressed. If
>>> the reader of this message is not the intended recipient or an agent or
>>> designee of the intended recipient, please note that any review, use,
>>> disclosure or distribution of this message or its attachments, in any form,
>>> is strictly prohibited.  If you have received this message in error, please
>>> immediately notify the sender and/or Notifications@carrieriq.com and
>>> delete or destroy any copy of this message and its attachments.
> -- 
> Thanks & Regards,
> Anil Gupta

View raw message