一个DBA眼中的HBase

标签: 系统架构 | 发表时间:2012-06-03 14:10 | 作者:vogts
出处:http://www.blogread.cn/it/

标签:   HBase

    Hadoop,HBase,NO-SQL是当今业界比较火的一些名词。满互联网都是对它的他们的赞许,其实光芒的背后还有部分缺点。本文只是我vogts的一些观点和想法。

    HBase的优点:

    分布式,易扩展,高性价比,运维成本低都是它的优点。HBase可以支持海量数据,单张表的数据量不上T,都不好意思出来打招呼。甚至可以拿很烂的SATA盘来作为存储,由于依赖底层的HDFS。新装的机器甚至可以不用做硬RAID。

    HBase可以在任何时候随时宕掉2,3台机器,就当什么都没发生似的(当然master除外,但是hbase,hadoop的master节点负载都很”清闲“)。这是HBase本身分布式的架构,先天性的优势。

    最近听说facebook计划全部放到hbase上,ebay的搜索引擎也计划使用hbase,hbase甚至可以代替lunce来做搜索引擎。我承认HBase确实可以做到,也确实可以做的更好。关键就看你怎么用了。

    很多开发都争着要上HBase,一窝蜂的热度。不用hadoop,不用hbase,不用no-sql就要落伍了,云云。

    HBase的一些限制:

    由于HBase是一个NO-SQL的列存储,很多特性目前是不支持的。比如:

    1:HBase名字像个Database的名字,它不支持SQL。必须依赖开发进行代码解决。因为HBase实际存储的是字节流。

     不过,由于没有SQL,也产生了一些好处,就是没必要去搞统计信息,担心执行计划走错等问题的发生。

    2:没办法建立二级索引。对于mysql,oracle对于一张表建立多个索引是天经地义的时候,而HBase是不支持的。据说新版本会考虑,个人觉得如果HBase将来真的要发展,必须走google f1,这是终局。

    3:没办法做类似oracle的dataguard,或者mysql的master-slave。 当然由于数据量实在太大了,每天的IO吞吐量也太大了,就算做一个,估计性能立马下降30%。单目前新版本的HBase,确实在考虑做master-slave,复制DML到备库上应用。

    4:当然trigger,procedure什么的,也更不可能有了。

    5:对于性能诊断不够给力,目前监控的粒度,差不多都是这些指标:

    http://sematext.com/spm/hbase-performance-monitoring/index.html

     Cluster and RegionServer read and write request counts

     Read, Write, and Sync min, max, and average latency

     Number of Stores opened on RegionServers

     StoreFile Index size and counts

     MemStore size

     Block cache: item count, hit cache and hit caching ratio, number of evictions, hits and misses, bytes free

     Compactions: compactionSizeNumOps, compactionTimeNumOps

     Compactions min, max, and average time

     Compactions min, max, and average size

     Compactions queue size

     Flush: flushSizeNumOps, flushTimeNumOps

     Flush min, max, and average size

     Flush min, max, and average time

     Splits: splitSizeNumOps, splitTimeNumOps

     Splits min, max, and average size

     Splits min, max, and average time

     HBase region count

     CPU usage

     RAM used/free

     System load

     Disk reads/writes

     Disk used/free

     Network interface traffic

     Swap IO

     JVM memory usage

     JVM garbage collection times and counts

     JVM thread counts

    单纯从指标上来说,这些够用了。这些指标确实能窥探出一些问题。但一个DBA更希望得到是:什么命令,在干什么,哪个客户端,等待事件什么,等等,都必要要了解清楚。这个HBase目前还无法提供,希望在未来的新版本能够加强。

    7:当region在进行compact或者split会出现短暂的读写堵塞。

    8:权限,安全上存在隐患。只要知道ZK的IP和端口,你就能轻松访问HBASE,甚至不需要任何权限校验。

    9:如果Row-Key的区分度不高,性能也不行。

    先吐槽到这里吧,HBase将来还有很多地方需要提高。

您可能还对下面的文章感兴趣:

  1. HBase中如何开发LoadBalance插件 [2012-05-17 23:34:55]
  2. 关于HBase的一些零碎事 [2012-03-25 20:50:39]
  3. HBase性能优化方法总结 [2012-03-11 22:39:14]
  4. HBase在数据统计应用中的使用心得 [2012-01-27 18:44:39]
  5. 记录碰到的HBase问题 [2011-10-25 13:36:23]
  6. hbase运维 [2011-08-22 12:22:03]
  7. HBase随机写以及随机读性能测试 [2011-08-17 13:48:20]
  8. HBase Java客户端编程 [2011-07-24 14:59:57]
  9. 关于HBase的一些零碎事 [2011-06-20 13:41:39]
  10. HBase性能调优 [2011-06-15 14:13:05]
  11. Cassandra和HBase主要设计思路对比 [2011-06-02 23:03:08]
  12. HBase二级索引与Join [2011-06-01 13:29:51]
  13. 菜鸟谈HBase之写速度篇 [2011-05-08 22:50:26]
  14. HFile存储格式 [2011-02-28 23:15:03]
  15. hbase介绍 [2011-01-29 22:36:10]
  16. HBase技术介绍 [2011-01-18 22:18:09]


