技术■腾讯万亿级 Elasticsearch 技术解密( 五 )
文章图片
文章图片
接下来我们展开介绍下 Merge 策略优化部分 。ES 原生的 Merge 策略主要关注大小相似性和最大上限 , 大小相似性是指 Merge 时尽量选择大小相似的 Segments 进行 Merge , 最大上限则考虑尽量把 Segment 拼凑到 5GB 。那么有可能出现某个 Segment 中包含了 1 月整月、3 月 1 号的数据 , 当用户查询 3 月 1 号某小时的数据时 , 就必须扫描大量无用数据 , 性能损耗严重 。
我们在 ES 中引入了时序 Merge , 在选择 Segments 进行 Merge 时 , 重点考虑时间因素 , 这样时间相近的 Segments 被 Merge 到一起 。当我们查询 3 月 1 号的数据时 , 只需要扫描个别较小的 Segments 就好 , 其他的 Segments 可以快速裁剪掉 。
另外 , ES 官方推荐搜索类用户在写入完成之后 , 进行一次 Force Merge , 用意是把所有 Segments 合并为一个 , 以提高搜索性能 。但这增加了用户的使用成本 , 且在时序场景下 , 不利于裁剪 , 需要扫描全部数据 。我们在 ES 中引入了冷数据自动 Merge , 对于非活跃的索引 , 底层 Segments 会自动 Merge 到接近 5GB , 降低文件数量的同时 , 方便时序场景裁剪 。对于搜索场景 , 用户可以调大目标 Segment 的大小 , 使得所有 Segments 最终 Merge 为一个 。我们对 Merge 策略的优化 , 可以使得搜索场景性能提升 1 倍 。
前面介绍完毕我们再 ES 内核方面的优化实践 , 最后我们来简单分享下我们在开源贡献及未来规划方面的思考 。
四、未来规划及开源贡献
文章图片
文章图片
近半年我们向开源社区提交了 10+PR , 涉及到写入、查询、集群管理等各个模块 , 部分优化是和官方开发同学一起来完成的 , 前面介绍过程中 , 已经给出相应的 PR 链接 , 方便大家参考 。我们在公司内部也组建了开源协同的小组 , 来共建 Elastic 生态 。
总体来说 , 开源的收益利大于弊 , 我们把相应收益反馈出来 , 希望更多同学参与到 Elastic 生态的开源贡献中:首先 , 开源可以降低分支维护成本 , 随着自研的功能越来越多 , 维护独立分支的成本越来越高 , 主要体现在与开源版本同步、快速引入开源新特性方面;其次 , 开源可以帮助研发同学更深入的把控内核 , 了解最新技术动态 , 因为在开源反馈的过程中 , 会涉及与官方开发人员持续的交互 。此外 , 开源有利于建立大家在社区的技术影响力 , 获得开源社区的认可 。最后 Elastic 生态的快速发展 , 有利于业务服务、个人技术的发展 , 希望大家一起参与进来 , 助力 Elastic 生态持续、快速的发展 。
文章图片
文章图片
未来规划方面 , 这次分享我们重点介绍了腾讯在 ES 内核方面的优化实践 , 包含高可用、低成本、高性能等方面 。此外 , 我们也提供了一套管控平台 , 支持线上集群自动化管控、运维 , 为腾讯云客户提供 ES 服务 。但是从线上大量的运营经验分析 , 我们发现仍然有非常丰富、高价值的方向需要继续跟进 , 我们会持续继续加强对产品、内核的建设 。
文章图片
文章图片
长期探索方面 , 我们结合大数据图谱来介绍 。整个大数据领域 , 按照数据量、延时要求等特点 , 可以划分为三部分:第一部分是 Data Engineering , 包含我们熟悉的批量计算、流式计算;第二部分是 Data Discovery , 包含交互式分析、搜索等;第三个部分是 Data Apps , 主要用于支撑在线服务 。
推荐阅读
- 快充@三口65瓦+氮化镓技术!征拓新品:小却如此强悍
- #程序员#腾讯女程序员相亲遭对方嫌弃,晒出聊天记录感叹:太难了
- 【】直播行业打响“技术战”,酷狗3D虚拟直播脱颖而出,优势何在?
- 『腾讯科技』淘宝天猫蒋凡在阿里内网回应传闻:深表歉意,恳请公司展开调查
- 「腾讯」腾讯视频盈利难:2019年亏损30亿 盗墓题材连拍五年没水花
- 技术@全球首套规模化太阳燃料合成示范项目试车成功丨转化亮点
- 服务@云市场跨步式发展 打造ToB云市场阿里腾讯外“第三股势力”
- [技术]安芯半导体再出货一台光刻机,价值千万元!满足国内芯片企业需求
- 『技术』鹤壁:全面提升科技创新能力为建设高质量富美鹤城贡献科技力量(1)
- 技术@为楼宇安上“智慧大脑”,翠苑街道开创“一平台”数据互通模式
