SlideShare a Scribd company logo
1 of 28
Download to read offline
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

What's hot

百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010Chuanying Du
 
Hbase架构简介、实践
Hbase架构简介、实践Hbase架构简介、实践
Hbase架构简介、实践Li Map
 
1.4 go在数据存储上面的应用—毛剑
1.4 go在数据存储上面的应用—毛剑1.4 go在数据存储上面的应用—毛剑
1.4 go在数据存储上面的应用—毛剑Leo Zhou
 
Redis 常见使用模式分析
Redis 常见使用模式分析Redis 常见使用模式分析
Redis 常见使用模式分析vincent253
 
Koha 導論
Koha 導論Koha 導論
Koha 導論maolins
 
110412 kningsoft-mongo db-intro-usage-in-mercury
110412 kningsoft-mongo db-intro-usage-in-mercury110412 kningsoft-mongo db-intro-usage-in-mercury
110412 kningsoft-mongo db-intro-usage-in-mercuryZoom Quiet
 
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化tiantianli
 
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture][Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]思念 青青
 
杂志式布局
杂志式布局杂志式布局
杂志式布局Jace Lee
 
Buffer pool implementaion inno db vs oracle
Buffer pool implementaion inno db vs oracleBuffer pool implementaion inno db vs oracle
Buffer pool implementaion inno db vs oraclefrogd
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计LI Daobing
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈Tim Y
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构XiaoJun Hong
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introductionTianwei Liu
 
Redis介绍
Redis介绍 Redis介绍
Redis介绍 yubao fu
 

What's hot (20)

关于Hbase
关于Hbase关于Hbase
关于Hbase
 
百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010百度系统部分布式系统介绍 马如悦 Sacc2010
百度系统部分布式系统介绍 马如悦 Sacc2010
 
Hbase架构简介、实践
Hbase架构简介、实践Hbase架构简介、实践
Hbase架构简介、实践
 
1.4 go在数据存储上面的应用—毛剑
1.4 go在数据存储上面的应用—毛剑1.4 go在数据存储上面的应用—毛剑
1.4 go在数据存储上面的应用—毛剑
 
MongoDB SHARE
MongoDB SHAREMongoDB SHARE
MongoDB SHARE
 
Redis 常见使用模式分析
Redis 常见使用模式分析Redis 常见使用模式分析
Redis 常见使用模式分析
 
Koha 導論
Koha 導論Koha 導論
Koha 導論
 
Redis介绍
Redis介绍Redis介绍
Redis介绍
 
Mongo db 特性
Mongo db 特性Mongo db 特性
Mongo db 特性
 
NoSQL-MongoDB
NoSQL-MongoDBNoSQL-MongoDB
NoSQL-MongoDB
 
110412 kningsoft-mongo db-intro-usage-in-mercury
110412 kningsoft-mongo db-intro-usage-in-mercury110412 kningsoft-mongo db-intro-usage-in-mercury
110412 kningsoft-mongo db-intro-usage-in-mercury
 
百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化百度前端技术交流会--搜搜前端架构演变与优化
百度前端技术交流会--搜搜前端架构演变与优化
 
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture][Baidu web frontend_conference_2010]_[soso_frontend_architecture]
[Baidu web frontend_conference_2010]_[soso_frontend_architecture]
 
杂志式布局
杂志式布局杂志式布局
杂志式布局
 
Buffer pool implementaion inno db vs oracle
Buffer pool implementaion inno db vs oracleBuffer pool implementaion inno db vs oracle
Buffer pool implementaion inno db vs oracle
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计
 
分布式Key Value Store漫谈
分布式Key Value Store漫谈分布式Key Value Store漫谈
分布式Key Value Store漫谈
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构
 
Hadoop introduction
Hadoop introductionHadoop introduction
Hadoop introduction
 
Redis介绍
Redis介绍 Redis介绍
Redis介绍
 

Similar to H base 使用初体验

分布式缓存与队列
分布式缓存与队列分布式缓存与队列
分布式缓存与队列XiaoJun Hong
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lakeJames Chen
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
分布式Key-value漫谈
分布式Key-value漫谈分布式Key-value漫谈
分布式Key-value漫谈lovingprince58
 
Hbase介绍
Hbase介绍Hbase介绍
Hbase介绍Kay Yan
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构drewz lin
 
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1medcl
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)Feng Yu
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华zhuozhe
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展drewz lin
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展Hesey
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性Xuefeng Zhang
 
分布式存储与TDDL
分布式存储与TDDL分布式存储与TDDL
分布式存储与TDDLmysqlops
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析frogd
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...acelyc1112009
 
Track1dongsiying4
Track1dongsiying4Track1dongsiying4
Track1dongsiying4drewz lin
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法Jazz Yao-Tsung Wang
 
1到100000000 - 分布式大型网站的架构设计
1到100000000 - 分布式大型网站的架构设计1到100000000 - 分布式大型网站的架构设计
1到100000000 - 分布式大型网站的架构设计RolfZhang
 

Similar to H base 使用初体验 (20)

分布式缓存与队列
分布式缓存与队列分布式缓存与队列
分布式缓存与队列
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
分布式Key-value漫谈
分布式Key-value漫谈分布式Key-value漫谈
分布式Key-value漫谈
 
Hbase介绍
Hbase介绍Hbase介绍
Hbase介绍
 
大规模网站架构
大规模网站架构大规模网站架构
大规模网站架构
 
ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1ElasticSearch Training#2 (advanced concepts)-ESCC#1
ElasticSearch Training#2 (advanced concepts)-ESCC#1
 
MySQL和IO(下)
MySQL和IO(下)MySQL和IO(下)
MySQL和IO(下)
 
HBase
HBaseHBase
HBase
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展
 
大型网站架构的发展
大型网站架构的发展大型网站架构的发展
大型网站架构的发展
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
 
分布式存储与TDDL
分布式存储与TDDL分布式存储与TDDL
分布式存储与TDDL
 
硬件体系架构浅析
硬件体系架构浅析硬件体系架构浅析
硬件体系架构浅析
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
 
Track1dongsiying4
Track1dongsiying4Track1dongsiying4
Track1dongsiying4
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
 
1到100000000 - 分布式大型网站的架构设计
1到100000000 - 分布式大型网站的架构设计1到100000000 - 分布式大型网站的架构设计
1到100000000 - 分布式大型网站的架构设计
 

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 总结