币安通过“小文件修复工具”提升数据效率与系统稳定性

BNB报道,通过自主研发的“小文件医生”框架,币安有效改善了大规模数据处理过程中的效率瓶颈,提升了系统稳定性。

在大规模数据仓库中,小文件不仅带来存储结构上的不便,更会导致元数据处理负担加重、读取放大效应、尾部延迟恶化及作业不稳定等问题。尤其在币安这类同时承载交易、监控、异常交易检测、分析、客户支持、财务等多种工作流程的复杂运营环境中,此类问题可能直接导致用户体验下降与服务品质受损。

构建可持续运行的解决方案

币安着眼于建立可持续运行的框架,而非依赖手动脚本整理,以实现根本性解决问题。该框架能够在常规运营环境下安全持续地执行文件优化作业,全面提升延迟表现、稳定性与成本效益。

首先通过分析S3、HDFS等存储系统的元数据,掌握文件数量与规模分布,筛选文件数量过多或小文件集中的目录,并依据数据消费模式确定优化优先级。筛选出的表与分区将被记录在承担优化待办清单功能的存储空间中。在此过程中,系统会比较目标目录的实际文件数与平均文件大小与预设目标文件大小(256MB),决定是否进行合并操作,同时应用安全规则以避免效果不明显的重复作业。

适配运营环境的执行策略

框架制定了符合币安运营特点的执行指南:文件优化作业会限制并发执行数量以防止集群过载,并安排在业务低谷时段进行。此外,通过记录每个表与分区优化前后的文件数量、执行时间点及状态的管理日志,系统实现了可中断续作的设计,即使作业中途停止,也可从断点处继续执行而无需重复处理。

显著成效与未来规划

目前,币安已通过该框架完成533个表的优化,将小文件数量从原有的5900万个减少至290万个左右,每年成功节省约9万至10万美元的计算与存储成本。

未来币安计划将小文件医生与调度系统深度整合,通过调整架构使得新分区在完成合并、验证等优化流程后方可开放数据访问,从而最大化性能改善效果。