dbaplus社群

其他

B站基于ClickHouse的海量用户行为分析应用实践

作者介绍陆志君,数仓平台资深数据开发工程师。赵卓男,哔哩哔哩资深开发工程师。张弛,哔哩哔哩高级开发工程师。王智博,哔哩哔哩资深开发工程师。一、背景介绍数据驱动理念已被各行各业所熟知,核心环节包括数据采集、埋点规划、数据建模、数据分析和指标体系构建。在用户行为数据领域,对常见的多维数据模型进行信息提炼和模型整合,可以形成一套常见的数据分析方法来发现用户行为的内在联系,能更好洞察用户的行为习惯和行为规律,帮助企业挖掘用户数据的商业价值。行业内最早可追溯到Google
2023年2月16日
其他

dba+开源工具:面向开发的Redis轻便式图形可视化监控工具(附下载)

工具研发者介绍贺春旸,凡普金科和爱钱进DBA团队负责人,《MySQL管理之道:性能调优、高可用与监控》第一&二版、《MySQL运维进阶指南》作者,曾任职于中国移动飞信、安卓机锋网。五次荣获dbaplus年度MVP,致力于MariaDB、MongoDB等开源技术的研究,主要负责数据库性能调优、监控和架构设计。工具下载:https://github.com/hcymysql/redis_monitor简介轻便式Redis
2023年1月28日
其他

近40年银行核心系统变迁历程及新建设模式

本文详细介绍了我国银行核心系统的定义、位置与边界,发展历程、更换核心系统的原因,以及新核心建设的五大模式与其特点对比。希望内容能够帮助银行科技从业者建立起对银行核心系统的整体认知,提供一定积极的指导作用与借鉴意义,从而引发思考并促进行业交流与探讨,共同为我国的银行科技蓬勃发展贡献自己的智慧与经验。在这里,特别要感谢张广老师,对我国银行核心系统的发展历程部分进行了完善和补充,特别是关于目前业内流行的分布式微服务组建模式,学到很多。希望后续有更多的小伙伴来分享自己的见解或想法,一起思维碰撞,探索更多可能……此文分为以下五部分:一、银行核心系统的定义与边界二、我国银行核心系统的发展历程三、银行核心系统更换的原因分析四、银行核心系统建设的五类原则五、银行核心系统建设的五大模式一、银行核心系统的定义与边界1、银行核心系统的定义银行核心系统(Core
2022年9月25日
其他

核心应用覆盖率100%,货拉拉智能监控落地实践

Gdevops全球敏捷运维峰会-广州站〗现场演讲内容整理而成。(点击上方【dbaplus社群】公众号,回复“220617”可获取完整PPT)柯圣货拉拉
2022年7月22日
其他

分布式链路追踪系统在中信银行的落地实践

采用socket自定义报文通讯方式进行通讯的系统,可以服务端进行改造,客户端采用自研字节码的方式,转换原有的通讯协议为crpc通讯协议,最后,采用crpc插件进行埋点。3)场景三
2022年4月24日
其他

支付宝稳撑双11双12的核心架构设计

一、前言现在还依稀记得去年双11在支付宝作战室,接近0点的时候,所有人都盯着值班室的秒级监控大盘,当交易峰值曲线慢慢爬升,最后变得无比陡峭,值班室的同学都很激动,欢呼声伴随着爬升的曲线达到了顶峰,58.3万笔/秒,也是新的交易峰值记录,但相比往年动辄翻一倍,涨30%~40%,增长率还是小了很多。2010年双11的支付峰值是2万笔/分钟,到2017双11时变为了25.6万笔/秒,再到去年的58.3万笔/秒,是09年第一次双11的一千多倍。要抗住这么大的支付TPS,蚂蚁做了很多顶层架构的设计和底层实现的优化,其中最为最核心的就是LDC架构。二、什么是LDCLDC
2021年9月8日
其他

DAMS 2021:BATJ、美团等大厂和工行、农行等大型银行如何最大化挖掘数据价值?

近年来,因数据衍生、关联、发展起来的技术层出不穷,我们不断探索数据从资源转化为资产的方法,又面临在数据共享和互通中引发的安全隐患;我们迫切希望进行企业核心数据库的开源化、国产化替换,又碍于“恐龙级”老旧系统的历史遗留问题而难以开展;同时,我们还需要持续跟进如AIOps、DataOps、混沌工程等新兴技术理念,制定适合自身企业的落地方案……为了和大家一起攻克这些疑难,第七届DAMS中国数据智能管理峰会将于2021年8月27日在上海举办,携手中国信通院云大所、阿里、腾讯、京东、百度、中国移动、蚂蚁集团、美团、携程、快手、工商银行、平安银行、农业银行、光大银行、快狗打车、哈啰出行、新炬网络、爱可生、Westcon等产研界技术领跑单位,带来大数据、数据资产管理、数据安全治理、数据库、运维、金融科技等领域的先进理念和最佳实践。时间:2021年8月27日地点:上海龙之梦大酒店指导单位:上海市经济和信息化委员会、上海市软件行业协会、上海市计算机行业协会主办单位:dbaplus社群联合主办:新炬网络大数据&数据资产管理专题将解答这些困惑:大数据技术来到集成开发和管理的发展阶段,如何将各种技术栈组合在一起,提高数据应用交付的效率?通过AI深挖数据红利的时代已来,机器学习的应用你是否还落于人后?将数据从资源变为资产,企业过于追求大而全的数据标准,同时又缺乏整体规划,难以落地?
2021年7月15日
其他

