当前位置: 首页 > news >正文

5.3 大数据方法论与实践指南-存储成本优化(省钱)

5.3 成本(省钱)

大数据成本主要是计算和存储成本,存储成本一般占比超 50%。

5.3.1 工具

5.3.2 实施&方法

为了减少存储成本有两个基本思路:

  1. 减少存储数据量,这个要基于业务场景,血缘关系构建
  1. 通过数据分层减少存储成本

5.3.2.1 基于云存储的数仓分级存储

基于云存储的存算分离方案是生态的发展方向,因此只介绍基于云存储的数仓分级存储实践。

云存储的按需付费、无限扩展和多层级存储特性,使得数据仓库能够动态地将数据放置在最合适的“成本-性能”平衡点上。本实践指南聚焦于如何利用云原生能力实现这一目标。

一、 云存储的核心优势与层级

云对象存储(如 AWS S3, Azure Blob Storage, Google Cloud Storage)是数仓分级存储的基石,其核心优势在于:

  • 近乎无限的扩展性:轻松应对 PB 级数据增长。
  • 高持久性与可用性:通常提供 11 个 9 (99.999999999%) 的数据持久性。
  • 多存储层级 (Storage Classes/Tiers):提供从高性能到低成本归档的多种选项。
  • 自动化生命周期管理:通过策略自动迁移和删除数据。
  • 与计算引擎深度集成:可被 Redshift Spectrum, Snowflake, BigQuery, Athena, EMR, Databricks, Synapse Serverless 等直接查询。

主流云平台存储层级对比:

层级AWS S3Azure Blob StorageGoogle Cloud Storage
热存储 (Hot/Standard)S3 StandardHotStandard
温存储 (Warm)S3 Standard-IACoolNearline
冷存储 (Cold)S3 Glacier Instant Retrieval<br>S3 Glacier Flexible RetrievalArchive (with retrieval options)Coldline
极冷存储 (Deep Cold)S3 Glacier Deep ArchiveArchive (Deep Archive)- (Coldline is coldest)

点击图片可查看完整电子表格

关键区别:

  • S3 Glacier 系列:检索延迟从分钟级 (Instant Retrieval) 到小时级 (Flexible/Deep Archive),检索有费用。
  • Azure Archive:需要先“解冻”才能访问,解冻时间从几小时到一天不等。
  • GCP Coldline:检索延迟约几小时,有检索费用。

二、 基于云存储的分级存储架构设计

  1. 统一数据湖作为基础:
  • 将原始数据、清洗后数据、模型数据统一存储在云对象存储(如 S3)中,构建数据湖。
  • 优势:打破数据孤岛,实现单一可信源(SSOT),便于实施统一的分级策略。
  1. 分层与存储层级映射:
  • ODS (Operational Data Store):
  • 存储:S3 Standard (热)。
  • 原因:需要快速接收和处理来自业务系统的原始数据流,访问频繁。
  • DWD/DWS (Data Warehouse Detail/Service):
  • 策略:采用生命周期策略 (Lifecycle Policy)。
  • 示例:fact_order 表
  • 0-30 天:S3 Standard (热) -> 满足日常运营分析。
  • 30-365 天:S3 Standard-IA (温) -> 满足月度、季度、年度分析。
  • 365-1825 天(5 年):S3 Glacier Instant Retrieval (冷) -> 满足审计、合规、历史分析。
  • 1825 天:S3 Glacier Deep Archive (极冷) -> 满足 7 年以上法规要求。
  • 2555 天(7 年):自动删除 (如果法规允许)。
  • ADS (Application Data Service):
  • 核心报表数据:根据访问频率,可能保留在 Standard 或 Standard-IA
  • 历史快照/归档报表:可存入 Glacier 系列。
  • 维度表 (Dimension Tables):
  • 缓慢变化维 (SCD Type 1/2):主版本通常保留在 Standard 或 Standard-IA
  • 历史版本/归档:可应用生命周期策略迁移到更低成本层级。
  1. 计算与存储分离架构:
  • 模式:使用 Snowflake, Redshift (Serverless), BigQuery, Databricks (Serverless SQL/Compute), Athena, Synapse Serverless 等。
  • 优势:
  • 弹性:计算资源可根据查询负载动态伸缩,按需付费。
  • 解耦:存储成本与计算成本分离,优化更灵活。
  • 透明访问:计算引擎能透明地查询存储在不同层级(StandardIAGlacier)的对象存储数据(尽管查询冷数据慢且贵)。