相关 [dba hbase] 推荐:

一个DBA眼中的HBase

- - IT技术博客大学习
标签:   HBase.     Hadoop,HBase,NO-SQL是当今业界比较火的一些名词. 满互联网都是对它的他们的赞许,其实光芒的背后还有部分缺点. 本文只是我vogts的一些观点和想法.     HBase的优点:.     分布式,易扩展,高性价比,运维成本低都是它的优点. HBase可以支持海量数据,单张表的数据量不上T,都不好意思出来打招呼.

DBA工作总结

- - CSDN博客数据库推荐文章
一年以来,本人尊敬领导团结同事、服从安排 遵守纪律,坚持努力学习专业知识,兢兢业业克己奉公努力工作. 总结过去,在知识结构上,能够完成了EBS-DBA的各项工作;在日常工作XX,能够完成EBS-DBA的各项工作任务,适应了DBA工作岗位要求的职责,掌握了EBS-DBA要求的多项技术. 我一年以来的主要工作从以下几个方面说起主要包括日常维护、补丁更新,安装规划,文档整理,最后给出下一步规划.

DBA团队的使命

- 2sin18 - Alibaba DBA Team
DBA团队的使命:提供高可用、高性能、可扩展的数据存储服务. 高可用:可用性是运维的根本,我们不管做什么事情,都要把可用性放在第一位. 高性能:对性能的关注是我们一直坚持、做的最好的一面,仍需要继续做到极致. 可扩展:也就是最适合的,易部署,可线形透明伸缩. 数据存储:不只是关注某个数据库本身,是基于对各种最先进的数据存储技术的精深理解,提供最专业的服务.

DBA Notes 也有 iPhone App 了 ?

- Epile - DBA notes
刚才在我的 Google+ 上发布了一条半开玩笑的信息:DBA Notes 也有 iPhone App 了. 其实没那么神奇,借助于这款 iOS App : Bloapp .. 安装完这个 App 之后,到其网站上"创建"你的 App,其实主要是一些视觉风格的定义,用它扫描生成的这个 QR Code :.

常用Oracle DBA 查询

- - CSDN博客推荐文章
-- Part1 Oracle常用查询. and t.table_name = 要查询的表 . and au.constraint_type = 'P' and au.table_name = 要查询的表. and au.table_name = 要查询的表 . select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表.

MySQL DBA修炼秘籍

- - OurMySQL
本文主要写给那些立志成为MySQL DBA,以及正在学习MySQL的同行们,结合个人及业内其他同行的职业发展经历给大家一些参考,如何成为合格的MySQL DBA. 1、什么是MySQL DBA. 首先,DBA是database administrator(数据库管理员)的简称,在一些招聘网站上,也可能会把职位写成数据库[管理]工程师,MySQL DBA是目前互联网企业中最为炙手可热的岗位需求之一,前(钱)景大好,快到碗里来吧.

如何成为MySQL DBA

- - OurMySQL
       互联网高速发展的成功,得益于MySQL数据库的给力支持. MySQL本身发展的速度较快,性能方面提升显著,让传统企业也有想法使用MySQL提供服务. 目前看来MySQL DBA的缺口非常大. 所以欢迎加入到MySQL DBA的团队中来.       有同学一提到MySQL DBA或是DBA都把高难度入门联系到一块.

MySQL DBA面试全揭秘

- - OurMySQL
本文起源于有同学留言回复说想了解下MySQL DBA面试时可能涉及到的知识要点,那我们今天就来大概谈谈吧. MySQL DBA职位最近几年特别热门,不少朋友让我帮忙推荐什么的,也有很多公司找不到合适的DBA. 原因很简单,优秀的人才要么被大公司圈起来了,要么被创业公司高薪挖走,如果你既不是大公司,又不能出得起高价钱的土豪公司,想要找到优秀人才的几率堪比买彩票中奖的概率,哈哈.

互联网 DBA 需要做那些事

- - CSDN博客数据库推荐文章
很早前就想写篇文章介绍一下互联网DBA需要干的一些事情,但苦于没有时间,忙于平台建设,最近,各个模块都初具规模,故有时间静下心来,介绍一下. 众所周知,互联网DBA与传统行业DBA有很大的不同,那就是管理的机器多,新技术更新快,面对的开发多、网络环境复杂、要求7*24待机;这样就 导致互联网DBA的工作在传统DBA工作之上,增加了更多的复杂性,我们必须考虑如何大批量部署,如何集中化监控、如何解决单点故障而保障7*24,而为 了做到这些,不是靠堆人力,我们必须有一个完整的平台作为支撑,那么数据库平台到底要建成什么样子呢.

mysqldump - 给 DBA 的 25 个小技巧

- - jackyrong
mysqldump 是文本备份还是二进制备份. 它是文本备份,如果你打开备份文件你将看到所有的语句,可以用于重新创建表和对象. 它也有 insert 语句来使用数据构成表. mysqldump 的语法是什么. 使用 mysqldump 怎样备份所有数据库. 使用 mysqldump 怎样备份指定的数据库.