【发布时间】:2011-07-31 09:08:26
【问题描述】:
考虑到 HBase 将每个列族存储在单独的 HFile 中以及一行可以跨越多个列族的事实。 HBase 如何确保跨多个列族的行上的 put/delete 操作确实是原子的?
【问题讨论】:
-
据我所知,对于任何行操作(如Put/Delete/checkAndPut),操作顺序是append -> sync -> memstore。每个 KeyValue 中还有一个时间戳,您可以在其中存储多个版本的 KeyValue 对在列族中(由列族的版本决定)。您还可以使用 RowLock 来确保操作完全安全。
标签: database nosql hadoop hbase distributed-system