MySQL进阶垫脚石:线程长时间处于killed状态怎么破?

作者介绍猿辅导数据库平台团队,承载猿辅导在线教育全公司的数据库产品研发、运维及服务需求。团队始终致力于新技术的探索实践,结合业务场景不断打磨并提升高可用、可扩展、高可靠的基础设施能力,作为核心基础设施建设者,支持业务快速发展。(猿辅导技术公众号ID:gh_cb5c83bb3ee0)赵晓杰,猿辅导数据库平台团队成员,主要从事数据库存储、中间件等方向研发工作。一、背景MySQL中使用kill命令去杀死连接时,如果使用show
2021年6月19日
其他

基于Prometheus的高可用Redis多实例监控实践

本文根据刘宇老师在〖deeplus直播“运维监控谈:Prometheus与Zabbix的对比选型”〗线上分享演讲内容整理而成。(文末有获取本期PPT&回放的方式,不要错过)刘宇甜橙金融
2021年1月13日
其他

从“懂管理的IT人”,到“懂IT的管理者”

这样就陷入了恶性循环:因为大部分的讨论和决策都不是依赖编程语言和机器通讯,而是依赖自然语言和面对面沟通。所以越不参与讨论,对变化就知觉得越迟,对变化知觉得越迟,就越容易引发误解和矛盾……
2020年8月9日
其他

亿级账户数据迁移,不用数据库工具还能怎么搞?

新旧平台能力对齐是进行迁移的大前提,如果新的平台能力无法覆盖老的平台的能力,那么需要做的是:1、推动新平台提供老平台已有的能力;2、业务方利用新平台提供的已有能力,从业务层实现老平台特有的能力。
2020年8月3日
其他

微服务上线四天就被取消,何必呢?

好像“单体式”就意味着落后,“微服务”就意味着先进。但是从开发团队来看,我们的单体式应用运行良好,基本没有什么问题。我们有很好的CI/CD配置,易于配置和回滚。分支和测试策略确保问题都被提前解决。
2020年7月31日
其他

看了这么多数据中台,今天发篇接地气的

