深入Atlassian Lithium:一个动态ETL平台如何改变数据移动并降低成本

Atlassian 推出 Lithium:动态数据迁移的 ETL 平台

主要观点

Atlassian 最近推出了 Lithium,这是一个专为满足动态数据迁移需求而设计的内部 ETL(Extract, Transform, Load)平台。Lithium 通过支持临时管道和租户级隔离,简化了云迁移、计划备份和飞行中数据验证等任务,同时确保高效性和可扩展性,显著降低了资源动态分配带来的成本。

关键信息

Lithium 的核心功能

  1. 动态管道配置:Lithium 解决了运行时管道配置的需求,适用于用户发起的迁移和定期备份等任务。传统 ETL 系统无法高效处理这种按需配置,而 Lithium 则通过最小化资源使用来实现高性能数据迁移。
  2. 临时管道:Lithium 的临时管道能够根据需求扩展基础设施,而不是为峰值负载维持资源,从而节省大量成本。
  3. Kafka 集群:通过利用弹性的 Kafka 集群,Lithium 避免了为短暂的峰值需求配置大型集群,进一步降低了基础设施成本。

架构设计

  1. 控制平面和数据平面

    • 控制平面:基于 AWS MSK,负责管道管理、资源分配和 Kafka 主题生命周期管理。
    • 数据平面:负责实际的数据移动,执行控制平面发出的命令。
  2. Workplans:Lithium 的数据管道称为 Workplans,由三种主要处理器类型组成:Source、Transform 和 Sink。这些模块化处理器可以动态分布在服务中,支持本地化执行和并行数据处理。

独特功能

  1. 动态和临时性:Workplans 可以动态配置,并且仅在任务期间存在,确保租户级数据安全和管道隔离。
  2. 高级功能:支持暂停、回放和进行中修复,适应复杂的实时数据工作流。

重要细节

技术实现

  1. Kafka Streams 的精确一次语义:Lithium 在转换阶段使用 Kafka Streams 的 API 确保数据转换的精确一次交付。然而,整个管道并非精确一次系统,因此 Lithium 开发了事务性 Sink 来确保消息在 Sink 中只被处理一次。
  2. 调试和监控

    • Lithium Lens:Atlassian 开发的监控工具,用于诊断运行中的作业问题,提供管道可视化、流拓扑可视化和时间线视图等功能。
    • Signalfx 监控仪表板:每个作业都有监控 ID,所有作业级指标都标记为该 ID,便于监控和分析。

未来发展

  1. 实时修复能力:Lithium 允许在运行时更新 Workplans,修改转换器和验证器,而无需从头重启 Workplan。未来计划进一步开发能力,使新处理器能够集成到 Workplan 中,而无需全面部署服务。
  2. 支持团队和工程师:这些增强功能将极大帮助支持团队和值班工程师处理生产问题。

总结

Lithium 是一个创新的 ETL 平台,通过动态资源配置、临时管道和高效的数据处理能力,显著提升了数据迁移的效率和成本效益。其独特的设计和功能使其成为 Atlassian 内部数据管理的重要工具,未来还将继续增强其实时修复和监控能力。

阅读 10
0 条评论