Advertisement

04-小米Elasticsearch服务成本治理实践分享-周明裕(武汉,2024年3月30日)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本讲座由小米公司资深工程师周明裕主讲,于2024年3月30日在武汉举行。内容聚焦于小米在Elasticsearch服务成本治理方面的实践与经验分享。 ### 小米在Elasticsearch服务成本治理的实践 #### 一、小米集团Elasticsearch服务现状与用户场景 ##### 1.1 小米集团Elasticsearch服务现状 作为涵盖手机、物联网(IoT)、互联网服务等多个领域的综合性科技公司,小米集团内部广泛使用Elasticsearch。目前,该集团拥有数十个集群和成百上千的实例,存储规模达到PB级别,并且每天写入文档数量达千万级,每秒查询请求量也达到了万级别的水平。 - **应用场景多样**:从小米手机的日志监控到智能设备的数据分析再到小米商城的搜索服务,Elasticsearch的应用场景非常广泛。 - **数据处理能力强大**:面对海量PB级别存储需求,Elasticsearch需要能够高效地处理和管理这些数据。 - **高性能要求**:在高并发访问的需求下,系统必须保证毫秒级的查询响应时间。 ##### 1.2 用户场景 根据不同的使用频率和存储周期,小米集团内部的数据大致可以分为以下四种类型: - **热数据**: 高频读写、低延迟(毫秒级别)、短期保存,通常采用SSD以确保最佳性能。 - **温数据**: 中等频繁的访问需求,查询响应时间在秒级范围内,并且需要长期存储。使用HDD来满足其较大的存储空间要求。 - **冷数据**: 低频读写、较慢的延迟(从几秒到几分钟不等), 长期保存但很少被检索的数据也采用HDD进行储存,但是不会加载索引以节省内存资源。 - **冻结数据**: 极少访问的需求,查询可能需要等待数分钟才能完成,并且存储周期可能是长期或永久的。这类数据通常存放在外部存储如HDFS中。 #### 二、成本治理实践 ##### 2.1 数据分层 小米通过冷热分离架构来优化不同类型的Elasticsearch数据管理,从而提高访问效率并降低存储费用。 - **热数据**: 使用SSD硬盘以提供最快的读写速度。 - **温数据**: 利用HDD硬盘满足较大的储存需求。 - **冷数据**: 同样使用HDD但因访问频率低,不加载索引信息来节省资源。 - **冻结数据**: 采用外部存储如HDFS长期保存极少被检索的数据。 通过这种分层策略,小米成功地减少了对HDD节点的需求,并将成本降低了35%。 ##### 2.2 数据压缩 为了进一步减少储存开支,小米采用了先进的ZStandard (ZSTD) 压缩算法。相比传统的LZ4和Deflate算法,ZSTD提供了更高的压缩率与更快的处理速度。 - **从LZ4到ZSTD**: 存储空间减少了约20%,成本也随之降低了大约20%。 - **从Deflate到ZSTD**: 虽然存储减少幅度较小(仅3%),但查询性能提高了15%,并且整体费用也有所下降。 小米在Lucene内核和Elasticsearch内核上定制并支持了这种高效压缩模式,实现了显著的优化效果。 ##### 2.3 部署架构改进 除了数据分层与压缩外,小米还通过单机多实例部署及自研ES-Federation架构进行了进一步的技术创新: - **使用CGroup实现资源隔离**: 利用Linux CGroups技术进行CPU和内存划分,实现了50%的成本节约。 - **开发ES-Federation架构**: 结合了集群间的CGroup机制与内部的Allocation策略来优化资源配置,使利用率提升了43%。 #### 三、基于成本数仓的数据治理实践 为了更好地管理和控制Elasticsearch数据,小米建立了一个专门用于收集和分析完整集群、节点及索引读写访问信息的成本数据库。通过这些详细的分析结果,公司能够识别出哪些数据最为关键,并据此推进相应的治理措施。此外,还通过集团内部的数据资产门户向各业务部门推送治理通知,形成闭环管理。 #### 四、未来展望 小米计划在未来继续探索以下领域: - **云端存储**: 将Elasticsearch的存储部分迁移到云平台上实现存算分离以进一步提高计算资源利用率。 - **平台升级**: 提升Elasticsearch服务的用户体验使其更加易于使用和维护。 通过这些实践与规划,小米不仅提升了自身的性能和服务质量,还有效控制了成本,为公司的持续发展提供了坚实的技术支持。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • 04-Elasticsearch-2024330
    优质
    本讲座由小米公司资深工程师周明裕主讲,于2024年3月30日在武汉举行。内容聚焦于小米在Elasticsearch服务成本治理方面的实践与经验分享。 ### 小米在Elasticsearch服务成本治理的实践 #### 一、小米集团Elasticsearch服务现状与用户场景 ##### 1.1 小米集团Elasticsearch服务现状 作为涵盖手机、物联网(IoT)、互联网服务等多个领域的综合性科技公司,小米集团内部广泛使用Elasticsearch。目前,该集团拥有数十个集群和成百上千的实例,存储规模达到PB级别,并且每天写入文档数量达千万级,每秒查询请求量也达到了万级别的水平。 - **应用场景多样**:从小米手机的日志监控到智能设备的数据分析再到小米商城的搜索服务,Elasticsearch的应用场景非常广泛。 - **数据处理能力强大**:面对海量PB级别存储需求,Elasticsearch需要能够高效地处理和管理这些数据。 - **高性能要求**:在高并发访问的需求下,系统必须保证毫秒级的查询响应时间。 ##### 1.2 用户场景 根据不同的使用频率和存储周期,小米集团内部的数据大致可以分为以下四种类型: - **热数据**: 高频读写、低延迟(毫秒级别)、短期保存,通常采用SSD以确保最佳性能。 - **温数据**: 中等频繁的访问需求,查询响应时间在秒级范围内,并且需要长期存储。使用HDD来满足其较大的存储空间要求。 - **冷数据**: 低频读写、较慢的延迟(从几秒到几分钟不等), 长期保存但很少被检索的数据也采用HDD进行储存,但是不会加载索引以节省内存资源。 - **冻结数据**: 极少访问的需求,查询可能需要等待数分钟才能完成,并且存储周期可能是长期或永久的。这类数据通常存放在外部存储如HDFS中。 #### 二、成本治理实践 ##### 2.1 数据分层 小米通过冷热分离架构来优化不同类型的Elasticsearch数据管理,从而提高访问效率并降低存储费用。 - **热数据**: 使用SSD硬盘以提供最快的读写速度。 - **温数据**: 利用HDD硬盘满足较大的储存需求。 - **冷数据**: 同样使用HDD但因访问频率低,不加载索引信息来节省资源。 - **冻结数据**: 采用外部存储如HDFS长期保存极少被检索的数据。 通过这种分层策略,小米成功地减少了对HDD节点的需求,并将成本降低了35%。 ##### 2.2 数据压缩 为了进一步减少储存开支,小米采用了先进的ZStandard (ZSTD) 压缩算法。相比传统的LZ4和Deflate算法,ZSTD提供了更高的压缩率与更快的处理速度。 - **从LZ4到ZSTD**: 存储空间减少了约20%,成本也随之降低了大约20%。 - **从Deflate到ZSTD**: 虽然存储减少幅度较小(仅3%),但查询性能提高了15%,并且整体费用也有所下降。 小米在Lucene内核和Elasticsearch内核上定制并支持了这种高效压缩模式,实现了显著的优化效果。 ##### 2.3 部署架构改进 除了数据分层与压缩外,小米还通过单机多实例部署及自研ES-Federation架构进行了进一步的技术创新: - **使用CGroup实现资源隔离**: 利用Linux CGroups技术进行CPU和内存划分,实现了50%的成本节约。 - **开发ES-Federation架构**: 结合了集群间的CGroup机制与内部的Allocation策略来优化资源配置,使利用率提升了43%。 #### 三、基于成本数仓的数据治理实践 为了更好地管理和控制Elasticsearch数据,小米建立了一个专门用于收集和分析完整集群、节点及索引读写访问信息的成本数据库。通过这些详细的分析结果,公司能够识别出哪些数据最为关键,并据此推进相应的治理措施。此外,还通过集团内部的数据资产门户向各业务部门推送治理通知,形成闭环管理。 #### 四、未来展望 小米计划在未来继续探索以下领域: - **云端存储**: 将Elasticsearch的存储部分迁移到云平台上实现存算分离以进一步提高计算资源利用率。 - **平台升级**: 提升Elasticsearch服务的用户体验使其更加易于使用和维护。 通过这些实践与规划,小米不仅提升了自身的性能和服务质量,还有效控制了成本,为公司的持续发展提供了坚实的技术支持。
  • SQL的统计方法
    优质
    本篇文章主要介绍了如何使用SQL进行日、周、月、年的数据统计,旨在帮助开发者提高数据分析效率和准确度。 本段落主要为大家提供了按日、星期、月、季度和年统计销售额的SQL语句参考。有兴趣的朋友可以参考一下。
  • 示例:如何获取今、昨、上及上的时间信息
    优质
    本教程详细介绍了如何快速简便地获取包括今天、昨天、本周、上周、本月和上个月在内的各种时间信息的方法。 本段落主要分享了获取今天、昨天、本周、上周、本月及上月时间实例代码,具有一定的参考价值。接下来请跟随我们一起查看相关内容吧。
  • 20241最新ChatGPT
    优质
    本页面提供2024年1月最新的ChatGPT获取和使用方法,包括官方账号注册、插件安装教程以及相关技巧分享。 最新ChatGPT分享(2024年1月)的内容如下: 本次分享主要介绍了最新的ChatGPT版本及其功能更新情况。新版本在用户体验、性能优化以及安全性方面都有显著提升,旨在为用户提供更加流畅的对话体验。 此外,还详细讨论了如何利用新版ChatGPT进行自然语言处理和机器学习任务,并提供了相关示例代码和技术文档链接以供参考。 以上就是最新一期关于ChatGPT分享的主要内容概述。
  • 2024 AutoSec八大会PPR
    优质
    “2024 AutoSec八周年大会PPR分享”聚焦汽车信息安全领域最新进展与挑战,涵盖防护、检测及应急响应策略,旨在推动行业技术创新与合作。 4月11日,谈思实验室与谈思汽车主办、上海市车联网协会联合主办的谈思AutoSec 8周年年会暨中国汽车网络安全及数据安全合规峰会在上海盛大开幕。本次活动吸引了50位以上行业顶尖专家以及60多家领先汽车厂商参与,并有超过1100名产业链上下游专业人士齐聚一堂。 在峰会首日,多位专家进行了内容丰富的分享,主要集中在数据合规、汽车网络与数据安全趋势及挑战、软件供应链安全、车辆网络安全和汽车信息安全管理等议题上。会议现场气氛热烈,嘉宾们积极互动交流。
  • 数据行业白皮书(2024版).pdf
    优质
    本白皮书全面解析了2024年数据治理行业的最新趋势与挑战,汇集实际案例和最佳实践,为业界提供宝贵的参考与指导。 《私信博主免下载领取》 一、数据治理是数字化转型的必经之路 1. 数字全球化催生数字治理需求 2. 中国数字时代的治理新范式 二、数据治理概念 1. DAMA体系 2. 信通院的数据治理服务商成熟度模型 3. 国家标准:数据治理规范 4. 数据中台 5. 数据治理与数据中台的关系 三、数据治理目标与价值 1. 构建统一的数据标准体系 2. 提升数据质量 3. 推动安全体系建设 4. 建立和管理资产体系 5. 完善组织管理体系 6. 促进应用及共享 四、数据治理新范式 1. 数据治理架构设计 2. 模式的探讨与选择 2.1 数据治理模式介绍 2.2 不同模式的对比分析 2.3 如何选择合适的模式 3. 实施路径规划 4. 具体项目交付流程及建议 - 组织架构推荐 - 步骤说明 - 预期成果展示 五、数据治理保障体系 1. 组织结构支持 2. 制度建设确保实施 六、平台工具的应用与选择 1. 数据治理平台的全景图示例 2. 袋鼠云的数据治理管理平台介绍 2.1 模型设计部分 - Hive建表操作指南 - Flink建表说明 2. 开发功能模块 实时开发流程 离线开发步骤 发布任务指导 运维支持服务 3. 安全保障措施 数据脱敏策略管理 权限控制机制设计 分级分类规则设定 4. 标准化建设模块 - 基础词根维护 - 码表配置优化 - 行业模板定制开发 - 模型提取工具介绍 - 定义标准流程指导 - 映射关系建立方法论 - 统计分析功能展示
  • Java 获取期:及上一
    优质
    本文介绍了如何使用Java编程语言获取当前日期的相关信息,包括本周的第一天和最后一天,本月的第一天和最后一天,本年的第一天和最后一天以及上一年的信息。通过提供的示例代码,读者可以轻松掌握这些时间操作技巧,提高程序开发效率。 Java获取日期的方法包括本周、本年、本月以及上一年的日期。 - 获取当前周的第一天: ```java Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.DAY_OF_WEEK, calendar.getFirstDayOfWeek()); Date weekStart = calendar.getTime(); ``` - 获取今年的第一天和最后一天: ```java Calendar startOfYear = Calendar.getInstance(); startOfYear.set(Calendar.YEAR, Calendar.getInstance().get(Calendar.YEAR)); startOfYear.set(Calendar.MONTH, 0); startOfYear.set(Calendar.DAY_OF_MONTH, 1); Calendar endOfYear = (Calendar) startOfYear.clone(); endOfYear.roll(Calendar.DAY_OF_YEAR, true); // 向后滚动一天,获取当年最后一天 ``` - 获取本月的第一天和最后一天: ```java Calendar calendarMonth = Calendar.getInstance(); calendarMonth.set(Calendar.DAY_OF_MONTH, 1); Date monthStart = calendarMonth.getTime(); calendarMonth.add(Calendar.MONTH, 1); calendarMonth.roll(Calendar.DAY_OF_MONTH, -1); // 向前滚动到上个月的最后一天 Date monthEnd = calendarMonth.getTime(); ``` - 获取上一年的第一天和最后一天: ```java Calendar startOfLastYear = Calendar.getInstance(); startOfLastYear.set(Calendar.YEAR, Calendar.getInstance().getActualMinimum(Calendar.YEAR)); endOfYear.add(Calendar.DAY_OF_MONTH, -1); // 确保获取到的是上一年的最后一天,而不是当前年的第一天。 ``` 以上是Java中处理日期的一些常见操作。
  • 集团香港上市招股书(201853版)
    优质
    该文档为小米公司首次公开募股(IPO)时发布的招股说明书版本之一,详细介绍了公司的业务模式、财务状况及未来发展计划等信息。 小米集团招股说明书-2018.5.3 香港联交所上市资料,你值得拥有!
  • 202463新版的ChromeDriver 125.0.6422.141及Chrome 125.0.6422.142
    优质
    简介:2024年6月3日,谷歌发布了新的ChromeDriver版本125.0.6422.141与对应的浏览器版本Chrome 125.0.6422.142,优化了性能和兼容性。 2024年6月3日发布的最新版ChromeDriver 125.0.6422.141与Chrome浏览器125.0.6422.142是Web应用自动化的理想搭档,懂的都懂,这对组合是最新的版本。包含:ChromeStandaloneSetup64.exe---------Chrome 125.0.6422.142完整版;chromedriver.exe----------ChromeDriver 125.0.6422.141。
  • TVBox观看电视软件2024331
    优质
    TVBox是一款功能强大的电视观看软件,截至2024年3月31日版本,提供海量高清频道和点播资源,满足用户多样化的观影需求。 tvbox看电视软件24年3月31号版本。软件源可使用;饭太硬:xn--sss604efuw.top