亚马逊云科技提供了100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量;数据库资源 Amazon RDS 首年12个月免费,750小时;Amazon Dynamo DB 25GB存储容量 永久免费。

1、关于云原生数据库

云的概念

开始之前先说下云的的概念,云这个概念浩浩荡荡的也好多年了,云服务器,云数据库,云服务等等。拨开云雾,通俗点说就是放在远程的服务,但是为啥要叫云呐? 有两方面的特性和云相似,一方面是对服务的感知是无感的,就像天上的云一样,另外一方面就是确实是远程服务,服务和云一样,摸不到,可不就是云呐。

云原生数据库

云原生数据库这个词听起来还蛮唬人的,不如去掉原生这两个字,可以简单的理解为云数据库,不去考虑他背后的复杂技术,只从使用方面来说,就是放在别处的一套数据库系统,对于开发者来说是无感的,该咋做咋做,并没有区别。

 

云原生数据库的原生体现在哪里呐? 在这个云服务的年代,云原生数据库就是伴随着云服务的出现而产生,底层依赖于一些云服务,云服务器承载数据库并且配上一些管理系统,解决传统数据库的痛点,将数据库和云的优点发挥出来。

2、传统数据库和云原生数据库的技术对比分析

传统数据库

优点

每个做后端的同学都接触过数据库,我们在开发的时候经常就是直接在本机安装一个数据库,然后就直接使用了,是不是也很轻松? 不用考虑什么其他的东西,等服务上线后数据库让运维去管理,这是我们开发的常态,也是一种高效的开发方式,毕竟数据库直接在我们本地,我们可以肆意妄为,以业务为首要目标,比如我们常用的redis,mysql数据库,你关心他的配置吗? 你关心他的备份吗?你关心他数据量吗?反正我是不关心,我只管用,开发效率贼高,部署方便。

缺点

传统数据库对开发同学很好,待到服务上线后存在一些问题,比如:维护难,安全难保证,扩展难,机器故障处理困难,交付麻烦。

1.维护难

生产数据安全第一,容不得闪失,维护数据的安全性,制定合理的备份策略,在真正发生问题时需要修复数据,恢复数据的时候,是需要大量经验和技术的,这个时候需要专业的运维人员DBA去操作,这对一些轻量级创业公司来说,可能无法满足这样的条件,导致线上的数据库时刻存在着险,成本太高。

2.硬件成本高,扩展难

自建数据中心的话硬件成本高,为了处理峰值的业务可能会购买过量的硬件设备,自购服务器搭建的传统数据库需硬件采购、机房托管、部署机器等工作,周期较长。

3.资源利用率低

因为峰值业务存在,在平常业务量不大的情况下,可能会造成资源利用率低,无法进行资源的合理利用,造成资源浪费。

4.机器故障处理难

自建数据中心在面对机器故障的时候,无法很好的进行业务切换,需要耗费大量的人力物力。

5.交付困难

在传统的开发模式下,交付困难,经常遇到这样那样的问题,环境问题无法屏蔽,造成大量的时间去处理环境问题。

云原生数据库技术解析

长江后浪推前浪,后出现的云原生数据库解决了传统数据库的痛点,同时又将云服务的优点发挥出来,还不赶紧上车? 起飞!

1.安全性高,维护简单

云原生数据库自带了防DDos攻击流量清洗等功能。你自己家不好做吧?

于云原生的数据库,可以自行修复数据库安全漏洞,节省了技术人员的费用。你自己家会做吗?

云原生数据库的数据安全性由厂家保障,非常专业,你自己家养不起吧

2.弹性,资源利用率高

云服务的优点就是可以随时采购自己需要的服务,云原生数据库也是同样,想怎么买就怎么买,想买多少就买多少,不比自己吭哧吭哧的买服务器部署方便的多?就是这么任性,就是这么方便。

首先,整合计算资源,将计算资源池化,通过虚拟机按需使用计算资源;其次,按量计费,让用户能够根据使用量按月按时甚至按秒来进行付费,省钱

3.扩容简单

用户可以利用应用软件的快速部署条件来更为简单快捷的将自身所需的已有业务以及新业务进行扩展。如计算机云计算系统中出现设备的故障,对于用户来说,无论是在计算机层面上,亦或是在具体运用上均不会受到阻碍,可以利用计算机云计算具有的动态扩展功能来对其他服务器开展有效扩展。这样一来就能够确保任务得以有序完成。在对虚拟化资源进行动态扩展的情况下,同时能够高效扩展应用,提高计算机云计算的操作水平,安心

