hbase和传统数据库的区别
hbase和传统数据库的区别是:1. 数据类型;2.数据操作;3.存储模式;4.数据维护;5.可伸缩性;6.事务。HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文”Bigtable:一个结构化数据的分布式存储系统”。
一、Hbase和传统数据库的区别
1.数据类型:Hbase只有简单的数据类型,只保留字符串;传统数据库有丰富的数据类型。
2.数据操作:Hbase只有简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系;传统数据库通常有各式各样的函数和连接操作。
3.存储模式:Hbase是基于列存储的,每个列族都由几个文件保存,不同列族的文件是分离的,这样的好处是数据即是索引,访问查询涉及的列大量降低系统的I/O,并且每一列由一个线索来处理,可以实现查询的并发处理;传统数据库是基于表格结构和行存储,其没有建立索引将耗费大量的I/O并且建立索引和物化试图需要耗费大量的时间和资源。
4.数据维护:Hbase的更新实际上是插入了新的数据;传统数据库只是替换和修改。
5.可伸缩性:Hbase可以轻松的增加或减少硬件的数目,并且对错误的兼容性比较高;传统数据库需要增加中间层才能实现这样的功能。
6.事务:Hbase只可以实现单行的事务性,意味着行与行之间、表与表之前不必满足事务性;传统数据库是可以实现跨行的事务性。
二、Hbase的优点
1.列可以动态增加,并且当列为空的时候就不存储,节省存储空间。
2.Hbase自动切分数据,使得数据存储自动具有水平扩展能力。
3.Hbase可以支持高并发顺序读写操作(因为其有内存的缓存机制)。
三、Hbase的缺点
1.不能支持条件查询,只支持按照row key来查询
2.暂时不能支持Master server的故障切换,当Master宕机后,这个存储系统都会挂掉。
最后,推荐我们的管理工具给大家。