
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)


