将数据库迁移到云平台的优秀实践
云计算行业专家指出,未使用的数据(在内部部署的数据数量可以忽略不计)可能会严重影响企业采用云平台的预算。
数字化转型正在导致很多企业面临前所未有的海量数据。许多人认为,面对不断增长的数据量和更复杂的分析要求,从Microsoft Azure或AWS云平台运行SQL Server数据库是确保IT性能的优秀方法。但是,对于某些人而言,最初的希望是通过切换到云平台能够以更高的成本效益进行工作。一个重要的原因可能是尚未针对新的云计算环境预先优化数据资产。因此,只有在充分准备之后才能完成迁移。
迁移到云端就像搬入新家:当在家中查看所有物品时,很可能出现自己都不知道拥有的东西。不可避免地出现的问题是:家中的每一件物品都与新房子相关吗?或者是时候彻底清理一下杂物了?
这种方法也可以应用于将SQL Server数据库迁移到云平台中。由于云计算环境的规则与内部部署环境不同,因此在顺利进行迁移之前,应先对数据库进行适当的清理工作。为此,数据库管理员(DBA)首先必须获得所有数据库如何与连接的应用程序进行交互的概述。这使他们可以清除数据集中不必要的混乱数据,并在必要时修改代码。因此在迁移之前,应先进行包含评估和审查阶段的两步过程。
评估阶段:迁移的数据选择
云迁移失败的比较常见的原因之一是成本过高。在许多情况下,这可以归因于以下事实:尚未充分考虑新的云计算收费模式。未使用的数据量(在内部部署运营中可忽略不计)会给云平台中的预算带来极大压力,因为云计算服务的价格由CPU、存储和IOPs决定。与其相反,提前完成全面评估有助于确保尽可能高效地使用新环境。为此,需要确定所有库存数据记录,并将它们依次分配到三个类别:清理、存档、迁移。
清理
大量不再有用的垃圾数据或数据集适合在云迁移之前进行清理。这种类别的数据包括过去创建的数据,但数据质量可能很差,只是出于法律原因才需要进行存储。如果超过法律要求的时限,则可以将其删除。如果是个人数据,则还应根据GDPR法规和其他数据保护法规来考虑数据库存。
存档
在调查过程中,数据库可能还会遇到相反的情况:某些数据集虽然过时了,但其质量适合当前和未来的趋势分析。在此建议继续以只读模式使用数据。例如,如果计划迁移到Microsoft Azure,则可以使用SQL Stretch数据库将数据简单地移动到成本相对较低的存储级别。在那里,数据仍然以只读模式可用,并且可以根据需要进行检索,以用于商业智能操作,用于人工智能或机器学习功能的应用以及用于创建预测分析。
迁移
确定了需要清除和存档的数据后,便自动形成了适合迁移的数据量。尽管这些数据来自内部部署生产系统,但这并不意味着可以将其直接传输到基于云计算的生产系统。为了防止用户可能抱怨他们的报告自从迁移以来不再有意义,下一步是对这些数据进行彻底的质量检查。
检查阶段:数据库质量检查
由于在迁移过程中不应对应用程序和数据库进行任何更改,因此必须消除任何妨碍可靠性能的功能。必须进行额外的质量检查,以确保应用程序和数据库级别之间的平滑交互。因此,应该确保以下几点:
- 诸如表格、视图、触发器、存储过程和用户定义的函数(UDF)之类的对象的一致命名标准。
- 如果所包含的值均不超过32个字符,则不要使用超大的列,例如CHAR(500)。
- GUID(全局唯一标识符)不用作聚集索引。这仅适用于未扩展的小型表格。还必须检查是否将GUID用作集群主键,因为这会导致许多性能问题。
- 没有定义为最大大小的数据类型,例如NVARCHAR(MAX)。
- 没有隐式转换,因为它们会导致严重的代码问题。特别是,当使用对象关系映射(ORM)工具时,更容易发生转换问题,因为对象关系映射(ORM)通常默认情况下使用GUID作为集群索引。
此外,应再次检查查询超时的编码。如果某些查询在内部部署环境中已经发生服务器超时,则这些超时将在云中增加。为避免这种情况,应修改代码,以便与查询超时相比,它在云平台中更具弹性,并且相应地优化了关联的查询。
另一个必要但在某些情况下可能很痛苦的任务是对流行功能的评估和测试,例如创建临时表。尽管通常使用这些功能来改进编码的逻辑,但是只有少数几个功能会对性能产生积极的影响。为了避免在云平台中出现任何意外情况,最好安排对最常用的数据库功能进行测试。
可靠的文档有助于切换到云平台
总体而言,进入云平台只需要根据数据目录创建全面的文档即可。为了避免在迁移后发现应用程序和用户已经迁移进来,必须进行下一个步骤:记录哪些应用程序访问目录中记录的数据。
对于数据库来说,这似乎有些不愉快,就像搬家时必须处理长期遗忘的物品一样。为了简化文档编制过程,需要使用适当的管理工具,这些工具可以自动创建数据源的详细概述。通过这种方式,可以创建合适的条件以实现平稳迁移并有效使用云计算服务。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
自定义云管理以适应工作负载
现在,将资源转移到云平台的组织比以往任何时候都在寻找特定的功能。随着云计算产品的成熟和新业务模式的发展,需求变得越来越复杂和精确。这导致软件专业化程度提高,例如针对特定行业和垂直行业的各种PaaS产品和“精品云计算提供商”的出现。 某些工作负载最适合特定的云计算环境。尝试使用公共云的组织通常从迁移不太重要的工作负载开始,然后逐渐转移剩余的工作负载。最适合公共云的工作负载分为两类:批处理工作负载易于自动化并利用公共云的弹性,而大数据分析得益于公共云的强大功能和可扩展性以及其突发功能。 开发和测试(DevTest)团队也是公共云的主要候选人,因为他们需要快速实时地应对案件。这些案例在不再需要时可以删除,从而节省了资源并降低了成本。 相比之下,许多组织更喜欢将敏感数据保持在自己的私有云上。IT团队可能会决定将关键工作负载放入私有云中,以保持控制、更高的可用性和弹性。从历史上看,在长期使用情况下,位于私有云上的工作负载可以垂直扩展。但是,随着私有云技术的成熟,它能够支持多种工作负载。当相互依赖的工作负载需要最小的数据访问延迟时,私有云是最有效的,因为工作负载可以彼此靠近。 随着私有云技术的成熟...
- 下一篇
全球加强数字政府建设,提高应对未来风险能力
新冠病毒COVID-19的大流行使许多地区国家因失业率暴增造成巨大压力。尽管有些国家的情况比其他国家好,但所有政府都可以利用云技术等优势为下一次风暴做好准备。 冠状病毒对经济产生了毁灭性的影响。在3月下旬至4月初之间,有2200万美国人申请失业。不幸的是,由于需求激增,许多州政府网站崩溃,呼叫中心不堪重负,许多人面临着巨大的挑战和寻求利益的延误。 根据美国信息技术和创新基金会(ITIF)的分析,到4月中旬,超过一半的州失业网站经历了严重的停机。佛罗里达的站点一度宕机了16个小时,而密歇根州的宕机了近6个小时。即使居民可以访问这些站点,他们通常也无法完成其申请,或者会收到错误消息,称他们不符合资格。 显然,部分问题在于许多机构根本没有考虑过这种数量的激增。例如,在明尼苏达州,该州从每天每小时50名申请人增加到每天2000名申请人。纽约州劳工部报告说,与通常一周相比,网络流量增加了1600%。 但是,即使全国失业人数激增,并非所有州的失业网站都崩溃了。已经开发了基于云的应用程序的代理商通常能够满足需求。其他人则在运行过时的系统。例如,佛罗里达州的失业网站正在运行旧版本的Internet I...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群