More Related Content Similar to H base 使用初体验 (20) H base 使用初体验2. Agenda
• QCon NoSQL简介
• HBase 介绍
• HBase@搜索中心
• 遇到的问题
3. NoSQL@Qcon
• NoSQLs : Key/Value
– Facebook ,Twitter: HBase 线上每月25T消息
hbase + haystack
– Sina : Mysql->Mysql + Redis 5w qps
– 豆瓣 : BeansDB 记录为几K~几M之间
– 淘宝 : tair
– 百度 : bailingDB 千亿网页存储
– 人人 : Nuclear Dynamo
– QQ Mail : SimpleDB 支持业务的cache
– 视觉中国 : MongoDB
4. HBase 介绍
• Background
• Data Model
• Architecture
• Features
• Hbase API
7. What is HBase
• Column-oriented semi-structured data store
• Distributed
• Layered over HDFS
• Tolerant of machine failure
• Strong consistency
9. Data Model
• Basic concept
– Table
– Row(全局有序)
– Column = Family + qualifier(不固定)
– Timestamp(version)
– Cell
– region
10. Data Model(cnt.)
Table : User-Friends
Info Friends
Row(Uid) Name Sex Age … 1 3 4 …
1 John M 23 Bf
2 Smith
3 Lily F 22 Gf Sister
4 Lucy F 22 Sister
11. Data Model(cnt.)
• Physical Storage
Info Friends
Row(Uid) Name Sex Age … 1 3 4 …
1 John M 23 Bf
2 Smith
3 Lily F 22 Gf Sister
4 Lucy F 22 Sister
13. Architecture(cnt)
• Client
– Read/Write Data(RegionServer)
– Schema Manager(Master)
• Zookeeper
– Master选举和恢复
– 定位Root region
– RegionServer上下线感知
• Master
– Region assign(balancer)
– Metadata operation
• RegionServer
– 用户IO请求
– Split/Compact Region
15. Write
MemStore
writer
HLog
Seq#1,Table13,Region11,… StoreFile StoreFile
StoreFile Small
Seq#2,Table5,Region2,…
Compaction
16. Features
• Scalability
• High performance
• Reliability
• Hbase API
17. Scalability
• 扩容
– 传统方案:分库分表
– HBase : 直接新增机器
– RegionServer
• Split
• Load balance
– HDFS
• Schema变化
– 传统方案:停机维护
– HBase : 动态增删列(族)
18. High performance
• 随机读
– Key/Value
– Cache(客户端cache+MemStore+Blocking)
– 按列存储
– Split/balance
– BloomFilter
22. HBase API
• HBase shell (like mysql/hive)
• Java API
• Thrift
• REST
• Jython,Scala,Groovy DSL, Cascading, Pig,
Hive…
23. Java API
• Get
• Put
• Delete
• Scan
• HBaseAdmin
• MapReduce
24. HBase@搜索中心
• 一淘
– 网页(文本信息+全网B2C商品)
– 图片(缩略图+价格图)
– 外网合作商家数据
• 主要操作:
– 网页选取
– 链接提取
– 图片处理
– Index Build(全量+增量)
27. 遇到的问题/经验分享
• 表Schema设计
– Key : 查找某个query某个类目id下的数据
– Column Family
– 每天一表or总共一张表
• 压缩
• Region pre-sharding
• 机房数据迁移(bulk loader)
• WAL的影响评估
28. 相关学习资料
• Soure Code
• BigTable 论文
• Website Book
• Wiki
• 菜鸟看Hbase by 毕玄
• HBase @ Hadoop Day Seattle
• Facebook's New Realtime Analytics System:
HBase to Process 20 Billion Events Per Day
• QCon北京 2011 总结