Minor clarification -- Phoenix out of the box doesn't actually need Tephra or Omid to support transactional index updates, but both of them are options you can choose to use.

The implementation of this has recently changed as well -- read up at https://issues.apache.org/jira/browse/PHOENIX-5156

On 1/10/20 1:14 AM, 张铎(Duo Zhang) wrote:
Maybe you need Phoenix?

You need to use special algorithm to get cross region transactions on
HBase. IIRC, Phoenix has a sub project call Txxx, which implements the
algorithm described in the google percolator paper.

Thanks.

Reid Chan <reidddc...@outlook.com> 于2020年1月10日周五 下午1:47写道:

I think you need some more coding works for fulfilling Atomicity in cross
region scenario, by aid of some third party softwares, like Zookeeper.

AFAIK, Procedure framework in Master may also have ability to do that, but
I'm not sure the details of it and if it supports client customized
procedure (I remember the answer is negative).

Last but not lease, what about trying Phoenix?



--------------------------

Best regards,
R.C



________________________________________
From: Kang Minwoo <minwoo.k...@outlook.com>
Sent: 10 January 2020 12:51
To: user@hbase.apache.org
Subject: How to avoid write hot spot, While using cross row transactions.

Hello, users.

I use MultiRowMutationEndpoint coprocessor for cross row transactions.
It has a constraint that is rows must be located in the same region.
I removed random hash bytes in the row key.
After that, I suffer write hot-spot.

But cross row transactions are a core feature in my application. When I
put a new data row, I put an index row.

Before I use MultiRowMutationEndpoint coprocessor, I had a mismatch
between the data row and the index row.

Is there any best practice in that situation?
I want to avoid write hot-spot and use an index.


Best regards,
Minwoo Kang


Reply via email to