大家在使用HBase的过程中,总是面临性能优化的问题,本文从HBase客户端参数设置的角度,研究HBase客户端数据批量插入性能优化的问题。事实胜于雄辩,数据比理论更有说服力,基于此,作者设计了这么一个HBase数据插入性能优化实测实验,希望大家用自己的服务器跑出的结果,给自己一个值得信服的结论。
就职于网易杭州研究院后台技术中心数据库技术组,从事HBase开发、运维,对HBase相关技术有浓厚的兴趣。
“大数据” 三个字其实是个marketing语言,从技术角度看,包含范围很广,计算、存储、网络都涉及,知识点广、学习难度高。
本文链接: https://moeci.com/posts/分类-大数据/HBase/
问:Hbase大量写入很慢,一个列族,每个200多列,一秒写30000条数据,使用mutate添加数据,clientbuffer缓存大小为10M,四台测试机,128G内存,分配60G给Hbase,该怎么优化?
这个问题是肯定要问的,说白了,就是看你有没有实际干过 es,因为啥?其实 es 性能并没有你想象中那么好的。很多时候数据量大了,特别是有几亿条数据的时候,可能你会懵逼的发现,跑个搜索怎么一下 5~10s,坑爹了。第一次搜索的时候,是5~10s,后面反而就快了,可能就几百毫秒。
最近朋友公司在做一些数据的迁移,主要是将一些Hive处理之后的热数据导入到HBase中,但是遇到了一个很奇怪的问题:同样的数据到了HBase中,所占空间竟增长了好几倍!详谈中,笔者建议朋友至少从几点原因入手分析:
Facebook 在今年六月 SIGMOD 2011 上发表了一篇名为“Apache Hadoop Goes Realtime at Facebook”的会议论文 (pdf),介绍了 Facebook 为了打造一个实时的 HBase 系统使用到的独门秘技。由于该论文提到的应用场景与小弟负责的系统要解决的问题域有相似之处,因而抽时间仔细阅读了这篇论文。下面便是结合论文的内容,谈一谈我的一些看法和感想,如有谬误,敬请指正。 这篇 10 页的长文主要的内容是 Facebook 在 Hadoop 系统上的
如果数据吞吐量较大,且一次查询返回的数据量较大,则Rowkey 必须进行散列化处理,同时建表必须进行预分区处理。对于以get为主的查询场景,则将表进行hash预分区,均匀分布;如果以scan为主,则需要兼顾业务场景设计rowkey,在满足查询需求的前提下尽量对数据打散并进行负载均衡。
假设一条记录包含以下信息:(id,username,score,version),score每次变更,version就加1,对于username相同的数据,只有version最大的那一条是有效的,也就是Mysql按字段分组取最大值记录问题,怎么做才能使查询效率高呢
比如由单个 WEB 服务器来响应用户请求,改为通过 Nginx 等负载均衡工具将请求分发到多台服务器。
最近,在用Flink SQL批量写HBase,做调度。主要遇到了三个大坑,在接下来的三篇文章中逐个记录。三个大坑分别是,
如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率?
这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。
时间回到2011年,Hadoop作为新生事物,在阿里巴巴已经玩得风生水起,上千台规模的"云梯"是当时国内名声显赫的计算平台。 这一年,Hadoop的好兄弟HBase由毕玄大师带入淘宝,开启了它的阿里之旅。从最初的淘宝历史交易记录,到去年的支付宝消费记录存储在线历史存储统一;从蚂蚁安全风控的多年存储演进,到HBase、TT、Galaxy的大数据激情迭代;HBase在阿里经历过年轻的苦涩,释放过青春的活力,也付出过成长的代价。几代人的不懈努力下,五年陈的HBase开始表现出更成熟、更完善、更丰富的一面,成为公司内部被广泛使用的存储产品之一。 经过阿里集团内部的锤炼,集团将这个技术红利输送给广大阿里云客户。现已推出云数据库HBase产品,支持海量的PB级的大数据存储,适用于高吞吐的随机读写的场景。
本文集合了小编在日常学习和生产实践中遇到的使用Hbase中的各种问题和优化方法,分别从表设计、rowkey设计、内存、读写、配置等各个领域对Hbase常用的调优方式进行了总结,希望能对读者有帮助。本文参考结合自己实际优化经验,参考了大量官网和各个前辈的经验,调优后生产环境中的Hbase集群支撑了约50万/s的读和25万/s的写流量洪峰。感谢各位的经验和付出。
一般来说,同一个虚拟机 > 同一台服务器 > 同一个集群 > 同一个机房 > 同一个城市 > 同国其他城市 > 跨国。
这是使用 HBase 最不可避免的一个话题,就是 HBase 的性能调优,而且通常建立在我们对 HBase 内部运行机制比较了解的基础上进行的,因此无论怎么说,调优这块都是一个相对复杂的事情。这一篇我们先来介绍与 HBase 内存最相关的调优内容。
大家好,我是Tom哥。校招进阿里,研究生,P7技术专家,出过专利,竞赛拿过奖,CSDN博客专家,负责过电商交易、社区生鲜、营销、金融等业务,多年团队管理经验,爱思考。
本文原文(点击下面阅读原文即可进入) https://blog.csdn.net/qq_20499001/article/details/89261583
【编者按】11月21日,为期三天的SDCC2015中国软件开发者大会成功闭幕,主办方总计邀请了95余位演讲嘉宾,为参会者奉献了10个主题演讲,9大技术专场论坛(80余场技术演讲),另外还有5场特色活动。另外,据官方统计参会人数高达1067名(不含工作人员)。 其中20日的架构专场,现场听讲人数一度爆满,而没有机会亲临现场的童鞋们,我们特邀请了业内专家、与会者分享他们的听课感受及他们眼中的架构专场。以下是来自搜狗商业平台架构师么刚参加架构专场的听课札记,以飨读者。 以下为么刚的参会笔记: 航天信息股份有限公司
个推作为专业的数据智能服务商,在业务开展过程中存在海量的数据存储与查询的需求,为此个推选用了高可靠、高性能、面向列、可伸缩的分布式数据存储系统——HBase。
如果面试的时候碰到这样一个面试题:ES 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因为啥?其实 ES 性能并没有你想象中那么好的。 很多时候数
如果面试的时候碰到这样一个面试题:ES在数据量很大的情况下(数十亿级别)如何提高查询效率? 面试官心理分析 这个问题是肯定要问的,说白了,就是看你有没有实际干过ES,因为啥? 其实ES性能并没有你想象
转载自:https://zhuanlan.zhihu.com/p/60458049
写博客也已经快一年了,从去年的1024到现在金秋10月已纷至沓来。回顾这一年所发布的原创文章,基本都是与大数据主流或者周边的技术为主。本篇博客,就为大家介绍几篇关于大数据领域必看的经典书籍,喜欢的小伙伴记得来发一键三连。
CPU 缓存、浏览器缓存、CDN 缓存、DNS 缓存、内存缓存、 Redis 缓存等,它们都是将数据缓存在离使用者更近的地方,或者读取速度更快的存储介质中,通过空间换时间的方式实现性能优化的。
MapReduce早已经对接了HBase,以HBase作为数据源,完成批量数据的读写。如今继MapReduce之后的Spark在大数据领域有着举足轻重的地位,无论跑批,流处理,甚至图计算等都有它的用武之地。Spark对接HBase成为不少用户的需求。
LSM树是HBase里使用的非常有创意的一种数据结构。在有代表性的关系型数据库如MySQL、SQL Server、Oracle中,数据存储与索引的基本结构就是我们耳熟能详的B树和B+树。而在一些主流的NoSQL数据库如HBase、Cassandra、LevelDB、RocksDB中,则是使用日志结构合并树(Log-structured Merge Tree,LSM Tree)来组织数据。
导读:搜索离线数据处理是一个典型的海量数据批次/实时计算结合的场景,阿里搜索中台团队立足内部技术结合开源大数据存储和计算系统,针对自身业务和技术特点构建了搜索离线平台,提供复杂业务场景下单日批次处理千亿级数据,秒级实时百万TPS吞吐的计算能力。
HBase的设计思想主要是LSM。参见【Flink】第十四篇:LSM-Tree一般性总结。而LSM存储引擎的主要设计思想就是不断的将内存的有序存储结构flush到磁盘,这时候会在磁盘形成一个个的小的文件,如果每次都去做新文件和旧文件的合并,这显然是没必要,并且低效的。
一、技术类 1. JAVA、WEB、架构 《分布式Java应用——基础与实践》 《深入分析Java Web技术内幕》 《大型网站系统与Java中间件实践》 《分布式服务框架原理与实践》 《Java并发编程实战》 《Java7 并发编程实战手册》 《淘宝技术这十年》 《大话设计模式》 《构建高性能Web站点》 《Spring Boot揭秘(快速构建微服务体系)》 《Spring Boot实战》 《Spring Cloud微服务实战 》 《深入理解Java 虚拟机》 《Spring 2.x企业应用开发详解》 《
Hive作为Hadoop家族的重要一员,具有学习成本低,开发者可通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用。在攒库中,Hive也不负众望,得到了非常高的票数。为此,CSDN知识库特邀社区专家蒋守壮(博客: http://blog.csdn.net/jiangshouzhuang )绘制了Hive技术图谱,帮助广大开发者更加系统、全面的学习Hive技术。 Hive知识库发布,速来关注! 我要成为Hive专家团一员,筛选优质内容>>猛戳这里: http://li
此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。
网上很少有文章系统讲解性能优化的相关方法论,所以借着这次机会总结出来,分享给大家。
在大数据开源系统框架当中,Hadoop始终是一个值得关注的重点,经过这么多年的发展,Hadoop依然占据着重要的市场地位。学大数据,必学Hadoop,也说明了Hadoop在大数据当中的重要性。今天给大家带来一份Hadoop技术入门书单推荐。
一提到应用程序性能优化,大部分人都会想到更换编程语言、缓存、消息队列、分库分表、NoSql(Hbase、ES、Redis...),就像大多数人认为的「缓存就是性能优化中的万金油」。
Cloudera Labs在2016-06-27宣布打包了Apache Phoenix项目,版本为4.7.0,并基于CDH5.7.0。安装依旧是大家熟悉的Parcel方式,下载地址为:http://archive.cloudera.com/cloudera-labs/phoenix/parcels/1.3/
Cloudera公司推出,提供对HDFS、Hbase数据的高性能、低延迟的交互式SQL查询功能。基于Hive使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点 是CDH平台首选的PB级大数据实时查询分析引擎.一般公司选择使用CDH部署集群,可以考虑下Impala。
内容来源:2017 年 11 月 25 日,数说故事平台架构团队高级工程师吴文杰在“Elastic Meetup 广州交流会”进行《Data Warehouse with ElasticSearch in Datastory》演讲分享。
在海量并发业务的场景下,比如电商抢购、微信红包这样的场景下,我们经常会遇到各种各样的性能问题,在应对这些问题的时候,应该有怎样的方法论去指导我们解决问题,基于这几年的开发经验,做一个简单的分享。性能优化包含两个方面的理解。
在海量并发业务的场景下,比如电商抢购、微信红包这样的场景下,我们经常会遇到各种各样的性能问题,在应对这些问题的时候,应该有怎样的方法论去指导我们解决问题,基于这几年的开发经验,做一个简单的分享。性能优化包含两个方面的理解:
熟悉HBase的同学应该知道,HBase是基于一种LSM-Tree(Log-Structured Merge Tree)存储模型设计的,写入路径上是先写入WAL(Write-Ahead-Log)即预写日志,再写入memstore缓存,满足一定条件后执行flush操作将缓存数据刷写到磁盘,生成一个HFile数据文件。随着数据不断写入,磁盘HFile文件就会越来越多,文件太多会影响HBase查询性能,主要体现在查询数据的io次数增加。为了优化查询性能,HBase会合并小的HFile以减少文件数量,这种合并HFile的操作称为Compaction,这也是为什么要进行Compaction的原因。
本次演讲将会一步步地,向大家展示我们这个系统架构。 由于时间有限,我不会深入讲解技术细节(事实上我一开始做好、发给Sting的ppt有多达40页现在精简到20多页)。 我希望达到的效果是--
【Flink】第四篇:【迷思】对update语义拆解D-、I+后造成update原子性丢失 【Flink】第五篇:checkpoint【1】 【Flink】第五篇:checkpoint【2】 【Flink】第八篇:Flink 内存管理 【Flink】第九篇:Flink SQL 性能优化实战 【Flink】第十篇:join 之 regular join 【Flink】第十三篇:JVM思维导图 【Flink】第十四篇:LSM-Tree一般性总结 【Flink】第十五篇:Redis Connector 数据保序思
我司内部有个基于jstorm的实时流编程框架,文档里有提到实时Topn,但是还没有实现。。。。这是一个挺常见挺重要的功能,但仔细想想实现起来确实有难度。实时流的TopN其实离大家很近,比如下图百度和微博的实时热搜榜,还有各种资讯类的实时热点,他们具体实现方式不清楚,甚至有可能是半小时离线跑出来的。今天不管他们怎么实现的,我们讨论下实时该怎么实现(基于storm)。
领取专属 10元无门槛券
手把手带您无忧上云