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行)。因此,应用程序将需要处理不一致的数据并尝试使其一致。