作者介绍王磊(Ivan),现任职光大银行科技部数据领域架构师,曾任职于IBM全球咨询服务部从事技术咨询工作,具有十余年数据领域研发及咨询经验。目前负责全行数据领域系统的日常架构管理、重点系统架构设计及内部研发等工作,对分布式数据库、Hadoop等基础架构研究有浓厚兴趣。个人公众号:金融数士。本文旨在探讨通用的数据中台架构设计方法,产出物为数据中台的逻辑架构。当然,考虑到业界对于数据中台的定义千差万别,可以预见大家不一定认同本文设想的中台架构,但我觉得每个步骤中的推演过程或许会大家给带来一点启发,还是最终成文,大家权当是疫情期间做了一次脑力体操吧。第一步,明确中台边界首先,我们面对的问题域是整个数据体系,这个体系是指传统上有数据仓库、数据集市构成的生态环境,不包含联机交易系统(如核心系统、理财销售系统)和纯粹的流程管理系统(如业务审批系统)。随着技术的发展,这个体系增加大数据和AI的元素,更加智能化,但依然是以战略和战术层面的数据能力供给为核心,可以作为业务变更的权威依据和决定性因素,但不直接改变业务状态。第一次分解,我们按照是否具有业务属性作为标准,可以先拆出技术平台和“其余部分”。这样从整体架构层面看,后续无论“其余部分”分解为多少个系统,这些系统与技术平台的关系都是一致的,即技术平台提供与业务无关的支撑能力,这种能力包括数据的存储、加工,甚至可以涵盖可视化层面,前提是这种技术能力有进行平台化的必要。第二次分解,我们从“其余部分”拆分出前台和中台。支持这次分拆的理由自然是“小前台、大中台”,也是中台建设热潮的Slogan。前台注重灵活性,中台注重稳定性,两者构成类似“变速齿轮”的关系。怎么理解灵活与稳定呢?我觉得一条重要的标准就是系统的投产频率。面对需求变更,前台与中台的投产频率至少达到2:1,才能体现出中台的稳定。反之,如果每次需求变更中台都要受到影响,那这个中台就是不成功的。面对数据体系,我们通过明确中台边界,形成了前台、中台、技术平台三分天下的格局,如下图所示:第二步,细化中台外部接口目前我们描述的边界仍然是概念上的,比较宽泛,也就会造成理解上的很多分歧。细化接口可以帮助我们更深刻得描述对中台的期望,从而在组织内达成一致,所以我们第二步就来做这项工作。技术平台与中台的接口各种各样,但因为是业务无关的,不容易有歧义,所以我们重点谈谈前台和中台的接口。传统上,数据体系的系统接口主要是以批量文件形式为主,前台和中台是否要延续这种接口呢?我的观点是,应该最大程度的避免使用批量文件作为接口,更多的使用API服务方式。具体原因有以下几点。1、批量文件的自解释性差、可治理性差工程实践中,批量文件的数据与元数据常常是分离的,甚至干脆省略掉元数据。具体来说,批量文件通常是仅包含数据的平面文件,在源系统中(可能存在于数据库中)的“数据项标识”、“名称”、“数据类型”、“备注”这些内容,很少在接口中看到。当然,如果做得好些,我们也可以在数据治理系统中登记这个接口,但问题是治理系统中“元数据”的正确性与系统运行是完全无关的,它们从来没被真正验证过,也无法确定是否随着业务变更被即时更新,当我们需要依据这些“元数据”做出决策时往往信心不足。久而久之,治理系统中“元数据”不再被使用,就成了死数据。相对而言,服务的自描述要好很多,我们甚至可以在组织范围内约定更丰富的元数据,将其与服务发布融合在一起。基于架构设计上的服务注册与发现机制,这些服务会受到更强有力的约束,从而保证元数据的质量。2、前台的灵活性是源自其轻、薄的设计约束,业务功能更多依托中台的复用能力来实现,而文件接口会增加前台数据累积数据的可能性,从而为前台的边界无序扩展创造土壤我们在系统建设中常常可以观察到一个现象,系统会自我驱动,业务会越来越复杂和发散。究其原因,大概是系统的主要利益相关方更倾向于在系统中拓展功能,可以降低与外部(科技、业务等)的协调成本。从局部,尤其是某个特定需求上看,这可能是更快、更好的选择,但从全局而言就是一种伤害。在哲学上层面,这个问题就是局部最优解不一定是全局最优解。追求局部最优解的后果就是建设大量竖井式系统,无法沉淀可复用的能力。中台的使命恰恰是要从全局角度,破除或者削弱这种建设模式。前台尽量不积累数据,也就杜绝或者控制了其逻辑向复杂化、发散化演进的可能。我们可以在更高阶的管理层面,以更低的成本洞察到这种演化的趋势,从而采取相应的措施。服务方式天然满足了控制前台系统积累数据的目标。3、依托于批量文件的“数据搬家”削弱了整个数据体系的鲁棒性数据仓库方法论是秉承“以空间换时间”的思路,通过ETL(SQL处理)预加工来降低用户查询报表时的计算负载,从而实现低延时交互。为了统筹提升整体加工效率,并不会将单张报表依次加工,而是合并报表的加工层次,先共性后个性逐层推进,一个批次(一天可能会存在2-3个批量加工批次,通常不会太多)的加工结果大致会在同一个时间段完成。这种方式的弊端是,一旦上游数据或基础层加工出错,发现错误的时点会大幅延后。原本通过单进程查询就可以发现的错误,现在必须预支大量的批量计算成本后才能看到。这个过程浪费了大量的计算资源和时间资源(ETL必须在当日完成,因此时间资源也是受限的),甚至导致无法在剩余的时间窗口内完成纠错和任务重跑,造成业务的重大影响。我们应该看到“以空间换时间”的策略是基于若干年前的即时计算能力而做的权衡。今天,分布式技术发展带来了即时计算能力的大幅提升,是时候在ETL处理和即时计算之间寻找更优的平衡点了。我的建议是将一些计算负载迁移到服务中来,用分布式计算框架代替部分ETL。中台与前台的接口处位于整体ETL的末端,所以这里也就更适合采用服务接口。此外,还要说说第三种接口方式JDBC,我个人也是不推荐的。一个原因是JDBC暴露了数据源的数据存储结构,强化了前台与中台的耦合,既然我们在架构层面希望两者松耦合,那具体接口上也应该选择匹配的技术。第二个原因是业务语义上的差异,RESTFUL服务有一个“有趣(Interesting)”原则,服务要有业务语义。直接对一张表的访问显然不够“有趣”,那么JDBC也就不能称为服务了。数据中台的外部接口主要是API服务。第三步,梳理中台内部结构我们继续探讨数据中台的内部结构,按照我们在第一步设定的边界,“数据仓库”与“数据湖”必然是中台的一部分。两者是不是中台的全部呢?我认为并不是全部。1、数据中台不只是数据仓库数据仓库方法论有Inmon和Kimball两个流派,国内数据仓库的实施多数采用Inmon的方法。具体来说,在数据仓库与数据集市的二元结构中,数据仓库对接上游各类业务系统,按照企业级模型重组数据以消除源系统的特异性,这个模型按照若干主题进行组织,是数据仓库理论体系的核心;数据集市在此基础上,根据具体的应用场景进一步加工数据,实现最终的功能交付。可以看出两者的指导思想不同,数据仓库是“面向主题”的,数据集市是“面向应用”的。有些企业以前是竖井式的数据集市,现在把集市中的共性部分下沉,节省了加工成本,认为这就是数据中台。如果笼统得用“能力复用”作为标准,似乎数据仓库与数据集市就是中台和前台了。那么数据中台是在炒概念吗?我认为并不是。数据中台与数据仓库的差别不是有没有能力复用,而是因为数据集市仍然太重不符合前台的灵活性要求。同样是二元结构,因为数据集市不等于前台,所以数据仓库也就不等于中台。2、前台碎片化理论上数据集市是满足一个“业务单元”的数据分析需求,实践中这个“业务单元”往往对应到“业务部门”,因为这样业务管控职责明确,能够快速需求边界,和财务管理制度也有直接的关系,项目操作较简便。但是,今天这种方式遇到了挑战。随着数据应用的深入,需求越来越具体,同一部门的不同团队的需求也各有侧重,都希望保证各自的灵活性,又不希望自身的稳定性受到其他团队灵活性的影响,“业务单元”呈现明显的“碎片化”。跟随着业务的“碎片化”,数据集市不断裂变,底层逻辑大量重复。显然,该做架构层面的调整了。这就说到前台,其服务的“业务单元”更小,但逻辑相比数据集市要更加轻薄,将原有针对“业务部门”的加工要沉淀到数据中台,沉淀的部分也有再次重组的机会。3、数据中台既“面向主题”也“面向应用”数据中台“面向主题”是因为包含了数据仓库,“面向应用”则是因为包含了数据集市下沉部分。这里的新问题是如何重组数据集市下沉到中台的部分,重组方式依赖设计者的经验,其实没有统一方法。我的建议是按“价值链”和“产品线”两个维度分解,两者正交构成若干单元,这些单元称为“业务域”。同样是数据沉淀,为什么不使用数据仓库的主题,而要新建“业务域”呢?数据仓库的主题是数据层面的高度抽象,基本不体现业务流程。今天,数据应用的大趋势是强化对“一线操作”数据赋能,必然更加关注业务流程,而价值链正是业务流程的起点;产品则是衔接企业与用户的桥梁,同时也是业务操作的核心。“业务域”是对业务流程的抽象,可以说是“面向流程的”,本质还是“面向应用”的。“业务域”数据模型不像数据仓库“主题”那样严格的去冗余,有些维度信息会重复出现,比如客户基本信息、机构信息等。以银行为例,“价值链”上的典型环节包括营销、运营、风控等,“产品线”可以分为零售、对公、同业等,两者正交则可以得到“零售营销”、“对公营销”、“零售风控”等业务域,当然正交得出的业务域也可以适当调整。数据中台包含一个“面向主题”的数据仓库(及数据湖)和若干个“面向应用”的业务域。第四步,针对非功能性需求的设计目前为止,我们仅在数据结构上讨论了中台的构成,并没有考虑系统的非功能性需求。事实上,在不同应用场景下前台的非功能性需求会有较大的差异,其中最有代表性的是对并发和延时的要求。因为我们已经约定中台与前台的接口是API服务,这些需求会直接传导到中台。接下来,让我们谈谈中台的针对性设计。第二步中,我给大家的建议是减少“数据搬家”和ETL,因为这会导致削弱系统的鲁棒性,对于中台的内部设计我也坚持同样的观点。数据应该通过最短的加工路径,形成API服务向前台交付,所以数据仓库和业务域都应该具备API服务能力。数据仓库原本以批量加工为主,以文件方式输出,兼顾API服务绝对是个大挑战。设计一个在行业内广泛适应的主题模型,在我看来其实是有点玄学的成分,但既然有超多企业的实践,我们还是先要认同它,但谈到改造这个模型,还真是无从下手。在找到兼顾的方法前,我更愿意让它保留原来的样子,这样可以沿用成熟实施方法,毕竟目前在数据仓库上继续付出努力还会获得不错的收益。我们可以让数据仓库在现有的结构上提供一些兼职的API服务,适合那些延时要求不高的应用场景(比如一些报表查询),一旦不能满足就在更上层的区域重建这些服务。业务域的数据结构是“面向应用”的,也就有更好的基础提供API服务能力。普通查询场景,可以选择兼顾批量处理性能和联机查询性能的存储产品,比如MPP数据库或者HTAP数据库。高可靠低延时场景(比如反欺诈、反洗钱,数据查询结果是会阻断异常转账的依据,对延时有极高的要求),可能是两种存储产品的组合,分别提供批量处理和联机访问能力。联机查询可以选择是K/V数据库(比如HBase)或者分布式数据库(NewSQL)或者分库分表方案(MyCat或者更好的方案),总之是更接近OLTP的存储系统。存储产品的组合一定会带来数据冗余,这种冗余虽然也需要数据搬家,但不会带来业务逻辑层面的重叠,没有背离我们的设计理念。业务域的服务和中台最终交付的服务是存在差异的,这种差异是为了保护业务域的稳定性。无论我们按什么标准划分业务域,也总会有应用场景需要多个业务域参与。所以,在业务域之上还要增加一层,我将其成为“服务联邦层”。通过“服务联邦层”,我们可以完成服务间的拼接,避免数据复制导致业务域边界的模糊,这种拼接是数据语义上的关联。此外还会对单个服务再加工,隔离应用的特异性和存储数据结构的通用性,这意味着过滤、聚合甚至嵌套子查询。数据语义的加入使“服务联邦层”比标准的服务总线更复杂了一些,更像Presto这样的数据联邦产品,但接口是API服务而不是SQL。最后还会存在一些特殊情况,跨业务域但通过服务拼接无法性能要求,必须通过批量加工完成,我们要专门建立一个区域隔离这种跨域数据加工,称为“数据隔离区”。这里可以汇聚多个业务域的数据,但仅向上层的“数据联邦层”输出。业务域与“数据隔离区”保持单向数据流动,维护业务域的稳定性。这样,我们得到一个完整的逻辑架构图:结语整个架构设计过程中应用了一些基本原则,也是我个人对数据中台的理解,包括以下几点:中台一定是有业务属性的,中台要比前台更稳定;尽量减少ETL加工,引入分布式技术进行即时运算,提升系统的鲁棒性;API服务接口优于文件和JDBC接口;中台内部多层次提供API服务,通过服务集成的方式减少跨域的数据集成。作者丨
2020年4月24日
自由知乎 自由微博
其他

