HBase 使用初体验  2011-05-18 叔宝@搜索中心
Agenda•   QCon NoSQL简介•   HBase 介绍•   HBase@搜索中心•   遇到的问题
NoSQL@Qcon• NoSQLs : Key/Value  – Facebook ,Twitter: HBase 线上每月25T消息                             hbase + haystack  – Sina ...
HBase 介绍•   Background•   Data Model•   Architecture•   Features•   Hbase API
Background• BigTable• Hadoop
Background
What is HBase•   Column-oriented semi-structured data store•   Distributed•   Layered over HDFS•   Tolerant of machine fai...
From facebook
Data Model• Basic concept  – Table  – Row(全局有序)  – Column = Family + qualifier(不固定)  – Timestamp(version)  – Cell  – region
Data Model(cnt.)Table : User-Friends                          Info                        FriendsRow(Uid)   Name     Sex  ...
Data Model(cnt.)• Physical Storage                            Info                        Friends  Row(Uid)   Name     Sex...
Architecture
Architecture(cnt)• Client   – Read/Write Data(RegionServer)   – Schema Manager(Master)• Zookeeper   – Master选举和恢复   – 定位Ro...
Where is ipad@query table?                                 query• 3 级查找                .META1.                            ...
Write         MemStorewriter         HLog         Seq#1,Table13,Region11,…   StoreFile StoreFile                          ...
Features•   Scalability•   High performance•   Reliability•   Hbase API
Scalability• 扩容 – 传统方案:分库分表 – HBase : 直接新增机器 – RegionServer   • Split   • Load balance – HDFS• Schema变化 – 传统方案:停机维护 – HBas...
High performance• 随机读 – Key/Value – Cache(客户端cache+MemStore+Blocking) – 按列存储 – Split/balance – BloomFilter
High performance(cnt.)• 随机写 – WAL – Cache(MemStore) – Compact/Split/balance
High performance(cnt.)• 范围查询Scan – Row全局有序
Reliability(Fault-tolerance)• Layered On HDFS• WAL• Automatic Failover  – Region Server  – Master
HBase API•   HBase shell (like mysql/hive)•   Java API•   Thrift•   REST•   Jython,Scala,Groovy DSL, Cascading, Pig,    Hi...
Java API•   Get•   Put•   Delete•   Scan•   HBaseAdmin•   MapReduce
HBase@搜索中心• 一淘 – 网页(文本信息+全网B2C商品) – 图片(缩略图+价格图) – 外网合作商家数据• 主要操作: – 网页选取 – 链接提取 – 图片处理 – Index Build(全量+增量)
HBase@搜索中心(cnt.)• 数据平台 – 卖家数据存储  •   基本信息  •   每天流量来源  •   反作弊  •   相关性 – Query数据存储
HBase@搜索中心(cnt.)• Dump中心 – 宝贝数据 – 用户数据 –…• 解决增量问题
遇到的问题/经验分享• 表Schema设计    – Key : 查找某个query某个类目id下的数据    – Column Family    – 每天一表or总共一张表•   压缩•   Region pre-sharding•   机...
相关学习资料• Soure Code• BigTable 论文• Website Book• Wiki• 菜鸟看Hbase by 毕玄• HBase @ Hadoop Day Seattle• Facebooks New Realtime An...
Upcoming SlideShare
Loading in …5
×

H base 使用初体验

3,550 views
3,386 views

Published on

Published in: Technology
0 Comments
8 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,550
On SlideShare
0
From Embeds
0
Number of Embeds
29
Actions
Shares
0
Downloads
139
Comments
0
Likes
8
Embeds 0
No embeds

No notes for slide

H base 使用初体验

  1. 1. HBase 使用初体验 2011-05-18 叔宝@搜索中心
  2. 2. Agenda• QCon NoSQL简介• HBase 介绍• HBase@搜索中心• 遇到的问题
  3. 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. 4. HBase 介绍• Background• Data Model• Architecture• Features• Hbase API
  5. 5. Background• BigTable• Hadoop
  6. 6. Background
  7. 7. What is HBase• Column-oriented semi-structured data store• Distributed• Layered over HDFS• Tolerant of machine failure• Strong consistency
  8. 8. From facebook
  9. 9. Data Model• Basic concept – Table – Row(全局有序) – Column = Family + qualifier(不固定) – Timestamp(version) – Cell – region
  10. 10. Data Model(cnt.)Table : User-Friends Info FriendsRow(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. 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
  12. 12. Architecture
  13. 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
  14. 14. Where is ipad@query table? query• 3 级查找 .META1. ipad -ROOT- .META1. zookeeper META2
  15. 15. Write MemStorewriter HLog Seq#1,Table13,Region11,… StoreFile StoreFile StoreFile Small Seq#2,Table5,Region2,… Compaction
  16. 16. Features• Scalability• High performance• Reliability• Hbase API
  17. 17. Scalability• 扩容 – 传统方案:分库分表 – HBase : 直接新增机器 – RegionServer • Split • Load balance – HDFS• Schema变化 – 传统方案:停机维护 – HBase : 动态增删列(族)
  18. 18. High performance• 随机读 – Key/Value – Cache(客户端cache+MemStore+Blocking) – 按列存储 – Split/balance – BloomFilter
  19. 19. High performance(cnt.)• 随机写 – WAL – Cache(MemStore) – Compact/Split/balance
  20. 20. High performance(cnt.)• 范围查询Scan – Row全局有序
  21. 21. Reliability(Fault-tolerance)• Layered On HDFS• WAL• Automatic Failover – Region Server – Master
  22. 22. HBase API• HBase shell (like mysql/hive)• Java API• Thrift• REST• Jython,Scala,Groovy DSL, Cascading, Pig, Hive…
  23. 23. Java API• Get• Put• Delete• Scan• HBaseAdmin• MapReduce
  24. 24. HBase@搜索中心• 一淘 – 网页(文本信息+全网B2C商品) – 图片(缩略图+价格图) – 外网合作商家数据• 主要操作: – 网页选取 – 链接提取 – 图片处理 – Index Build(全量+增量)
  25. 25. HBase@搜索中心(cnt.)• 数据平台 – 卖家数据存储 • 基本信息 • 每天流量来源 • 反作弊 • 相关性 – Query数据存储
  26. 26. HBase@搜索中心(cnt.)• Dump中心 – 宝贝数据 – 用户数据 –…• 解决增量问题
  27. 27. 遇到的问题/经验分享• 表Schema设计 – Key : 查找某个query某个类目id下的数据 – Column Family – 每天一表or总共一张表• 压缩• Region pre-sharding• 机房数据迁移(bulk loader)• WAL的影响评估
  28. 28. 相关学习资料• Soure Code• BigTable 论文• Website Book• Wiki• 菜鸟看Hbase by 毕玄• HBase @ Hadoop Day Seattle• Facebooks New Realtime Analytics System: HBase to Process 20 Billion Events Per Day• QCon北京 2011 总结

×