带你轻松迁移数据库到AWS
如今,企业上云离不开数据库上云。然而,云上有很多数据库类型,企业该如何选择?将数据库迁移到云端,该有哪些步骤呢?不同的业务场景下,企业该如何选择?本文将介绍 AWS 各种常用数据库特性,以及如何满足客户不同业务需求,并列举数据库迁移案例为大家演示如何轻松便捷地把数据库迁移上云。 一、AWS 数据库概览 在这个互联网极其发达的时代,我们每个人会接收以及生产各式各样的信息,数据的重要性已经渗透到每个角落,成为每个行业发展和变革的必要元素。我们日常使用的手机应用,比如微信、支付宝、微博等,里面的数据都是需要数据库来进行存储,不同的应用会使用不同类别的数据库,甚至同一个应用可能同时使用多种数据库。 应用离开了数据库就像鱼儿离开了水,由此可见数据库在当今互联网的重要性。我们甚至可以说当今世界最宝贵的资源不再是石油,而是数据。随着业务的快速发展,全球化业务新兴需求增加,本地传统数据库已经无法为快速发展的业务提供支持,我们需要探索一种新的方式,把本地数据库迁移到云中,利用云中数据库的优势来解决本地数据库中遇到的瓶颈问题。 我对各家云厂商数据库种类做了一个比较,发现 AWS 为用户提供的数据库种类最为丰富,几乎把所有数据库相关的应用场景都捕捉到了。下面通过一个列表,来浏览一下 AWS 的数据库种类,其中关系型数据库最为丰富,也是目前应用使用最多的数据库。 以上这些数据库由 AWS 完全托管,用户不用去管理底层硬件系统升级维护等相关工作,这也是推荐使用全托管数据库而非自建数据库的原因。为了方便客户数据库迁移上云,AWS 还为客户提供了非常方便的迁移工具 DMS,帮助用户轻松经济高效的完成迁移任务。 那么面对这么多种类的数据库,尤其是一些新型数据库,我们从来没有使用过,我们该如何选择?我们需要从业务场景为出发点来分析使用哪种数据库,下面我对 AWS 数据库的使用场景做个简单的介绍,也让大家对 AWS 各种数据库的应用场景有一个大致了解。 数据库种类 应用场景 关系数据(RDS) 传统应用程序、ERP、CRM 、电子商务 键值数据(DynamoDB) 高流量 Web 应用、电子商务系统、游戏应用程序、微服务 宽列数据(Keyspaces) 用于设备维护、队列管理和路线优化的大规模工业应用程序 文档数据(DocumentDB) 内容管理、目录、用户配置文件、移动和 Web 应用程序 内存数据(ElasticCache) 缓存、会话管理、游戏排行榜、地理空间应用程序 图数据(Neptune) 欺诈检测、社交网络、推荐引擎、知识图谱 时序数据(Timestream) IoT 应用、开发运营和工业遥测 分类账数据(QLDB) 系统记录、供应链、注册、银行事务 初步了解 AWS 各项数据库的应用场景之后,我们详细介绍 AWS 各项数据库特性,以及 AWS 数据库如何满足用户在各种业务场景下面的需求。 数据库家族 关系型数据库 关系型数据库是起源非常早的数据库,也是目前各种应用使用最多的数据库。我们使用各种应用都需要注册用户,这些用户数据存放在关系型数据库里面;你在电商网站下了一个订单,订单也是存放在关系型数据库里面;我们访问的网站,其后台数据也是存放在关系型数据库里面。所以说关系型数据库无所不在。 说到 AWS 的关系型数据库,那不得不说一下 Amazon Aurora,Aurora 是 AWS 专为云而打造的云原生数据库,它兼容 MySQL 和 PostgreSQL,它可以支撑我们各种关系型数据库的应用场景,性能好、易扩展、安全、便于管理,Aurora 如此好用,也依托于它下面的一些特性: 性价比:吞吐量为标准 MySQL 的五倍,标准 PostgreSQL 的三倍,成本只有商业数据库的十分之一。 扩展性:基于共享存储,主从复制延迟很低,可跨三个可用区扩展至最多 15 个只读副本。 可用性与持久性:具有容错能力的自我修复存储;跨三个可用区建立六个数据副本;持续备份至 S3。 安全性:VPC 网络隔离、静态/传输数据加密、满足大多数地区合规性要求。 全球数据库:数据库跨越多个 AWS 地区同步复制,将数据库置于用户端,可以实现低延迟(典型延迟小于 1 秒)的本地读取和跨区域灾难恢复。 无服务器:可以根据工作负载自动扩容缩容,无需关心底层硬件扩展,适合业务波动的应用。 Aurora 具有很多传统数据库不具有的特性,这样让 Aurora 成为关系型数据库的首选。不过如果你不想更换数据库类型,把本地现有的数据库迁移到云中,AWS 还为用户提供 MySQL、MariaDB、PostgreSQL、SQL Server、Oracle 等关系型数据库,客户可选择相同的数据库引擎进行迁移。并且这些数据库依托于 AWS 强大的基础设施和管理,同样安全稳定。 如果 Aurora 非常吸引你,而你现在用的是 SQL Server 或者 Oracle,那该怎么办?不用担心,AWS 为客户提供了 Schema Conversion Tool、DMS这2个服务,可以帮助客户评估并且转换数据库对象,非常便捷地将本地数据库迁移到 Aurora。 键值数据库 互联网发展到今天,数据表越来越大,有的应用要求写得快、读的快等需求。关系型数据库已经无法满足我们的需求,因此 NoSQL 数据库也就诞生了。我们把一些不需要关系查询,要求读写快的应用数据放置在 NoSQL 数据库里面来解决性能问题。 考虑到客户的需求,AWS 也为客户提供了自研的 NoSQL 数据库 Amazon DynamoDB,它支持键值存储,也支持文档存储,特别以键值存储为核心,面对海量数据,性能非常强悍。因其由 AWS 完全托管,所以也是无服务器架构中的重要一员。 扩展性:可自动纵向扩展和缩减表,以针对容量做出调整并保持性能,提供任意级别的请求流量。 高性能:对于一般的请求,DynamoDB 在个位数毫秒内可以完成,而且处理请求的速度不会随着数据量的增加而减慢。 分布式:无中心化架构,一个表上的数据可以分布到几百台机器上。 我也在 AWS 官方渠道了解到,汇量科技是一家广告公司,他们也大量使用了 AWS 的服务,尤其是对广告点击的数据,正是采用了 DynamoDB 数据存储,可以支撑 2019 年日均广告请求量 600 亿次,峰值高达 1000 亿次。如此巨大的请求量,放在关系型数据库将无法支撑,由此可见 DynamoDB 在这种应用场景性能多么强悍。 文档数据库 (编辑:应用网_阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |