创建数据基础设施的重要性
我们的公司与各种数据存储合作,用于构建应用程序、进行分析和做出明智的数据驱动决策。作为数据工程团队的一员,我们必须跟上组织的增长和规模。
随着数据量、速度和多样性的增加,存储、移动和管理是一项艰巨的任务。(可以看出,大数据 V 的 3 个特征已发挥作用)。
数据工程师的职责之一是选择正确的原则(ETL-ELT;Kappa-Lambda;治理)和基础设施(存储;计算;框架)。**何时**以及**为何**使用上述内容起着重要作用。
准备构建数据管道
在构建管道之前,始终要根据现有数据和系统提出一些问题
- 源在哪里,目的地在哪里?(数据是本地部署还是外部导入)
- 这是一次性操作还是需要扩展?
- 数据平台的成本和预算是多少?
- 是需要实时数据还是批量数据,系统是否支持该方法?
- 我们是否有现有的基础设施来使其工作,以及是否有长期的人员支持?
- 是否有现成的企业平台可以完成所有工作?(自建 vs. 购买)
构建数据管道的好处
因此,根据处理不同类型数据和系统的经验,以下是我对 ETL/ELT 的看法。
当数据在**组织内部**从交易数据库 (OLTP) 移动到分析平台 (OLAP) 时,ELT 是最佳选择。中间存储将 OLTP 和 OLAP 分离开来,这在需要进行历史数据刷新或优化仓库表等用例时很重要。ELT 为恢复、重新运行提供了更好的 SLA,并消除了对源系统资源峰值的风险。(无需在夜间/周末安排作业)
即时转换数据听起来更酷、速度更快,但在使用自托管系统时,将所有数据以组织良好的结构存储在低成本对象存储(AWS S3、Azure ADLS)上是有益的,并且它**可以扩展**!数据集中化且易于访问。
在为**运营分析**(数据人员常说的反向 ETL)提供支持时,ETL 提供了更大的价值。我们通常不怎么改变作为骨干的内部数据库,但分析 SaaS 平台则不然。这些平台上的最终用户期望数据立即可用,以便做出明智的决策。选择企业级或开源 ETL 工具可以更快地开发到各种外部系统的数据管道,而无需了解目的地的所有信息。(无需重复造轮子)
ETL 也有帮助,因为外部系统在存储数据量方面有限制和成本。因此,当数据超出限制导致仪表板在工作日停止更新时,就无需过多解释。
平衡快速开发、数据移动和存储所需内容本身就是一项繁重的任务,但关键在于保持数据完整性(事实、信息、洞察),并使数据管理在当下和未来都更加轻松和灵活。