HBase本身作为数据库,提供了完整的增删改查的功能。HBase基于HDFS来进行存储,HDFS的特点是允许一次写入多次读取,不允许修改而允许追加写入,但HBase提供了”改“功能,HBase如何实现”改“功能的?-HBase实际上并没有去修改写入的数据,而是在文件末尾去追加数据,HBase会对写入的每条数据自动添加一个时间戳,当用户获取数据的时候,HBase自动返回最新的数据,那么从用户角度来看,就是发生了数据的修改。
在HBase中,数据的每一个时间戳称之为一个版本
如果要锁定唯一的一条数据,那么需要通过行键+列族+列+时间戳这四个维度来锁定,这种结构称为一个cell(单元格)
HBase中的表在创建的时候,如果不指定,那么只对外提供一个版本的数据
如果建好表之后再修改可以获取的版本,那么已经添加的数据不起作用
即使表允许对外获取多个版本的数据,在获取的时候如果不指定,依然只获取一个版本的数据
举例,修改数据
put 'userinfo','u1','basic:age',31
put 'userinfo','u1','basic:age',32 &