从MongoDB迁移到ES后,我们减少了80%的服务器

原有MongoDB集群采用了15台服务器,其中9台是数据服务器,迁移到Elastic集群需要多少台服务器?我们采取简单推算办法,如假设生产环境上某个MongoDB集合的数据有10亿条数据,
2020年4月13日
其他

从70万字SRE神作,我提炼出7千字精华与君共勉

Google运维解密》是我首次比较系统地了解和学习Google内部SRE运作的指导思想、实践以及相关问题,最近又花了一些时间,仔细阅读了关于SRE的第二本书籍《SRE生存指南》。《SRE
2020年4月2日
其他

解决棘手SQL性能问题,我的SQLT使用心得

作者介绍丁俊,新炬网络首席性能优化专家,SQL审核产品经理。《剑破冰山-Oracle开发艺术》副主编,ITPUB开发版资深版主,十余年电信行业从业经验。一、SQLT背景介绍SQLTXPLAIN(简称SQLT)是ORACLE
2020年3月16日
其他

疫情过后工业企业数字化转型方向的深度思考

摘要突如其来的灾难让很多企业措手不及,短期内难以复工造成的经济损失难以估量。部分企业借助于“钉钉”之类的协作工具远程办公,解决了部分问题,然而大型工业企业不仅要解决沟通问题,更要解决协同问题。只有解决人与人之间的协同、人与机器的协同、机器与机器之间的协同、产业链上下游之间的协同,才能真正实现“非接触式”生产。本文重点分析了疫情过后,传统工业企业数字化转型的三个方向。2020年己亥和庚子年交替之际,一场突如其来的灾难席卷中国大地,波及全球。影响最大的是交通、餐饮、酒店、旅游等传统服务业,其次是工业企业尤其是制造业,而以“线上”服务为代表的数字产业经济却大幅增长。目前除了关系到国计民生的企业已复工外,大部分企业还在等待各地政府的复工批准,政府在控制疫情和复工之间面临两难的抉择。这场疫情到底要持续多久才能控制住,对经济的影响到底有多大,现在谁也无法预估。这场疫情过后我们要反思的地方很多很多,对国家而言要反思突发公共事件处置的体制、机制,相关的法律法规是否完善,产业经济结构布局是否合理。而对于我们企业的决策者而言,要反思为什么有的企业损失小,而自己的企业损失却很大呢?下面我想从传统工业企业数字化转型来谈谈这个问题。由办公协作向业务协同发展这次疫情确实火了一些提供移动办公SaaS服务类的公司,如阿里的钉钉、腾讯的企业微信、金蝶的云之家、华为的Welink、字节跳动的飞书、以及三大运营商的视频会议等。这些工具分为三大流派,以阿里、腾讯为代表的互联网派,以金蝶为代表的传统OA派,以华为及三大运营商为代表的ICT派。这些工具的使用确实给未能及时复工的企业带来了便利,能部分解决在家办公的问题。但这些工具主要用于视频会议等通讯沟通及简单的公文处理,无法处理业务协同。比如说,大家开远程视频会议讨论要处理某客户重要订单,查询库存是否需要采购原材料,然后安排组织生产,结果发现远程无法处理这些事项,原因是这些系统之间并没有打通,也没有和“钉钉”之类的工具集成。所以开完会还是不能解决问题,还得冒着风险去公司处理。尽管钉钉、云之家等平台集成了第三方合作伙伴开发的CRM、ERP等业务处理系统,但这些功能都很简单,只适合中小微企业,或者业务复杂度不高、业务流程短的企业使用。对中大型企业尤其是工业制造业这种业务复杂度高、业务处理流程长的企业却显得力不从心,无法从根本上解决这些企业的远程协同问题。按照迈克尔.波特的价值链理论,企业的价值分为两个维度,一个是以业务为主线的主价值链,一个是支撑业务的辅助价值链。现有的大部分中大型企业基本上是以价值链维度来划分组织及流程设计,而且大都采用科层式的组织架构,与此相对应的组织划分就是管理职能部门及业务部门,一般的工业企业价值链见下图一:图一
2020年2月23日
其他

