最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

HBase(Intra)RowTransactions

来源:动视网 责编:小采 时间:2020-11-09 13:31:44
文档

HBase(Intra)RowTransactions

HBase(Intra)RowTransactions:As said in a previous post HBase ensures that all new versions created by single Put operation for a particular rowkey are either all seen by other clients or seen by none. Indeed HBase can execute atomic Put operations and atomic Delete
推荐度:
导读HBase(Intra)RowTransactions:As said in a previous post HBase ensures that all new versions created by single Put operation for a particular rowkey are either all seen by other clients or seen by none. Indeed HBase can execute atomic Put operations and atomic Delete


As said in a previous post "HBase ensures that all new versions created by single Put operation for a particular rowkey are either all seen by other clients or seen by none." Indeed HBase can execute atomic Put operations and atomic Delete

As said in a previous post "HBase ensures that all new versions created by single Put operation for a particular rowkey are either all seen by other clients or seen by none."

Indeed HBase can execute atomic Put operations and atomic Delete operations (as well as a few specialized operations like Increment and Append).

What HBase cannot currently do is to execute a grouping of different operations atomically. For example you cannot execute a Put and Delete operation atomically.

HBASE-3584 and HBASE-5203 change that. It is now possible to group multiple Puts and Deletes for the same row key together as a single atomic operation. The combined operation is atomic even when the executing regionserver fails half way through the operation.

The client facing API looks like this:

HTable t = ...;
byte[] row = ...;
RowMutation arm = new RowMutation(row);
Put p = new Put(row);
p.add(...)
Delete d = new Delete(now);
p.delete{Column|Columns|Family}(...);
arm.add(p);
arm.add(d);
t.mutateRow(arm);

RowMutation implements the Row interface and can hence itself be part of a multi row batch operation:

HTable t = ...;
byte[] row1, row2;
RowMutation arm1 = new RowMutation(row1);
RowMutation arm2 = new RowMutation(row2);
...
List rows = ...;
rows.add(arm1);
rows.add(arm2);
t.batch(rows);

But note that this multi row batch is not atomic between different rows.

文档

HBase(Intra)RowTransactions

HBase(Intra)RowTransactions:As said in a previous post HBase ensures that all new versions created by single Put operation for a particular rowkey are either all seen by other clients or seen by none. Indeed HBase can execute atomic Put operations and atomic Delete
推荐度:
标签: 事务 row s
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top