hbase是怎样删除和修改数据的,和oracle这类传统的rdbms有什么区别

hbase是怎样删除和修改数据的,和oracle这类传统的rdbms有什么区别,第1张

简单来说,传统关系数据库的修改与删除,可以快速通过主键、列或索引直接锁定到某一行或某些行,进行物理删除。

而对于Hbase来说,受到hdfs文件系统的局限(hdfs文件系统不能修改,添加也很不方便),进行CRUD的 *** 作就会变得相对复杂。

Hbase的修改,是根据某个行键添加一行数据,并未这行数据生成一个较新的时间戳来实现,每个行键都会对应多个时间戳的数据,那么最新的时间戳就是最终修改后的内容。

而删除则是通过标记来实现,如果要删除某行记录,Hbase会添加一个带有删除标记的行,通过这个删除标记来辨认该行建的数据是否删除。

Hbase与关系型数据库的区别:

1、场景

Hbase是面向列的数据库,适合大量的插入的同时又要具备不俗的读功能,而Oracle或其他关系型数据库适合处理比较复杂的业务关系或事务处理,而且,在数据在一定量级下都会有良好的表现,并不是所有业务的数据压力都会发生比较极端的情况。

2、索引

Hbase只能做主键索引,而关系型数据库可以根据需求不同加入适合的索引机制,供用户查询。

3、瓶颈

Hbase的瓶颈是硬盘的传输速度,Oracle的瓶颈是硬盘的寻道时间(可以看做是硬盘的转数)。

4、业务

Hbase适合按照时间排序的业务,而Oracle或其他关系型数据库应用比较广泛,如OLTP或OLAP

我们常说HBase是“数据即日志”的数据库,它是怎样修改和删除数据的

由于HBase的数据文件在HDFS系统中,因此本质上很难修改和删除数据。在HBase中,修改和删除数据都是增加1个新版本的数据(时间戳为最新),旧版本的数据并没有发生变化。

Oracle没有数据的版本概念,在修改和删除数据时不会增加新的数据记录,直接对老数据进行修改或删除。一旦完成修改或删除,则原始数据发生变化。

HBase shell窗口进入,执行命令hbase shell

语法:create <table>, {NAME =><family>, VERSIONS =><VERSIONS>}

例如:创建表t1,有两个family name:f1,f2,且版本数前者为3,后者为1

disable表

drop表


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6424787.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-22
下一篇2023-03-22

发表评论

登录后才能评论

评论列表(0条)

    保存