三、 核心实现技术:自动化生命周期管理

这是基于云存储实现分级存储的最核心、最推荐的实践。

  1. AWS S3 Lifecycle Policies:
  • 功能:为 S3 存储桶或前缀(Prefix)定义规则。
  • 操作:
  • Transition:在指定天数后,将对象从当前存储类转移到另一个存储类(如 Standard -> Standard-IA)。
  • Expiration:在指定天数后,永久删除对象。
  • Abort Incomplete Multipart Uploads:清理未完成的上传,节省成本。
  1. Azure Blob Storage Lifecycle Management:
  • 功能与 S3 类似,支持 tierToCooltierToArchivedelete 等操作。
  1. Google Cloud Storage Object Lifecycle:
  • 支持 SetStorageClass (如转为 NEARLINECOLDLINE) 和 Delete
  1. S3 Intelligent-Tiering(作者理想中的终极默认存储方案):
  • 独特优势:无需预设数据访问模式。
  • 原理:创建后,S3 监控对象的访问频率。
  • 高频访问:留在 Frequent Access 层。
  • 低频访问:自动迁移到 Infrequent Access 层。
  • 极低频访问:可选迁移到 Archive Instant Retrieval 或 Deep Archive 层。
  • 适用场景:访问模式不确定或变化的数据(如用户行为日志、新上线的模型表初期数据)。

四、 最佳实践与关键考量

  1. 精准定义策略:
  • 基于业务需求:与业务方沟通,明确不同数据的保留期限和访问要求(SLA)。
  • 基于数据特性:区分事实表(通常有明确时间维度,适合时间策略)和维度表(可能需要更复杂的策略)。
  • 避免过度归档:如果某类“历史”数据被意外高频访问,归档策略可能导致性能骤降和高昂的检索费用。初期策略可保守些。
  1. 成本优化与监控:
  • 监控工具:使用云平台的 Cost Explorer (AWS), Cost Management (Azure), Cost Table (GCP) 分析各存储层级的成本。
  • 关注检索成本:Glacier / Archive 的检索费用可能远超存储费用。在设计策略时,估算潜在的检索成本。例如,一个 Deep Archive 对象的检索费用可能是其月存储费用的数十倍。
  • 批量操作:如果需要大量检索冷数据,考虑使用批量操作以降低成本。
  1. 性能影响管理:
  • 查询延迟:明确告知用户,查询 Glacier / Archive 层级的数据会有显著延迟(分钟到小时级)。
  • 计算引擎选择:对于需要频繁访问冷数据的分析任务,考虑将数据临时“解冻”或复制到热存储进行处理,任务完成后按策略再归档。
  • 缓存:在应用层或计算引擎层(如 Snowflake 的结果缓存)利用缓存减少对底层存储的重复访问。
  1. 数据安全与合规:
  • 加密:所有层级的数据都应启用静态加密(SSE-S3, SSE-KMS, SSE-C)和传输加密(HTTPS/TLS)。
  • 访问控制:通过 IAM Policy, Bucket Policy, ACL 严格控制对不同层级数据的访问权限。
  • 合规性:生命周期策略的删除规则必须符合 GDPR、HIPAA、SOX 等法规。对于必须永久保留的归档数据,确保 Expiration 规则不会误删。
  1. 与数仓平台协同:
  • Snowflake:虽然 Snowflake 管理底层存储,但其 Time Travel 和 Fail-safe 机制本质上也是一种自动分层。用户主要通过设置 DATA_RETENTION_TIME_IN_DAYS 来控制。长期归档仍可结合 S3。
  • Delta Lake / Iceberg:这些开源表格式存储在云存储上。它们的元数据和数据文件都可以应用云存储的生命周期策略。OPTIMIZE 命令可以帮助整理小文件,提升查询性能。
  • 元数据管理:确保数据目录(如 AWS Glue Data Catalog, Azure Purview, Google Data Catalog)能正确反映数据的物理位置和存储状态。
  1. 自动化与可观测性:
  • IaC:使用 Terraform, CloudFormation, ARM Templates 等基础设施即代码工具定义和部署生命周期策略,确保环境一致性。
  • 告警:设置告警,监控生命周期规则的执行状态、存储用量突增、异常的检索费用等。
  1. 渐进式实施与验证:
  • 先在非生产环境或小范围数据集上测试生命周期策略。
  • 验证数据迁移是否按预期进行(检查对象的存储类)。
  • 测试查询不同层级数据的性能和成本。