一家国有银行的反思:银行业金融科技战略五大误区

围绕Database、BigData、AIOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops&DAMS行业大会.
2020年2月11日
其他

趣头条基于ClickHouse玩转每天1000亿数据量

本文根据dbaplus社群第199期线上分享整理而成,文末还有直播回放~王海胜趣头条数据中心大数据开发工程师8年互联网工作经验,曾在eBay、唯品会、趣头条等公司从事大数据开发相关工作,有丰富的大数据落地经验。业务背景随着公司规模越来越大,业务线越来越多,公司的指标规模也在急速增长,现有的基于storm实时计算的指标计算架构的缺点越来越凸显,所以我们急需对现有的架构进行调整。1、基于storm的指标平台存在的问题指标口径不够直观数据无法回溯稳定性不够2、什么是我们需要的?我们需要一个稳定的、基于SQL、方便进行数据回溯、并且要足够快速的引擎,支持我们的实时指标平台。1)稳定性是最主要的,基于storm的架构数据都是存储在内存中的,如果指标配置有问题,很容易导致OOM,需要清理全部的数据才能够恢复。2)基于SQL是避免像storm架构下离线SQL到storm
2020年1月8日
其他

千亿级数据量的Kafka深度实践

queue将consumer线程和worker线程解耦,因为现实情况是消费逻辑很简单,但是处理逻辑会很复杂。这样就可以对consumer线程和worker线程做不同的配置,同时通过blocking
2019年12月16日
其他