4.交付简单

云原生应用的交付一定是按照标准交付,可以在云端任何支持标准的位置部署,这样就与位置和环境无关,同时构建应用所需要的依赖包、配置文件和后端服务等都是和应用构成一个整体,开发简单,交付简单。

3、云原生数据库的选择

上面说了很多云原生数据库的优点,可以看到这是大势所趋,完全没有必要劳心劳力的自建数据中心,关键还做不好,云平台一解千愁。但是云平台厂商很多,怎么选择厂商?需要根据自己的业务需求结合每家厂商的特点,长处进行选择。

这里说下云厂商的领头羊:亚马逊云,也是在工作中使用的,因为亚马逊云是全球覆盖,可以更好的适应全球化需求,游戏出海赚美刀,真香,同时AWS 提供齐全的专用数据库,能更快速地实现节省、发展和创新,下面看下AWS云原生数据库的几个优势。

AWS云原生数据库优势

专门构建

从超过 15 个专门构建的数据库引擎中进行选择,包括关系数据库、键值数据库、文档数据库、内存中数据库、图形数据库、时间序列数据库、宽列数据库和分类账数据库。

规模性能

获取速度为常见替代数据库 3-5 倍的关系数据库,或为您提供微秒至亚毫秒延迟的非关系数据库。

完全托管

AWS 会持续监控您的集群以使用自我修复存储和自动扩展保证工作负载运行,使您可以专注于应用程序开发工作。

安全且高度可用

AWS 数据库针对关键业务型企业工作负载构建,提供了高可用性、可靠性和安全性。

 

综述:AWS 牛逼!开发者只要专注于业务的开发,后勤部分由云厂商解决。

4、Amazon MemoryDB for Redis

这里介绍下AWS的redis 数据库,因为我们游戏主要用来做排行榜,跨服功能,发布订阅的功能,是非常重要的组件,你们在工作中是怎么使用的呐?留言我😁。

MemoryDB of Redis 是一种持久的内存中数据库服务,可提供超快的性能。它专为具有微服务架构的现代应用程序而构建。

MemoryDB 与 Redis 兼容,和 Redis 数据结构、API 和命令快速构建应用程序。使用 Memory DB,所有数据都存储在内存中,能够实现微秒读取和单位数毫秒的写入延迟和高吞吐量。MemoryDB 还使用多可用区事务日志跨多个可用区 (AZ) 持久存储数据,以实现快速故障切换、数据库恢复和节点重启。

Memory DB 既具有内存中的性能和多可用区持久性,可用作微服务应用程序的高性能主数据库,从而无需分别管理缓存和持久数据库。

MemoryDB 的功能包括

  • 主节点的一致性强,并保证副本节点的最终一致性。
  • 微秒读取和一位数毫秒写入延迟,每个集群高达 1.6 亿 TPS。
  • 灵活友好的 Redis 数据结构和 API。几乎无需修改即可轻松构建新应用程序或迁移现有 Redis 应用程序。
  • 使用多可用区事务日志实现数据持久性,提供快速数据库恢复和重启。
  • 具有自动故障切换功能的多可用区可用性,检测节点故障并从中恢复。
  • 通过添加和删除节点轻松水平扩展,或者通过移动到较大或较小的节点类型进行垂直 您可以通过添加分片来扩展写吞吐量,并通过添加副本来扩展读取吞吐量。
  • Read-after-write主节点的一致性以及保证副本节点的最终一致性。
  • MemoryDB 支持传输中的加密、静态加密和通过使用访问控制列表 (ACL) 对用户进行身份验证.
  • Amazon S3 中的自动快照,保留时间长达 35 天。
  • Support 每个群集多达 500 个节点和超过 100 TB 的存储空间(每个分片有 1 个副本)。
  • 使用 TLS 进行传输中加密和静态加密AWS KMS钥匙。
  • Redis 的用户身份验证和授权使用访问控制列表 (ACL) 对用户进行身份验证.
  • 对该项的支持AWSGraviton2 实例类型。
  • 与其他公司集成AWS服务,例如CloudWatch,Amazon VPC,CloudTrail,以及用于监控、安全和通知的 Amazon SNS。
  • 完全托管的软件修补和升级。
  • AWS针对管理 API 的 Identity in Access Management (IAM) 集成和基于标签的访问控制。

