数字化转型时代,企业正面临着前所未有的海量数据,而这些数据,都是需要存储在云端的。也因此,如何针对云计算环境优化自己的数据资产,成了企业不得不考虑的事情。今天就以数据库迁移为例,跟大家分享一下企业的上云迁移要如何做好准备,如何优化数据资产。
 
企业在迁移之前,应该做好两方面的工作,一是评估,二是审查。评估主要是迁移的数据选择,包含清理、存档、迁移;审查主要是对数据库的质量检查。
 
一、做好评估工作
 
云迁移失败的比较常见的原因之一是成本过高。在许多情况下,这可以归因于以下事实:尚未充分考虑新的云计算收费模式。未使用的数据量(在内部部署运营中可忽略不计)会给云平台中的预算带来极大压力,因为云计算服务的价格由CPU、存储和IOPs决定。与其相反,提前完成全面评估有助于确保尽可能高效地使用新环境。为此,需要确定所有库存数据记录,并将它们依次分配到三个类别:清理、存档、迁移。
 
1.清理
大量不再有用的垃圾数据或数据集适合在云迁移之前进行清理。这种类别的数据包括过去创建的数据,但数据质量可能很差,只是出于法律原因才需要进行存储。如果超过法律要求的时限,则可以将其删除。如果是个人数据,则还应根据GDPR法规和其他数据保护法规来考虑数据库存。
 
2.存档
在调查过程中,数据库可能还会遇到相反的情况:某些数据集虽然过时了,但其质量适合当前和未来的趋势分析。在此建议继续以只读模式使用数据。例如,如果计划迁移到Microsoft Azure,则可以使用SQL Stretch数据库将数据简单地移动到成本相对较低的存储级别。在那里,数据仍然以只读模式可用,并且可以根据需要进行检索,以用于商业智能操作,用于人工智能或机器学习功能的应用以及用于创建预测分析。
 
3.迁移
确定了需要清除和存档的数据后,便自动形成了适合迁移的数据量。尽管这些数据来自内部部署生产系统,但这并不意味着可以将其直接传输到基于云计算的生产系统。为了防止用户可能抱怨他们的报告自从迁移以来不再有意义,下一步是对这些数据进行彻底的质量检查。
 
二、做好审查工作
 
由于在迁移过程中不应对应用程序和数据库进行任何更改,因此必须消除任何妨碍可靠性能的功能。必须进行额外的质量检查,以确保应用程序和数据库级别之间的平滑交互。因此,应该确保以下几点:
 
诸如表格、视图、触发器、存储过程和用户定义的函数(UDF)之类的对象的一致命名标准。 如果所包含的值均不超过32个字符,则不要使用超大的列,例如CHAR(500)。 GUID(全局唯一标识符)不用作聚集索引。这仅适用于未扩展的小型表格。还必须检查是否将GUID用作集群主键,因为这会导致许多性能问题。 没有定义为最大大小的数据类型,例如NVARCHAR(MAX)。 没有隐式转换,因为它们会导致严重的代码问题。特别是,当使用对象关系映射(ORM)工具时,更容易发生转换问题,因为对象关系映射(ORM)通常默认情况下使用GUID作为集群索引。
 
此外,应再次检查查询超时的编码。如果某些查询在内部部署环境中已经发生服务器超时,则这些超时将在云中增加。为避免这种情况,应修改代码,以便与查询超时相比,它在云平台中更具弹性,并且相应地优化了关联的查询。
 
另一个必要但在某些情况下可能很痛苦的任务是对流行功能的评估和测试,例如创建临时表。尽管通常使用这些功能来改进编码的逻辑,但是只有少数几个功能会对性能产生积极的影响。为了避免在云平台中出现任何意外情况,最好安排对最常用的数据库功能进行测试。