ES亿级数据检索优化,三秒返回突破性能瓶颈

官方文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html
2019年12月11日
其他

dba+开源工具:面向开发的MySQL图形可视化监控

工具研发者介绍贺春旸,凡普金科DBA团队负责人,《MySQL管理之道:性能调优、高可用与监控》第一、二版作者,曾任职于中国移动飞信、安卓机锋网。致力于MariaDB、MongoDB等开源技术的研究,主要负责数据库性能调优、监控和架构设计。工具下载:https://github.com/hcymysql/mysql_monitor简介目前常用的开源监控工具有nagios、zabbix、grafana,但这些是面向专业DBA使用的,而对于业务研发人员来说,没有专业的MySQL理论知识,并且上述监控工具均为纯英文界面,交互不直观,那么多的监控指标,你知道有哪些是研发最关心的吗?所以每次都是DBA通知研发,系统哪块出了问题,这样的效率其实是低下的,我希望把监控这块东西定制化,做成开发一眼就能看懂的指标项,纯中文页面,清爽直观,简约而不简单,出了问题报警信息直接第一时间推送给研发,效率会大大提升,同时也减少了DBA作为中间人传话的作用(传达室大爷角色)。参考了天兔Lepus的UI风格,目前采集了数据库连接数(具体连接了哪些应用程序IP,账号统计)、QPS/TPS、索引使用率统计,同步复制状态/延迟监控。可实现微信和邮件报警。1)MySQL状态监控2)点击活动连接数,可以查看具体的连接数统计信息3)点击图表,可以查看历史曲线图4)主从状态监控5)微信报警6)邮件报警环境搭建#
2019年12月6日
其他

饿了么监控体系:从架构的减法中演进而来

实现类SQL的计算;非结构化的数据转换成结构化数据;UDF处理异常数据分析及采样。最后介绍一下,支撑起所有监控数据存储的自研时序数据库
2019年11月28日
其他

分库分表 or NewSQL数据库?终于看懂应该怎么选!

