整套大数据学习资料(视频+笔记)百度网盘无门槛下载:http://www.edu360.cn/news/content?id=3377

13.5 HBase 和 RDBMS 的比较

hadoop 花牛 19℃ 0评论

HBase和其他面向列的数据库常常被拿来和更流行的传统关系数据库(或简 写为RDBMS)进行比较。虽然它们在实现和设计上的出发点有着较大的区别,但它们都力图解决相同的问题。所以,虽然它们有很多不同点,但我 们仍然能够对它们进行客观的比较。

如前所述,HBase是一个分布式的、面向列的数据存储系统。它通过在 HDFS上提供随机读写来解决Hadoop不能处理的问题。HBase自底层设计开始即聚焦于各种可伸缩性问题:表可以很“高”(数十亿个数据行)表可 以很“宽”(数百万个列);水平分区并在上千个普通商用机节点(commodity node)上自动复制。表的模式是物理存储的直接反映,使系统有可能提供高效的数据结构的序列化、存储和检索。但是,应用程序的开发者必须承担 重任,选择以正确的方式使用这种存储和检索方式。 严格来说,RDBMS是一个遵循“Codd的12条规则”(Codd’s 12 Rules)的 数据库。标准的RDBMS是模式固定、面向行的数据库且具有ACID性质和 复杂的SQL査询处理引擎。RDBMS强调事务的“强一致性”(strong consistency)、参照完整性(referential integrity)、数据抽象与物理存储层相对 独立,以及基于SQL语言的复杂査询支持。在RDBMS中,可以非常容易 地建立“二级索引”(secondary index),执行复杂的内连接和外连接,执行 计数、求和、排序、分组等操作,或对表、行和列中的数据进行分页存放。

对于大多数中小规模的应用,如MySQLPostgreSQL之类现有开源 RDBMS解决方案所提供的易用性、灵活性、产品成熟度以及强大、完整的 功能特性几乎是无可替代的。但是,如果要在数据规模和并发读写这两方 面中的任何一个(或全部)上进行大规模向上扩展(scale up),就会很快发现 RDBMS的易用性会让你损失不少性能,而如果要进行分布式处理,更是非常困难。RDBMS的扩展通常要求打破Codd的规则,如放松ACID的限制,使DBA的管理变得复杂,并同时放弃大多数关系型数据库引以为荣的易用性。

转载请注明:全栈大数据 » 13.5 HBase 和 RDBMS 的比较

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址