五、 案例:电商订单数据分级存储

  • 目标:降低存储成本 40%,同时满足业务分析和合规要求。
  • 架构:
  • 数据湖:s3://ecom-dw-lake/
  • 计算引擎:Snowflake + Athena (Ad-hoc)
  • 策略:
  1. ODS: s3://ecom-dw-lake/ods/orders/ -> S3 Standard (生命周期:30 天后转入 DWD)。
  1. DWD: s3://ecom-dw-lake/dwd/fact_orders/
  • Lifecycle Rule:
  • 0-7 days: Standard
  • 8-365 days: Standard-IA
  • 366-1825 days: Glacier Instant Retrieval
  • 1826-2555 days: Glacier Deep Archive
  • >2555 days: Delete
  1. ADS (核心报表): s3://ecom-dw-lake/ads/sales_summary/ -> Standard-IA (平衡成本和性能)。
  1. ADS (归档报表): s3://ecom-dw-lake/ads/archive/ -> Glacier Instant Retrieval
  • 结果:
  • 近期数据(<1 年)查询性能良好。
  • 历史数据(1-5 年)可通过 Athena 查询,延迟可接受(几分钟)。
  • 存储成本显著下降,主要得益于将海量历史订单数据迁移到 Glacier 层级。
  • 7 年以上的数据合规归档。

总结:

基于云存储的数仓分级存储,其成功关键在于充分利用云服务商提供的自动化生命周期管理功能。通过为不同业务价值和访问模式的数据制定精准的 Transition 和 Expiration 策略,可以实现存储成本的大幅优化。同时,必须清醒认识到冷/极冷存储带来的性能延迟和检索成本,并在架构设计、用户沟通和监控告警中予以充分考虑。结合计算与存储分离的现代数仓架构,这种实践能够构建出一个既经济高效又灵活可靠的现代化数据平台。

5.3.3 度量指标

单位 DAU 成本

http://www.dtcms.com/a/540192.html

相关文章:

  • 运营商网站服务密码搜索引擎优化seo信息
  • 【案例实战】鸿蒙元服务开发实战:从云原生到移动端,包大小压缩 96% 启动提速 75% 的轻量化设计
  • 网站开发人员介绍网络营销研究现状文献综述
  • html5制作网站一个网站建立团队大概要多少钱
  • AceContainer类中用于初始化任务执行系统的核心方法--AceContainer::InitializeTask
  • Ubuntu部署 Kubernetes1.23
  • 悟空 AI CRM 的回访功能:深化客户关系,驱动业务增长
  • Qt的.pro文件中INSTALLS的作用和用法
  • 我的项目该选LoRa还是RF超短波全数字加密传输?
  • vue3 实现记事本手机版01
  • 03_全连接神经网络
  • 生成式AI重塑教学生态:理论基础、核心特征与伦理边界
  • html5手机网站调用微信分享wordpress缩略图加载慢
  • 动环监控:数据中心机房的“智慧守护者”
  • 5.6对象
  • 生命线与黑箱:LIME和Anchor作为两种事后可解释性分析
  • VMware安装配置CentOS 7
  • 链表算法题
  • 织梦制作wap网站高端网站开发建设
  • 网站建设公司销售经理职责全网最大的精品网站
  • 怎么做公司网站推广cms网站开发教程
  • 解决 OpenSSL 3.6.0 在 macOS 上 Conan 构建失败的链接错误
  • metaRTC7 mac/ios编程指南
  • Go语言-->Goroutine 详细解释
  • 船舶终端数据采集与监管平台一体化方案
  • 2025年10月28日Github流行趋势
  • 《红色脉络:一部PLMN在中国的演进史诗 (1G-6G)》 第14篇 | 6G畅想:通感一体、AI内生——下一代网络的愿景与挑战
  • 「Java EE开发指南」如何用MyEclipse设置Java项目依赖项属性?
  • 输电线路防外破在线监测装置是什么
  • MTK5G旗舰系列——天玑9500/9400/9300/9200/9000在AI和处理器性能、DDR频率及UFS的深度对比分析