作者介绍温卫斌,就职于中国民生银行信息科技部,目前负责分布式技术平台设计与研发,主要关注分布式数据相关领域。最近与同行科技交流,经常被问到分库分表与分布式数据库如何选择,网上也有很多关于中间件+传统关系数据库(分库分表)与NewSQL分布式数据库的文章,但有些观点与判断是我觉得是偏激的,脱离环境去评价方案好坏其实有失公允。本文通过对两种模式关键特性实现原理对比,希望可以尽可能客观、中立的阐明各自真实的优缺点以及适用场景。一、NewSQL数据库先进在哪儿?首先关于“中间件+关系数据库分库分表”算不算NewSQL分布式数据库问题,国外有篇论文pavlo-newsql-sigmodrec,如果根据该文中的分类,Spanner、TiDB、OB算是第一种新架构型,Sharding-Sphere、Mycat、DRDS等中间件方案算是第二种(文中还有第三种云数据库,本文暂不详细介绍)。「pavlo-newsql-sigmodrec」
2019年8月12日
其他

分布式事务选型的取舍

作者介绍温卫斌,就职于中国民生银行信息科技部,目前负责分布式技术平台设计与研发,主要关注分布式数据相关领域。微服务兴起的这几年涌现出不少分布式事务框架,比如ByteTCC、TCC-transaction、EasyTransaction以及最近很火爆的Seata。最近刚看了Seata的源码(v0.5.2),借机记录一下自己对分布式事务的一些理解。(3年前这类框架还没成熟,因项目需要自己也写过一个柔性事务框架)。本文分五部分,首先明确分布式事务概念的演变,然后简单说下为什么大家不用XA,第三部分阐述两阶段提交的“提升”,第四部分介绍Seata的架构的亮点与问题,第五部分谈下分布式事务的取舍。限于篇幅一些网上可搜索的细节本文不展开阐述(例如XA、Saga、TCC、Seata等原理的的详细介绍)。一、分布式事务的泛化提起分布式事务,最早指涉及的是多个资源的数据库事务问题。wiki对分布式事务的定义:A
2019年8月5日
其他

360大数据中心总监:如何制定可奏效的数据安全体系

在万物互联的大数据时代,数据安全是个不容忽视的大问题。但企业往往缺乏未雨绸缪的意识,直到数据泄露等事件发生时才亡羊补牢,因此造成不可逆的损失和影响。此类事件在近年来频繁发生,而围观的我们是否应该反省自身,及时作出防御措施?因此,dbaplus社群特别邀请到360大数据中心技术总监徐皓老师,围绕「大数据平台安全设计和实践」这一话题展开深度专访。下面让我们一起倾听,专注互联网安全的360会如何洞察和应对数据安全呢?采访
2019年6月5日
其他

知乎容器化构建系统:从0到1支撑日近万次构建部署

围绕Database、BigData、AIOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops&DAMS行业大会.
2019年2月1日
其他

再有人问你分布式锁,就把这个丢给他!

集合里此时只有客户端B创建的唯一的一个顺序节点了!然后呢,客户端B判断自己居然是集合中的第一个顺序节点,Bingo!可以加锁了!直接完成加锁,运行后续的业务代码即可,运行完了之后再次释放锁。
2019年1月31日
其他

数十个SQL审核项目后,我总结出了这样一套经验

在SQL审核大部分的场景中,不论是在上线前的性能验收,还是日常的优化计划,单次SQL审核的目标基本可以归结为:找到一定量可修复的(甚至是有修复建议的)问题,修复问题,并能获取直观的对比效果。
2019年1月30日
其他

适合中小企业,解锁不同场景X86服务器虚拟化方案

从网络层面来说,X86物理机使用的是物理的网卡,连接的是物理的交换机。在一台X86被划分成多个VM虚机后,就诞生了虚拟网卡和虚拟交换机。这样在虚拟和物理网络之间就产生了流量传输与交互。如图1所示:
2019年1月30日
其他

当数据库扼住系统性能咽喉,直接分库分表能解决吗?

UUID的计算因子包括:以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字。UUID是个标准,其实现有几种,最常用的是微软的GUID(GlobalsUniqueIdentifiers)。
2019年1月29日
其他

为什么不搞集群服务也能实现Redis高可用?

当然目前的第三方库一般都已经实现了这一调用过程,不再需要我们手动去实现(例如Nodejs的ioredis,PHP的predis,Golang的go-redis/redis,JAVA的jedis等)。
2019年1月28日
其他

焦虑够了没?咱们今天来聊聊“跳槽”

围绕Database、BigData、AIOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops&DAMS行业大会.
2019年1月27日
其他

哪有什么中年危机,不过是把定目标当成了有计划

也是个棘手的技术活,毫不夸张地说,这是世界性难题。所以如果你总是估不准,完全不用自卑,全世界都一样。当然,办法还是有的,事实上,根据不同的计划范围,我们并不一定需要很精确的估时,过日子又不是开火车。
2019年1月26日
其他

宕机风险归零,美团即时物流的分布式系统架构设计

