狠狠撸

狠狠撸Share a Scribd company logo
HBase 使用初体验

  2011-05-18
 叔宝@搜索中心
Agenda
?   QCon NoSQL介绍
?   HBase 介绍
?   HBase@搜索中心
?   遇到的问题
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
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 failure
?   Strong consistency
From facebook
Data Model
? Basic concept
  – Table
  – Row(全局有序)
  – Column = Family + qualifier(不固定)
  – Timestamp(version)
  – Cell
  – region
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
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
Architecture
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
Where is ipad@query table?
                                 query
? 3 级查找                .META1.
                                 ipad


              -ROOT-
             .META1.
 zookeeper   META2
Write

         MemStore

writer
         HLog
         Seq#1,Table13,Region11,…   StoreFile StoreFile
                                                  StoreFile   Small
         Seq#2,Table5,Region2,…

                                           Compaction
Features
?   Scalability
?   High performance
?   Reliability
?   Hbase API
Scalability
? 扩容
 – 传统方案:分库分表
 – HBase : 直接新增机器
 – RegionServer
   ? Split
   ? Load balance
 – HDFS
? Schema变化
 – 传统方案:停机维护
 – HBase : 动态增删列(族)
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,
    Hive…
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
?   机房数据迁移(bulk loader)
?   WAL的影响评估
相关学习资料
? 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 总结

More Related Content

H base 使用初体验

  • 1. HBase 使用初体验 2011-05-18 叔宝@搜索中心
  • 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
  • 14. Where is ipad@query table? query ? 3 级查找 .META1. ipad -ROOT- .META1. zookeeper META2
  • 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
  • 19. High performance(cnt.) ? 随机写 – WAL – Cache(MemStore) – Compact/Split/balance
  • 21. Reliability(Fault-tolerance) ? Layered On HDFS ? WAL ? Automatic Failover – Region Server – Master
  • 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(全量+增量)
  • 25. HBase@搜索中心(cnt.) ? 数据平台 – 卖家数据存储 ? 基本信息 ? 每天流量来源 ? 反作弊 ? 相关性 – Query数据存储
  • 26. HBase@搜索中心(cnt.) ? Dump中心 – 宝贝数据 – 用户数据 –… ? 解决增量问题
  • 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 总结