sample hbase table -
+--------------------------------------------+-------------------------+
| username X + username Y who is following X | full name of username Y |
+--------------------------------------------+-------------------------+
| AK+foo | James Foo |
| AK+bar | Jimmy Bar |
| AK+baz | Ricky Baz |
| AK+troy | Troy |
| foo+bar | Jimmy Bar |
| foo+AK | AK |
+--------------------------------------------+-------------------------+
我的理解是 hbase 不提供跨多行的事务。 在这种情况下,假设我想删除跨多行的用户 AK。 如何在不破坏一致性的情况下处理删除操作。
经过更多的研究,我意识到hbase
没有交易, 即它不能保证多行之间的原子性。
因此,在上述情况下,通常是应用程序的责任 如果在仅部分写入成功后发生故障(例如:删除 1 行,不删除第 2 行(。
因此,应用程序需要处理不一致的数据并尝试使其保持一致。