暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

【笔试 / 面试】HBase与传统关系型数据库的区别?

2853


【问】HBase与传统关系型数据库的区别?

  

                   

【答】[1] 区别一:数据类型有不同。HBase采用的数据模型相比于关系型数据库更简单,它把数据存储为未经解释的字符串,用户可把不同格式的结构化数据和非结构化数据都序列化成字符串保存在HBase中,然后通过编写程序将字符串解析成不同的数据类型;

[2] 区别二:存储模式不一致。HBase是基于列存储的,而关系型数据库是基于行存储的。基于列存储的优点是可以降低I/O开销,支持大量并发用户查询,因为仅需要处理可以回答这些查询的列,而不需要处理与查询无关的大量数据行,同一列族中的数据会被一起进行压缩,由于同一列族内的数据相似度较高,因此可以获得较高的数据压缩比;

[3] 区别三:数据索引情况不一样。HBase只有一个索引——“行键”,二关系型数据库通则通常可以针对不同的列构建复杂的多个索引,以提高数据的访问性能。HBase中通过对行键的巧妙设计,使得HBase中所有的访问只能通过行键(或行键扫描)来完成,从而使得整个系统不会慢下来;

[4] 区别四:数据操作种类不同。HBase中只有简单的插入、查询、删除、清空等,而关系型数据库则包含了更丰富的操作。HBase中这样设计的原因是为了避免复杂的表与表之间的关系,通常只采用单表的主键查询;

[5] 区别五:数据维护的结果不一样。HBase中执行更新操作时,并不删除数据旧的版本,而是生成一个新的版本,旧的版本仍然保留。这在关系型数据库中是不一样的,关系型数据库中的更新操作会用最新的当前值去替换记录中原来的旧值,旧值被覆盖之后就不再存在;

[6] 区别六:可伸缩性不一致。HBase的可伸缩性比关系型数据库的可伸缩性要强。




留言板




文章转载自稀饭居然不在家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论