总结:功能可真多,想的到的,想不到的都有,全面!专业!

MemoryDB 核心组件

知其然知其所以然,这里说下MemoryDB 的核心组件。

节点

一个节点是 Memory 部署的最小构建块,并使用 Amazon EC2 实例运行。每个节点都运行创建集群时选择的 Redis 版本。节点属于属于群集的分片。

每个节点都以您创建集群时选择的版本运行引擎实例。如果需要可以将集群中的节点纵向扩展或缩减到不同的类型。集群中的每个节点都具有相同的节点类型。支持多种类型的节点,每种类型的节点具有不同的内存量。

分片

分片是由 1 至 6 个节点组成的组合,其中一个用作主写入节点,另外 5 个节点用作只读副本。MemoryDB 集群始终至少有一个分片。MemoryDB 集群最多可以有 500 个分片,您的数据分区在分片之间。例如,您可以选择配置一个 500 节点的集群,范围介于 83 个分片(一个主分片和 5 个副本分片)和 500 个分片(一个主分片,无副本分片)之间。确保可提供足够的 IP 地址来满足增长需求。常见的陷阱包括子网组中的子网 CIDR 范围太小,或者子网被其他集群共享和大量使用。

访问控制列表

访问控制列表是一个或多个用户的集合。访问字符串跟随 RedisACL 规则授权用户访问 Redis 命令和数据。

参数组

参数组是为集群上管理 Redis 运行时设置的简单方法。参数用于控制内存使用率、项目大小等。MemoryDB 参数组是可应用于集群的特定于引擎的参数的命名集合,并且该集群中的所有节点都以完全相同的方式进行配置。

Just try it

说再说都没用,去体验下吧,反正是免费的。

1. 数据库免费试用链接及上手教程:上手试用

2.云原生数据库在线大会:云原生数据库在线大会

5、云数据库的趋势分析

如果把公有云厂商比作高速公路公司,那么高速公路就是公有云平台,在高速公路上尽情奔跑的汽车如同云原生应用。

云数据库的未来往哪个方向? 个人认为有些东西还可以做的更好,比如云数据库和分布式相结合,降低开发者的使用门槛,最终数据库进一步不区分类型,不必关注是关系型数据库还是非关系型数据库或者是其他类型的数据库,只是当做一个仓库,数据的类型由厂商定义,同时进一步保障数据安全性,以及进一步降低成本,随着云服务厂商的发展有些已经能够看到,有些还是需要继续优化,创新。

总结

企业:云时代各种服务都要上云,不仅仅因为便利,也节省成本,并且高效,安全。

厂商:云服务器厂商的服务也是越来越齐全,aws作为云时代的开创者,在云服务上一直处于领先的位置,云原生数据库的技术也是前沿的,建议大家体验下,试试你就知道香不香了。

开发者:作为开发者早点学习云原生数据库的使用,站在风口,就算是猪也能起飞,不是吗?

粉丝福利

亚马逊云科技专为开发者们打造了多种学习平台:

1. 入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。AWS入门_AWS入门使用教程_AWS云计算资源-AWS云服务

2. 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。AWS架构中心部署说明_AWS云架构白皮书-AWS云服务

3. 构建者库:了解亚马逊云科技如何构建和运营软件。Amazon Builders' Library*all&awsf.filter-content-type=*all&awsf.filter-content-level=*all&trk=835e6894-d909-4691-aee1-3831428c04bd&sc_channel=el

4. 用于在亚马逊云科技平台上开发和管理应用程序的工具包:aws工具下载_aws开发工具_资源下载-AWS云服务

【专属福利】

福利一:100余种产品免费套餐。其中,计算资源Amazon EC2首年12个月免费,750小时/月;存储资源 Amazon S3 首年12个月免费,5GB标准存储容量。

https://aws.amazon/cn/free/?nc2=h_ql_pr_ft&all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=*all&awsf.Free%20Tier%20Categories=*all&trk=e0213267-9c8c-4534-bf9b-ecb1c06e4ac6&sc_channel=el

福利二:最新优惠大礼包,200$数据与分析抵扣券,200$机器学习抵扣券,200$微服务与应用开发抵扣券。最新优惠活动_云服务器促销 - 亚马逊云科技

福利三:解决方案CloudFormation一键部署模版库

云服务解决方案部署快速入门_云服务部署-AWS云服务

更多推荐

云原生数据库:数据库的风口,你也可以起飞