HBase入门培训——绝对深入浅出
大数据存储之道--HBase介绍与分享
1. mysql分库分表的痛苦——扩容与升级的苦恼,资源申请的周期
2. 单个数据库遇到的
扩展性瓶颈
IO瓶颈
因此转而使用NOSQL--NOT ONLY SQL
3. 关系数据库满足的:
•ACID
•原子性(ATOMICITY).
事务中的所有操作,要么全部成功,要么全部不做.
•一致性(CONSISTENCY)
在事务开始与结束时,数据库处于一致状态.
•隔离性(ISOLATION).
事务如同只有这一个操作在被数据库所执行一样.
•持久性(DURABILITY).
在事务结束时,此操作将不可逆转.(也就是只要事务提交,系统将保证数据不会丢失,即使出现系统CRASH,译者补充).
而NOSQL满足的:
•
•BASICALLY AVAILABLE(基本可用)
•SOFT STATE(柔性状态)
状态可以有一段时间不同步,异步
•EVENTUALLY CONSISTENT(最终一致,这里的一致性与关系数据库的一直不是同一个概念,是指数据最终在集群中是一样的)(HBASE保证行级一致性)
最终数据是一致的就可以了,而不是时时一致
4. 什么时候使用HBASE
•大数据下的快速随机访问
–REDIS可以达到高性能,但数据量存在瓶颈
–MYSQL数据量稍高、效率就容易出现瓶颈
–HBASE很好的解决此问题
–
•数据不断快速增长
–MYSQL可以分库分表:数据迁移和扩容困难
–HBASE很好的解决此问题
–
•数据分析
–HBASE和HADOOP无缝集成,可利用MAPREDUCE离线分析
–
•总结:数据库无法满足或者使用数据库收益比低的场景
5.HBASE简介
•在主要NOSQL中,逻辑数据概念上最接近RDB
–表(TABLE)
–列族(COLUMN FAMILY)
–行(ROW)
–列(COLUMN)
•
底层存储基于HDFS
6. 组件和角色(使用者应该了解的)
更多--经典架构图
7. 对比逻辑视图
8. 使用对比
9. 数据访问
•JAVA API
•SHELL
•THRIFT
•REST
学习曲线太长&&只会SQL-->PHOENIX
10. 外部使用案例
•淘宝
–淘宝实时传输平台:每天TB级、发布和订阅
–淘宝指数:倒排索引的属性查询
–交易历史记录查询系统 :百亿行,千亿级二级索引、每天千万行更新
–Facebook消息系统:每月增加250TB的新数,数十亿条短信
•趋势科技
•OPENTSDB
•Yahoo!世界最大的HBase集群
11. 具体适用场景举例
•事件日志
•
•CMS,博客
•
•计数器
•
•数据过时
12. 后记
•HBase使用系列培训
–基础与原理
–建模与使用
–最佳实践
–系统调优
•参考文档
–HBase接入和技术文档:
–官网: http ://hbase.apache.org /