首先要回答一个问题,为何要使用HBase? 随着业务不断发展.数据量不断增大,MySQL数据库存在这些问题: MySQL支持的数据量为TB级,不能一直保留历史数据.而HBase支持的数据量为PB级,适合存储久远的历史冷数据 新增列的代价较高,数据量越大耗费时间越长.而HBase可以随意增加列,空列不占据空间,业务模型可以灵活变化 要使用HBase,最重要的一点是rowkey行键设计,如果设计不妥,后续要改的代价非常大. HBase行键设计原则 下面列几个HBase rowkey设计的原则: 组合…
我们通过行键访问HBase.尽管使用扫描过滤器可以一次性指明大量的键,但是HBase仅仅能够根据行键识别出一行. 优秀的行键设计可以保证良好的HBase性能. 1.行键存在于HBase中的每一个单元格中.如果行键越长,用于存储单元格的I/O开销就会越大.通常我们采用MD5加密的定长键来代替行键. 2.对于组合式行键,每个组件的排序顺序取决于访问模式 如果是一个以主机名和事件类型存储的日志数据库,可能的键值选取方法有以下几种: [主机名][事件类型][时间戳] :适用于访问模式使用主机名和事件类型…
正如飞机在起飞前,机长.副机长要过一遍checklist检查,确认没问题了才能起飞.楼主也整理了一个系统容量现状checklist,方便对照检查.本文搭配架构师必备:如何做容量预估和调优,食用更佳. 作为架构师,不要觉得系统容量是运维工程师才关心的问题,而应当对系统容量现状做到了如指掌.这样才能知道系统的瓶颈在哪,哪些优化是要优先做的,以及为了应对活动期间突发的流量,做多少扩容. 本文分为2大部分,一是资源使用率,二是业务指标. 资源使用率 服务实例 实例个数.每个实例server的工作线程个数…
前言   java工程师成长为架构师是一个艰难且耗费心力的过程,不仅仅需要熟悉java体系内相关的技术,同时要掌握许多运维相关的操作技能,随着k8s逐渐成为微服务持续集成开发难以越过的基础设施之后,docker就成为跨进门槛必备的技能之一.   虽然前两年kubernetes宣布v1.20开始弃用docker直到v1.23彻底排除,但这不意味着我们就要放弃学习docker,相反,国内诸多企业尤其是中小企业和事业单位存在大量用docker部署的既有项目,一些非互联网公司更是对升级版本十分审慎,大部…
rowkey是行的主键,而且hbase只能用rowkey范围即scan来查找数据.rowkey是以字典排序的.可以巧妙设计行键,比如想通过电影的评价进行排序,可以把评分rate和电影id组合起来,rate_id这样的形式来实现排序. 做个小推广:程序员经常久坐,颈椎毛病比较多,特别推荐ventry颈椎保健枕…
日常工作中,MySQL数据库是必不可少的存储,其中读写分离基本是标配,而这背后需要MySQL开启主从同步,形成一主一从.或一主多从的架构,掌握主从同步的原理和知道如何实际应用,是一个架构师的必备技能.楼主将在本文做总结,看这一篇就够了. 1.主从同步原理 主从同步架构图(异步同步) 这是最常见的主从同步架构. 主从同步流程(异步同步) 主库把数据变更写入binlog文件 从库I/O线程发起dump请求 主库I/O线程推送binlog至从库 从库I/O线程写入本地的relay log文件(与bin…
.NET架构师,我归纳一下要学的知识: 成为优秀程序员,需要学好的知识: 1. 面向对象编程.UML画图.设计模式.代码重构 2. 常用ORM工具 3.  MVC,WCF,XMl, JQuery ,SQL以及性能优化 4. FrameWork一些深入的知识 5. 高性能代码,比如静态化,MemCached等手段. 6. 最好也了解一些其他语言,比如Java,PHP等.…
1.介绍 从计算机诞生开始,就伴随着计算机应用程序的演变.简短的回顾历史,我们可以清楚的看到应用程序发生的巨大变化.上世纪70年代中期,随着个人PC机的爆炸式增长以及程序员的崛起,让计算机的计算能力得到了大跨越的提升,个人PC机上可以运行非常复杂的应用程序. 进入上世纪80年代,随着Bulletin Board System(简称:BBS)电子公告板系统的兴起,它可以为广大PC机用户提供基本的在线服务,如在线聊天.电子邮件.消息发送和文件下载.由于受到那个时代计算机网络传输速度的限制,在线服务的…
本文介绍如何应用Canal实现异步.解耦的架构,后续有空再写文章分析Canal原理和源代码. Canal简介 Canal是用来获取数据库变更的中间件. 伪装自己为MySQL从库,拉取主库binlog并解析.处理.处理结果可发送给MQ,方便其他服务获取数据库变更消息,这一点非常有用.下面介绍一些典型用途. 其中,Canal+MQ作为一个整体,从外界看来就是一个数据管道服务服务,如下图. Canal典型用途 异构数据(如ES.HBase.不同路由key的DB) 通过Canal自带的adapter,同…
前言:近期,智能大数据服务商“个推”推出了应用统计产品“个数”,今天我们就和大家来谈一谈个数实时统计与AI数据智能平台整合架构设计. 很多人可能好奇,拥有数百亿SDK的个推,专注消息推送服务多年,现在为什么要做应用统计?毕竟市面上已经有非常多的类似产品了.我认为答案是“天时地利人和”. 首先是天时.目前,互联网行业已发展到了所谓的“下半场”甚至是“加时赛”,运营工作走向精细化,DAU和效果被放到第一位,从业者们也逐步认识到数据优化及使用良好的模型的重要性. 其二是地利.个推经过多年的积累,拥有了…