如题。hbase是如何做到的?
hbase并不是将所有数据保存到一个文件,而是分块的方式,所以解决了并发写问题;
二hbase删除数据并不是直接删除对应的文件,而是在元数据中增加个标识而已,实际文件并未修改。
没有深入了解过,不过可以猜测一下,HDFS上存储的只是Write Ahead Log和数据,而索引不是以HDFS的形式存储,通常来说应该常驻内存(并按需落地)。当一条数据被修改了以后,会生成一个新的版本,并相应更新指针(似乎有点像内核RCU锁的感觉)。
hdfs存储与hbase的非关系型存储原理并不同吧?