首页 理论教育分布式数据库技术:如何成功迁移到云上

分布式数据库技术:如何成功迁移到云上

【摘要】:如何将数据库迁移到云上是面临的一个挑战。有些组织会在迁移到云上时重新设计体系结构。例如,用户使用的系统缺乏负载均衡,迁移到云上时,可以让云供应商弥补这个不足。难的是异构数据库的迁移,例如,将Oracle数据库迁移到云端的PostgreSQL上。

如何将数据库迁移到云上是面临的一个挑战。下面以开源数据库管理系统PostgreSQL为例说明迁移过程。

1.迁移前

假设用户已经有一个基于PostgreSQL的生产(性)数据库安装在自己的数据中心的集群上。用户已经考虑使用PostgreSQL的高可用性,希望可以得到更高的可用性。一般已经安装了工具帮助自己在系统失效时备援。

目前大多数组织机构计划将自己的应用体系复制到云上,以后再调整体系设计。有些组织会在迁移到云上时重新设计体系结构。例如,用户使用的系统缺乏负载均衡,迁移到云上时,可以让云供应商弥补这个不足。

2.在云上规划自己的体系结构

大多数组织在将自己的PostgreSQL数据库迁移到云上时会按下述方式处理。

●订购与现有PostgreSQL数据库系统环境相同的CPU数目、RAM数量和磁盘容量。

●订购使用环境更好的硬件,因为它便宜,在云上相同的配置,性能会下降。

●研究自己目前数据库的使用情况,在云上有效规划硬件目标。

●接第三种方式,通过云上创建的硬件将峰值应用流量加倍后进行性能测试,以决定是否升级硬件。

按上述方式将自己的数据库系统规模调整到合适的规模。

难的是异构数据库的迁移,例如,将Oracle数据库迁移到云端的PostgreSQL上。因此,要注意以下几个问题。

●理解数据库每天的峰值事务数,按小时、分钟、每周、每月和每年计的峰值事务数。

●使用快照工具抓取操作系统运行情况,以便在云上为自己的数据库规划好服务器的目标。

●比较周期里的负载均值,考虑数据库扩容时负载会如何变化。

●检查在峰值事务期间,CPU、内存、I/O使用时是否逐渐增加。

●在PostgreSQL上使用快照工具,观察服务器资源峰值使用期间的数据流量。

●如果有些表中的历史数据在应用上使用极少,则可考虑将其进行备份,这样既避免了浪费迁移数据空间,又避免了耗费在线扫描资源。

除PostgreSQL外,还有不少典型的商品化云数据库系统,例如Oracle Cloud、Microsoft Azure、Amazon Web Services(AWS)等。

用户也可以要求在私有云上部署DBaaS。这样,用户可以控制整个体系结构。

注意,不同的供应商在DBaaS中使用的术语也不同。

1)Oracle云术语

●Service levels:Refers to the options that Oracle cloud offers。

●Virtual image:The virtual machine。(www.chuimin.cn)

●OCPU:Refers to Oracle CPU,which is equivalent to one physical core of an Intel Xeon processor。

●Cloud storage:Storage option present in the cloud。

●Subscription:Registration for Oracle cloud service。

●Region:Refers to the geography where the datacenters are present。

●Compute:Refers to CPU、memory、network和storage。

●Console:GUI to access and manage Oracle cloud service。

●Shape:Virtual image sizes。

2)Amazon Web Services术语

●EC2 instance:Refers to the virtual machine。

●RDS:Relational database services。

●Region:Refers to the geography where the datacenters are present。

●EBS:Block storage in AWS。

●AZ:Availability zone。

●DB instance class:Same as shape in Oracle cloud。

●BYOL:Bring your own license。

●DB engine:Standard edition or enterprise edition。

●VPC(virtual private cloud):Virtual datacenter in AWS。

3)Microsoft Azure术语

●Virtual machine:Compute resources provisioned using hypervisor。

●Storage account:Storage provided by Azure,requires you to create one or more storage account。

●Subscription:Registration for Azure cloud services。

●Classic/old portal:https://manage.windowsazure.com/is referred to as the classic portal。

●New portal:https://portal.azure.com/refers to the new portal。