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