一.
Hbase
是什么(
what
)
HBase是一个分布式的、面向列的开源数据库。是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
结构化数据:先有结构、再有数据(mysql 中的表)
非结构化数据:先有数据,再有结构(hbase 中数据类型只有 String)
二.
为什么使用
Hbase
(
why
)
1.Mysql数据库目前的问题
不能很好的处理对数据库高并发读写要求(随着我们应用增多,数据库连接数有时会不够用)
不能很好处理对海量数据的高效率存储和访问的需求(京东库数据量大,读取数据处理缓慢)
不能很好处理对数据库的高可扩展性和高可用性的需求(数据库分库,对程序不能做到透明,磁盘空间不够需要不停的申请扩容)
2.Hbase解决的问题
a)能够很好的支持mapreduce程序,为以后分析数据提供基础(减少了报表统计时间)
b)由于分布式优点能够很好的支持大数据量存储及高io吞吐(解决mysql表空间不足问题,当hbase磁盘空间不足时,运维人员会自己申请机器扩展节点个数,对上层应用透明)
三.
Hbase
与
Mysql
比较(
why
)