本文最初发布于 Backblaze 官方博客。
在快消领域,Daltix 是提供完整、透明、高质量零售数据的先行者。GFK 和联合利华等全球行业领导者依靠他们的定价、产品、促销和位置数据来制定入市策略并做出关键决策,对 Daltix 来说,维护一个可靠的数据生态系统势在必行。
自 2016 年成立以来,随着公司的发展,Daltix 处理的数据量呈指数级增长。他们目前管理着大约 250TB 的数据,分散在数十亿个文件中,很快就造成了巨大的时间和资源消耗。Daltix 的基础设施几乎完全是围绕 AWS 构建,因为需要管理数十亿个极小的文件,所以在可扩展性和成本效益方面,AWS 的存储选项已经开始无法满足他们的需求。
我们与 Daltix 首席软件工程师 Charlie Orford 进行了交流,了解他们如何迁移到 Backblaze B2 云存储以及他们从那个过程中得出了什么结论。以下是其中的一些要点:
他们使用一个自定义引擎将数十亿个文件从 AWS S3 迁移到 Backblaze B2;
月度成本减少了 2500 美元,数据的可移植性和可靠性都得到了提升;
Daltix 创建的基础设施每天可以自动备份 840 万个数据对象。
请继续阅读,看看他们是如何做到的。
一个基于 AWS 构建的复杂数据管道
Daltix 在公司创立初期创建的基于 S3 的基础设施,大部分还完好无损。过去,数据管道将从网络上抓取的资源直接写入 Amazon S3,经由基于 Lambda 的提取器进行标准化后,再发送回 S3。然后,由 AWS Batch 选取要使用其他数据源进行补充和丰富的资源。
所有这些步骤都是在 Daltix 的分析师团队准备好数据之前进行的。为了优化流程并提高效率,Orford 开始将该流程的部分环节纳入到 Kubernetes 中,但数据存储仍然存在问题;Daltix 每天生成大约 300GB 的压缩数据,而且这个数值还在迅速增长。“随着数据收集规模的扩大,我们必须更加关注成本控制、数据可移植性和可靠性,”Orford 说,“这些都是显而易见的,但规模大了,就更加重要了。”
成本方面的考量促使我们寻找更友好的归档存储
到 2020 年,Daltix 开始意识到,在 AWS 中构建这么多基础设施存在局限性。例如,围绕 S3 元数据进行的大量定制使得移动对象的能力完全受制于目标系统与 S3 的兼容性。Orford 还担心,在 S3 中永久存储如此巨大的数据湖的成本。如他所言,“很明显,没有必要把所有东西都永远存在 S3 中。如果不采取任何措施,那么我们的 S3 成本将继续上升,并最终远远超出我们使用其他 AWS 服务的成本。”
服务器成本对比
因为 Daltix 要处理数十亿个小文件,所以不可能使用 Glacier,因为它的定价模式是基于检索费用的。即使是使用 Glacier 即时检索,Daltix 所处理的文件数量也会使他们每年额外支付 20 万美元的费用。因此,Daltix 的数据收集团队(公司 85% 以上的数据都来自这个团队)推动实施了一种可替代的解决方案,解决了一些相互矛盾的问题:
数据湖的庞大规模;
需要将原始资源存储为离散文件(这意味着无法进行批处理);
团队能够投入的时间和精力有限;
简化解决方案,以保证其可靠性。
Daltix 决定使用 Amazon S3 进行热存储,并将暖存储转移到新的归档解决方案中,这可以降低成本,同时保持重要数据可访问——即使目的是将文件存储在别处。Orford 说:“重要的是要找到某个非常容易集成而且开发风险低的东西,并且有助于降低我们的成本。对我们来说,Backblaze 确实可以满足所有要求。”
只是初步迁移每月就立省 2000 美元
在开始全面迁移之前,Orford 和他的团队做了概念验证(POC),以确保解决方案解决了他们重点关注的问题:
确保海量数据成功迁移;
避免数据损坏并使用审计日志检查错误;
保留每个对象的自定义元数据。
“早期,我们与 Backblaze 合作,定制了一个可以满足我们所有需求的迁移工具,”Orford 说,“这给了我们继续前进的信心。”Backblaze 为我们定制了一个迁移引擎,可以保证迁移过程能够可靠地传输整个数据湖,并且保证对象级元数据完好无损。在成功迁移了一开始的 POC 存储桶之后,Daltix 就拥有了开始建模和预测未来成本所需的一切。Orford 说道:“在开始接触 Backblaze 之后,我们便不再寻找其他选项“。
2021 年 8 月,Daltix 将一个包含 22 亿个对象的 120TB 的存储桶从 S3 的标准存储转移到 Backblaze B2 云存储。仅最初的迁移就立即节省了 2000 美元 / 月或 24000 美元 / 年的成本。
宁静的数据湖
三倍的数据,直接兼容 S3,累计节省 10 万美元
现在,Daltix 每天从 Amazon S3 向 Backblaze B2 迁移 320 万个数据对象(大约 160GB 的数据)。他们在 S3 中保存了 18 个月的热数据,一旦一个对象存在达 18 个月零一天,就会被归档到 B2 中。在少数情况下,Daltix 也会接收到请求 18 个月窗口期之外的数据的请求,由于 Backblaze 的 API 兼容 S3 且数据永远可用,所以他们可以直接将数据从 Backblaze B2 拉到 Amazon S3。
每日审计日志会汇总已传输的数据量,整个迁移过程每天自动执行。Orford 说:“它在后台运行,我们不需要管理任何东西,什么都可以看到,而且很划算。对我们来说,Backblaze B2 是一个理想的解决方案。”
随着每日数据收集量的增加,会有越来越多的数据从热存储窗口中迁出,Orford 预计成本会进一步降低。据 Orford 估计,日迁移量将在大约一年半后接近目前水平的三倍:这意味着 Daltix 每天将向 Backblaze B2 备份 900 万个对象(约 450GB 数据)。长远来看,从 Amazon S3 切换到 Backblaze B2 为 Daltix 节省的成本都令人难以置信。Orford 说:“因为使用了 Backblaze B2,预计到 2023 年,我们在存储支出上将累计节省 7.5 万至 10 万美元,每年至少节省 3 万美元。”
自己算算看
想知道每年多出 3 万美元能做什么吗?可以利用我们的云存储定价计算器,了解下迁移到 Backblaze B2 可以节省多少钱。
声明:本文为 InfoQ 翻译,未经许可禁止转载。
原文链接:https://www.backblaze.com/blog/an-ideal-solution-daltixs-automated-data-lake-archive-saves-100k/
评论