HBase初识(简介)

  1. 什么是HBase
  2. HBase产生背景
  3. HBase和传统数据库的对比
  4. HBase的优缺点
  5. HBase的适用场景
  6. HBase的优势

1.什么是HBase

HBASE是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统数据库,利用HBASE技术可在廉价PC Server上搭建起大规模结构化存储集群。
HBase是BigTable的开源(源码使用 Java 编写)版本,是 Apache Hadoop 的数据库,是建立在 HDFS 之上。
HBase 依赖于 HDFS 做底层的数据存储,BigTable 依赖 Google GFS 做数据存储。
HBase 依赖于 MapReduce 做数据计算,BigTable 依赖Google MapReduce做数据计算。
HBase 依赖于 ZooKeeper 做服务协调,BigTable 依赖Google Chubby做服务协调。

2.HBase产生背景

1、关系型数据库不再适合对大数据的操作
当用户表的数据量到达几千万甚至几亿级别的时候,对单条数据的检索操作将花费数秒甚至分钟级别。实际情况或将更为复杂。
2、Hadoop 的限制
Hadoop 只能执行批量处理,并且只以顺序方式访问数据。这意味着必须搜索整个数据集, 即使是最简单的搜索工作。 当处理结果在另一个庞大的数据集,也是按顺序处理一个巨大的数据集。在这一点上,一个 新的解决方案,需要访问数据中的任何点(随机访问)单元。
3、硬件的限制
(1)海量数据量存储成为瓶颈,单台机器无法负载大量数据
(2)单台机器 IO 读写请求成为海量数据存储时候高并发大规模请求的瓶颈
(3)随着数据规模越来越大,大量业务场景开始考虑数据存储横向水平扩展,使得存储服 务可以增加/删除,而目前的关系型数据库更专注于一台机器

3.HBase和传统型数据库的对比

1、数据类型:Hbase只有简单的字符类型,所有的类型都是交由用户自己处理,它只保存字符串。而关系数据库有丰富的类型和存储方式。
2、数据操作:HBase只有很简单的插入、查询、删除、清空等操作,表和表之间是分离的,没有复杂的表和表之间的关系,而传统数据库通常有各式各样的函数和连接操作。
3、存储模式:HBase是基于列存储的,每个列族都由几个文件保存,不同的列族的文件时分离的。而传统的关系型数据库是基于表格结构和行模式保存的
4、数据维护:HBase的更新操作不应该叫更新,它实际上是插入了新的数据,而传统数据库是替换修改
5、可伸缩性:Hbase这类分布式数据库就是为了这个目的而开发出来的,所以它能够轻松增加或减少硬件的数量,并且对错误的兼容性比较高。而传统数据库通常需要增加中间层才能实现类似的功能

4.HBase的优缺点

优点:
1 列的可以动态增加,并且列为空就不存储数据,节省存储空间.
2 Hbase自动切分数据,使得数据存储自动具有水平scalability.
3 Hbase可以提供高并发读写操作的支持
缺点:
1 不能支持条件查询,只支持按照Row key来查询
2 暂时不能支持Master server的故障切换,当Master宕机后,整个存储系统就会挂掉

5.HBase适用场景

单表数据量超千万,而且并发还挺高。
数据分析需求较弱,或者不需要那么灵活或者实时。

6.HBase有哪些优势?

(1)HBase是基于Hadoop来做存储的,近些年Hadoop展现出来的高性能、高稳定、可管理等特性,为大数据的处理提供了稳定的平台。同时,分布式文件系统HDFS有着高容错性,高吞吐量、又可以搭建在廉价的硬件基础上,很适合处理大数据量的操作。因此,HBase在Hadoop的基础上,吞吐量和扩展性就很强势了。
(2)HBase是面向列来存储的,适合于非结构化数据存储。采用的是Key/Value的存储方式,即使数据量增大,对查询性能影响不会太大。这里对于HBase的存储方式只做一个简单的介绍,在随后的文章中再对HBase的存储方式进行深入研究。

下一章:HBase系统架构(部署结构)

猜你喜欢

转载自blog.csdn.net/f1550804/article/details/88380080