5.2 最小化数据可用性耗时
数据可用性耗时主要花在本节讨论的4个活动上。数据迁移服务的目标是尽量减少这些步骤花费的时间。
5.2.1 数据接入配置和变更管理
数据必须从源数据存储中读取并写入目标数据存储中。我们需要一个特定技术的适配器来对数据存储进行读写。管理数据存储的源团队需要通过配置来开放数据读取功能。通常,必须解决与源数据存储的性能影响相关的问题。这个过程在JIRA ticket(一个项目管理平台)中进行跟踪,可能需要几天时间。
经过初始配置之后,源数据存储和目标数据存储可能会发生模式和配置的更改。这些更改可能会破坏下游ETL和机器学习模型对特定数据属性的依赖,而这些数据属性可能已经被弃用,或者更改为表示不同的意义。这些更改需要主动协调。除非数据迁移是一次性的,否则需要进行持续的变更管理,以确保源数据在目标中正确可用。
5.2.2 合规
在跨系统迁移数据之前,必须先验证数据是否合规。例如,如果源数据存储受PCI(https://oreil.ly/j8aBX)等监管合规法律的约束,那么数据迁移必须以明确的业务理由记录下来。带有PII属性的数据必须在传输过程中和在目标数据存储上进行加密。新出现的数据权利法律,如《通用数据保护条例》(GDPR)(https://oreil.ly/K7Yqz)和《加州消费者隐私法》(CCPA)(https://oreil.ly/eIBY6),进一步限制了数据迁移。根据适用的法规,合规性验证可能会花费大量时间。
5.2.3 数据质量验证
数据迁移需要确保源数据和目标数据的一致性。在实际部署中,质量问题可能由于多种原因导致,例如源数据错误、适配器故障、聚合问题等。为了确保数据质量问题不影响业务指标和机器学习模型的正确性,必须在迁移数据期间监控数据一致性。
在数据迁移过程中,目标数据可能是源数据经过过滤、聚合或转换后得到的,因此与源数据并不完全一致。例如,如果应用程序数据跨多个集群分片,则可能需要在目标数据上使用一个聚合的具体化视图。在部署到生产环境中之前,需要对转换进行定义和验证。
虽然目前有多种商业和开源的解决方案,但在实现数据迁移服务方面还没有通用的解决方案。本章的其余部分将介绍建立数据迁移服务的需求和设计模式。