在一系列服务背后,是美团强大的技术体系的支持,并由此沉淀出的配送业务架构体系,基于架构构建的平台、算法、系统和服务。庞大的物流系统背后离不开分布式系统架构的支撑,而且这个架构更要保证高可用和高并发。
2019年1月25日
其他

知乎的数据同步建设、工具选型及平台化实践

围绕Database、BigData、AIOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops&DAMS行业大会.
2019年1月24日
其他

解构魅族CMDB运维自动化演进历程

自动化平台:这其中包括发布平台、工单平台以及巡检平台。发布平台主要应对产品迭代发布的需求,提高效率;工单流程平台,主要是把生命周期所有的流程实现自动化;巡检平台,主要是做服务器初始化资源交付的巡检。
2019年1月23日
其他

实用排坑帖:SQL语句性能优化操作策略大全

存储过程是编译好、优化过、并且被组织到一个执行规划里、且存储在数据库中的SQL语句,是控制流语言的集合,速度当然快。反复执行的动态SQL,可以使用临时存储过程,该过程(临时表)被放在Tempdb中。
2019年1月22日
其他

源码解读:MySQL 8.0 InnoDB无锁化设计的日志系统

在8.0中,由后台线程log_flush_notifier通知等待的用户线程,用户线程、log_writer、log_flusher、log_flush_notifier四个线程之间的同步关系为。
2019年1月21日
其他

带人做项目吃力不讨好?本文也许会给你些灵感

同时产品的需求受到多方面的因素影响,比如时间、历史包袱等因素,肯定会存在初期有部分细节不明确等问题。这也是项目的渐进明细原则,遇到这种问题要及时反馈,在各方博弈中找到一个相对适用的平衡点。
2019年1月19日
其他

数据一致性“老大难”,美团数据治理平台怎么治好的?

起源数据治理平台生产所需参与的角色包括:业务人员和数据开发人员(RD)。为了保证信息的正确性,平台内有着严格的管理流程,需要不同的角色在对应的节点进行维护管理,平台的管理流程如下图12所示:
2019年1月18日
其他

从理论到案例,请盘下这篇Nginx监控运维干货

Nginx处理请求的全过程应被监控起来,以便我们及时发现服务是否能够正常运转。Nginx处理请求的过程被详细地记录在access.log以及error.log文件中,我们给出以下需要监控的关键指标:
2019年1月17日
其他

值得收藏:一份非常完整的MySQL规范

会把表中所有符合条件的数据装载到内存中,然后在内存中对所有数据根据随机生成的值进行排序,并且可能会对每一行都生成一个随机值,如果满足条件的数据集非常大,就会消耗大量的CPU和IO及内存资源。
2019年1月16日
其他

腾讯组织架构整改引思考:中小团队要怎样搭建架构?

显然传统的数据库没有很好的解决办法,这时可以借助专业的检索工具。全文检索工具Solr不仅简单易用性能好,而且支持海量数据高并发,只需实现系统两边数据的准实时或定时同步即可。下图是Solr的工作原理:
2019年1月15日
其他

2019数据架构选型必读:1月数据库产品技术解析

至于Newsletter发布的周期,目前计划是每三个月左右会做一次跟进,下期计划时间是2019年4月14日~4月25日,如果有相关的信息提供请发送至邮箱:newsletter@dbaplus.cn
2019年1月14日
其他

程序员吃火锅的时候,脑子里都在想些什么?

我们觉得他有点糊涂,叫他小胡吧。小胡不是一个人在战斗,店里的服务员不少都是小胡的同乡,也有这个习惯。显然,冰块会延缓食物的受热过程,所以小胡们服务的客人都要多等很久才能吃到食物,导致了客人的投诉。
2019年1月13日
其他

阿里P9:程序员的“青春饭”,从什么时候开始结束?

嗯,还需要有个好的身体,还需要经常锻炼,学习科学的健身吧(说起来自己脸红)。至少我明白了一个道理,以前我都是跟自己说,等这段时间过了,闲下来去锻炼一下。其实,我发现,越是忙的时候,越需要锻炼身体!
2019年1月12日
其他

ELK跳不过的ES,图解助你掌握内部模型及数据结构

Text搜索库(也有很多其他形式的搜索库),ElasticSearch是建立在Lucene之上的。接下来的故事要说的大部分内容实际上是ElasticSearch如何基于Lucene工作的。
2019年1月11日
其他

大牛是怎么思考设计MySQL优化方案的?

围绕Database、BigData、AIOps的企业级专业社群。资深大咖、技术干货,每天精品原创文章推送,每周线上技术分享,每月线下技术沙龙,每季度Gdevops&DAMS行业大会.
2019年1月8日
其他

Redis存储总用String?你大概错过了更优的使用方法

Redis为我们提供了5种数据类型,基本上我们使用频率最高的就是String,而对其他四种数据类型使用的频次稍弱于String。原因在于:String使用起来比较简单,可以方便存储复杂的对象,使用场景比较多;由于Redis
2018年12月24日