HBase入门培训——绝对深入浅出

标签: hbase 绝对 | 发表时间:2013-11-05 05:54 | 作者:doliu6
出处:http://blog.csdn.net

大数据存储之道--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. 数据访问

 

•支持范围查询
–Scan scan=new Scan(Bytes.toBytes("0"), Bytes.toBytes("20"));
•高性能随机写
–单条随机put:3ms
–批量1000耗时:114.58ms(WAL)39.3(延迟)
•支持高性能读取
–单条Get可以达到1-2ms


•JAVA API

•SHELL

•THRIFT

•REST

学习曲线太长&&只会SQL-->PHOENIX



 

10. 外部使用案例

•淘宝

–淘宝实时传输平台:每天TB级、发布和订阅

–淘宝指数:倒排索引的属性查询

–交易历史记录查询系统 :百亿行,千亿级二级索引、每天千万行更新

•Facebook

–Facebook消息系统:每月增加250TB的新数,数十亿条短信

•趋势科技

•OPENTSDB

•Yahoo!世界最大的HBase集群



11. 具体适用场景举例

•事件日志

•CMS,博客

•计数器

•数据过时



12. 后记

•HBase使用系列培训

–基础与原理

–建模与使用

–最佳实践

–系统调优

•参考文档

–HBase接入和技术文档:

–官网: http ://hbase.apache.org /

 



作者:doliu6 发表于2013-11-4 21:54:10 原文链接
阅读:98 评论:0 查看评论

相关 [hbase 绝对] 推荐:

HBase入门培训——绝对深入浅出

- - CSDN博客云计算推荐文章
大数据存储之道--HBase介绍与分享. mysql分库分表的痛苦——扩容与升级的苦恼,资源申请的周期. 因此转而使用NOSQL--NOT ONLY SQL. •原子性(ATOMICITY)..      事务中的所有操作,要么全部成功,要么全部不做.. •一致性(CONSISTENCY).      在事务开始与结束时,数据库处于一致状态..

hbase介绍

- AreYouOK? - 淘宝数据平台与产品部官方博客 tbdata.org
hbase是bigtable的开源山寨版本. 是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统. 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作). 主要用来存储非结构化和半结构化的松散数据.

Riak对比HBase

- - NoSQLFan
文章来自 Riak官方wiki,是一篇Riak与HBase的对比文章. Riak官方的对比通常都做得很中肯,并不刻意偏向自家产品. 对比的Riak版本是1.1.x,HBase是0.94.x. Riak 与 HBase 都是基于 Apache 2.0 licensed 发布. Riak 的实现是基于 Amazon 的 Dynamo 论文,HBase 是基于 Google 的 BigTable.

[转]HBase简介

- - 小鸥的博客
   Hbase是一个分布式开源数据库,基于Hadoop分布式文件系统,模仿并提供了基于Google文件系统的Bigtable数据库的所有功能. 其目标是处理非常庞大的表,可以用普通的计算机处理超过10亿行数据,并且有数百万列元素组成的数据表. Hbase可以直接使用本地文件系统或者Hadoop作为数据存储方式,不过为了提高数据可靠性和系统的健壮性,发挥Hbase处理大数据量等功能,需要使用Hadoop作为文件系统.

HBase表设计

- - 互联网 - ITeye博客
默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据, 直到这 个region足够大了才进行切分. 一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按 照 region分区情况,在集群内做数据的负载均衡.

HBase Memstore配置

- - 行业应用 - ITeye博客
HBase Memstore配置. 本文为翻译,原英文地址:http://blog.sematext.com/2012/07/16/hbase-memstore-what-you-should-know/.     当regionserver(以下简称RS)收到一个写请求,会将这个请求定位到某个特定的region.

hbase原理

- - CSDN博客云计算推荐文章
1.hbase利用hdfs作为其文件存储系统,利用mapreduce来处理数据,利用zookeeper作为协调工具. 2.行键(row key),类似于主键,但row key是表自带的. 3.列族(column family) ,列(也称作标签/修饰符)的集合,定义表的时候指定的,列是在插入记录的时候动态增加的.

hbase锁机制

- - 数据库 - ITeye博客
博文说明:1、研究版本hbase0.94.12;2、贴出的源代码可能会有删减,只保留关键的代码.   hbase的锁是采用jdk的ReentrantReadWriteLock类实现.   一、HRegion有两种锁:lock、updatesLock,这两种锁均是ReentrantReadWriteLock类的实例,基本上所有的region操作均需要获取lock的read共享锁,在获取了lock的read锁后,如果是增加或者删除等影响数据内容的操作则还需要获取updatesLock的read锁.

Hbase入门

- - CSDN博客云计算推荐文章
Hbase 全称是Hadoop DataBase ,是一种开源的,可伸缩的,高可靠,高性能,面向列的分布式存储系统. 类似于Google的BigTable,其分布式计算采用MapReduce,通过MapReduce完成大块数据加载和全表扫描操作. 文件存储系统是HDFS,通过Zookeeper来完成状态管理协同服务.

[原]HBase StoreFile Compaction

- - 芒果先生Mango的专栏
Store File的合并策略比较复杂,涉及多个参数,合并策略的好坏,直接影响HBase的读写性能. 发现这篇博文:http://blog.csdn.net/azhao_dn/article/details/8867036 对Compaction描述的言简意赅:. hbase为了防止小文件(被刷到磁盘的menstore)过多,以保证保证查询效率,hbase需要在必要的时候将这些小的store file合并成相对较大的store file,这个过程就称之为compaction.