• 探索云原生数据库,纵观未来科技发展


    开头送个粉丝小福利:白嫖百种云服务

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

    点击这里直达

    话不多说,福利懂得都懂,该领的都去,开始进入正题~

    一:云原生与数据库的不解之缘

    云的概念

    在我们大部分人眼中,云,也就是大气中的水蒸气遇冷液化成的小水滴或凝华成的小冰晶,所混合组成的漂浮在空中的可见聚合物。仅此而已,曾经我也是如此认为。

     直至到长大以后了解到了并且使用到了云主机,云电脑,云硬盘,云...才逐渐转变了自己的价值观,云计算毋庸置疑,已经成为IT行业的一个代名词,基本上现在的行业状况是万物皆可云上

    随着万物皆可云的进一步发展,云原生这个概念火了起来,数据库厂商也渐渐电脑开始上云。

    DB数据库想必大家都听说过了解一二或者有的人正在从事这个行业。

    数据库的概念

    数据库是用来存取数据的,这里的数据包括很多包括图片、字符串等。数据库的存储空间很大,可以存放百万条、千万条甚至上亿条数据,用户可以对数据库中的数据进行新增、查询、更新、删除等操作。

     大家常用数据库有mysql、oracle、sqlserver、sqlite等等

    数据库免费试用链接及上手教程点击直达>:数据库免费试用链接及上手教程

    也就是既然大家都知道了数据库这个东西,哪到底什么是云原生数据库呢?

    1.先来说什么是云原生?

    不得不说,直到今天,关于云原生的定义仍然没有一个确切和统一的说法。经过大量的搜索发现全球知名非营利性组织CNCF (Cloud Native Computing Foundation)云原生计算基金会的官方对云原生的定义是这样说的:

    云原生计算基金会CNCF对于云原生定义:

    云原生技术使组织能够在公共、私有和混合云等现代动态环境中构建和运行可扩展的应用程序。容器、服务网格、微服务、不可变基础设施和声明式 API 就是这种方法的例证。

    这些技术支持具有弹性、可管理和可观察的松散耦合系统。结合强大的自动化,它们使工程师能够以最少的工作频繁且可预测地进行高影响力的更改。

    刚看到是不是有些的懵圈?我也是如此,官方使用了大量的技术名词去描述,让人看的似懂非懂,好像知道,又好像不知道,反正不知道它究竟是用来干什么的。

    2.字面意思去解读云原生:

    • 经过了我翻阅相关的文档以后,尝试着从字面意思来解读:

    • 云原生中的“云”表示存在于云中,而不是传统的部署于本地。

    • 比如某某云盘中的文件就在云中,而不是存储在用户电脑的硬盘中。

    • “原生”则代表着应用从设计环节便考虑到要在云环境的因素,所以为云设计,在云上运行。

    • 也就是说云原生是生在云上,长在云上,也应用于云上

    • 也可以说是本地化产出,就好比mode in China,只要是我们中国生产的东西,就会印上mode in China这个表示,云原生就是如此,在云上产出,在云上应用。

    • 了解了云原生,那么想必大家看到这里也大概知道了云原生数据库的大概意思了吧~

    • 接下来让我们看看云原生数据库到底有啥火的?

    云原生数据库在线大会点击直达>:云原生数据库在线大会

    二:盘点云原生数据库的前世今生

    a.云原生数据库的意义:

    云上技术包括虚拟化技术,动态可扩展,按需使用,弹性使用,动态调度,自动伸缩等优势。云原生数据库全盘吸收云上技术的优势,云原生数据库融合了传统数据库和云计算技术的优势,克服传统数据库的存储量受限、扩展难、主从延迟高等缺点。

    b.云原生数据库的发展:

    因为云原生数据库是完全存在于云上的,所以它可以随时随地的从多前端访问,提供云服务的计算节点。因其集群部署在云上,所以单点失败对服务的影响特别小。而且当需要升级或更换服务的时候,可以对节点进行不中断服务的逐渐升级。能帮助从事科技行业的个人及其企业大大降低IT成本,提高创造更高的效率。

    c.数据库成本与效率逼迫存算分离的诞生:

    云原生数据库随着科技的不断发展,随着大数据系统建设的深入,数据基础设施面临两个问题:

    • 一个是成本问题,随着累积的数据量的增大,大数据业务量的增多,数据存储和处理的成本越来越高,数据基础设施的投资变大。

    • 另一个是效率问题,大数据处理组件多,不同组件使用不同的数据处理格式,多样化的数据格式导致数据存储变得复杂,系统中应对不同的场景,往往同样的数据需要存储多份,不同组件之间还需要大量的数据拷贝和格式转换,消耗大量的资源。.

    这两个问题该如何解决是好呢?这时候有人提出了存算分离尝试解决这两个难题!

    好,有的人会问了:什么是存算分离呢?

    三:云原生数据库的存算分离:

    1.关于存算分离的划分:

    其实上存储和计算的边界其实是不清晰的,计算过程中计算和存储实际上是分离不开的,不过网络带宽和性能提升的当下,提供了一定程度分离的讨论基础。计算”就是计算过程需要的CPU和内存等,“存储”是需要持久化的东西

    2.为什么要计算和存储分离?

    • 无论是计算先达到瓶颈,还是存储先达到瓶颈,两种状况虽然不同,时间点也不一致。但通常不管那种情况都是加机器,因此就会存在不少浪费。

    • 扩展不容易:计算和存储耦合模式下,存储扩展通常迁移大量数据,不方便。

    3.存算分离的好处:

      通过分离存储资源、计算资源,可以独立规划存储、计算的资源规格和容量。这样计算资源的扩容、缩容、释放,均可以比较快完成,并且不会带来额外的数据搬迁的代价。存储、计算也可以更好的结合各自的特征,选择更适合自己的资源规格和设计。

    四:云原生数据库的存算分离:

    以上了解了什么是存算分离,无独有偶,也就是在2003年左右,由Google发布GFS和MapReduce论文为节点拉开了大数据处理技术的序幕,文中介绍了一种利用普通PC服务器构建大规模分布式系统,来解决海量数据的存储和计算问题的方法。

    此后,Apache基金会开发的分布式Hadoop开源体系,逐步成为处理大数据的一种通用技术框架——这是一种存算耦合的架构,其本质的出发点是在网络带宽不足的条件下,尽可能的减少数据的移动。这种技术框架第一次实现利用集群的计算和存储能力,对大量数据进行可靠、高效、可伸缩的分布式高速运算,被企业广泛采纳,成为炙手可热的技术之一,甚至也被看作是一种前沿技术标准。

    这种存算分离架构标准目前被广泛应用发展创新,促进未来科技的不断进步。

    五:个人应用的直观感受:

    个人在公司工作时候,我们都运用mysql等本地数据库进行开发,但是经过技术的发展以及各多方面比较发现,传统数据库的存储量受限、扩展难、主从延迟高等缺点。于是乎,公司要求我们寻找一种云数据库并且带有存算分离架构的数据库,经过多方面的考虑以及探讨,无独有偶,我们发现了亚马逊的Aurora数据库!

    六:亚马逊推出存算分离的Aurora!里程碑式的出现!

     亚马逊推出了 Aurora!它里程碑式的出现奠定了存算分离的发展!

    Amazon Aurora的问世:

     Aurora于2014年11月12日在拉斯维加斯举行的亚马逊发明大会上宣布。它于2015年7月27日正式发布,并作为一项服务在AWS中使用,并被添加到亚马逊关系数据库服务中。

    Amazon Aurora的特征:

     1.Aurora的计算节点和存储节点分离,分别位于不同的VPC(Virtual Private Cloud)中。这是Aurora架构最亮眼之处。

    2.与 MySQL 和 PostgreSQL 兼容,Aurora 是专为云构建的一种兼容 MySQL 和 PostgreSQL 的关系数据库,它既具有传统企业数

    库的性能和可用性,又具有开源数据库的精简性和成本效益。

    3.高性能,Aurora 的速度可达标准 MySQL 数据库的五倍、标准 PostgreSQL 数据库的三倍。Amazon Aurora 由 Amazon Relational Database Service (RDS) 完全托管,Amazon RDS 可以自动执行各种耗时的管理任务,例如硬件调配、数据库的设置、修补和备份。

    4.可扩展性,Amazon Aurora 还采用分布式、有容错能力并且可以自我修复的存储系统,这一系统可以使每个数据库实例最高扩展到 128TB。它可实现高性能和高可用性,支持多达 15 个低延迟读取副本、时间点恢复、持续备份到 Amazon S3,以及跨三个可用区 (AZ) 复制。

    5.高度安全,Amazon Aurora 可以为您的数据库提供多个级别的安全性。其中包括:使用 Amazon VPC 进行网络隔离,使用您通过 AWS Key Management Service (KMS) 创建和控制的密钥执行静态加密,以及使用 SSL 对动态数据进行加密。在加密的 Amazon Aurora 实例上,底层存储中的数据会被加密,在同一个集群中的自动备份、快照和副本也会被加密。

    Amazon Aurora的应用:

    自 2014年推出以来,已有数万亚马逊云科技客户选择用 Amazon Aurora处理关键任务的工作负载,对于任何可以使用关系数据库的企业应用程序,Amazon Aurora 都是不错的选择。与其他商用数据库相比,Amazon Aurora 可以帮助提高数据库的可靠性和可用性。Amazon Aurora 属于完全托管式服务,能够帮助您处理耗时任务,例如调配、修补、备份、恢复、故障检测和修复,从而节省大量时间。

    SaaS 应用程序通常使用多租户体系结构,这需要在实例和存储扩缩方面具有极大灵活度、高性能和可靠性。Amazon Aurora 在托管式数据库产品中提供了所有这些功能,帮助 SaaS 公司专注于构建高质量的应用程序,而不必担心为应用程序提供支持的底层数据库。

    为大规模运行而构建的网络和移动游戏需要一个具有高吞吐量、巨大存储可扩展性和高可用性的数据库。Amazon Aurora 满足了如此苛刻的应用程序需求,能够为未来的增长提供足够的空间。由于 Amazon Aurora 没有任何许可限制,因此它完全符合这些应用程序的各种使用模式。

    移交容量管理,只支付使用瞬时和精细扩缩所消耗的容量,从而节省高达 90% 的成本。

    Amazon Aurora的发展:

    在AWS的官网,声明了“兼容 PostgreSQL的Amazon Aurora”如下:

    AmazonRelational Database Service (Amazon RDS) 正在提供 Aurora(PostgreSQL) 预览版,即兼容 PostgreSQL 的 Amazon Aurora。Aurora 是一种完全托管的、兼容 PostgreSQL 和 MySQL 的关系数据库引擎。

    单从字面看,Aurora不再是MySQL,而是MySQL+PostgreSQL,所以将来将会是 “MySQL+PostgreSQL+...+...”,各种数据库都将融于Aurora当中。这样提供强大无比的云数据库服务,此点非常重要,用户基于任何数据库的应用均不用修改应用的代码,无缝接入Aurora。

    未来数据库皆可融入Amazon Aurora,

     Amazon Aurora与MySQL 的对比实验:

     经过我们公司的使用以及测试得出:

    1.在兼容性方面:完全兼容,连接⽅法甚⾄配置参数都⼀致。

    2. 读写性能方面:Aurora是Mysql的8倍左右。

    3.部署⽅式方面:Aurora和Mysql⽀持单区域和多区域部署。

    4.存储方面:Aurora无需事先指定存储大小和IOPS,根据实际数据量以每10GB自动扩展,存储最大容量可达64TB。这省去了磁盘容量或者IO不足时,需要扩容而带来的影响。

    Aurora只支持Innodb存储引擎。如果需要用到MyISAM,那么还是适合使用RDS Mysql。

    5.扩展性方面:Aurora最多支持15个只读副本,相比Mysql 5个副本有很大提高。Aurora的只读副本有reader endpoint,能够对只读请求做负载均衡。对于应用程序来说,只需指定只读endpoint,就无需再考虑只读副本的流量均衡与故障切换。而Mysql还没有提供只读副本的负载均衡功能,需要在应用程序和数据库之间,加入中间件,或者在应用程序加入逻辑,把请求尽量平均分配给数据库只读副本。否则,一旦Mysql只读副本出现故障,域名或者IP会变化,应用程序端还需要调整。

    Aurora还支持Autoscaling自动扩展,根据CPU使用率或连接数,超过指定阈值时,自动增加只读副本,以满足业务变化的需求。

    6.可靠性方面:Aurora写入时自动复制数据到3个AZ的6个副本,持续把日志和数据备份到更可靠的S3,数据不会丢失。自动故障恢复,能在主节点出现故障时,自动提升只读副本为主节点,实现数据库高可用。

    Aurora还有快速恢复等功能,即使在数据库需要恢复时,也能更快启动数据库。

    回溯功能更可以在短时间内恢复到之前的某个时间点,而无需重新恢复新的数据库,这需要更改应用程序指向新的数据库。

    Aurora和Mysql都支持跨区域副本复制。Aurora还推出了Global Database功能,物理层面进行数据复制,相对与Mysql binlog同步,效率更高,跨区域主从延迟能达到1秒以内。

    7.成本方面:Aurora和Mysql的费用都包含流量和备份,这些价格相近。

    目前这只是从这几个方面测试。总得来说Amazon Aurora云原生数据库更胜一筹~

    Amazon Aurora云原生数据库,正在一步步促进未来科技发展!

    看到这里,还不快去文末粉丝福利去体验一下Amazon Aurora?另外还送免费一年的云服务器哦~

    七:文末粉丝福利

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

    1. 入门资源中心:从0到1 轻松上手云服务,内容涵盖:成本管理,上手训练,开发资源。

    点击直达福利

    2. 架构中心:亚马逊云科技架构中心提供了云平台参考架构图表、经过审查的架构解决方案、Well-Architected 最佳实践、模式、图标等。点击直达福利

    3. 构建者库:了解亚马逊云科技如何构建和运营软件。点击直达福利

    4. 用于在亚马逊云科技平台上开发和管理应用程序的工具包:点击直达福利

    【粉丝专属福利】

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

    点击直达福利

    福利二:最新优惠大礼包,200$数据与分析抵扣券,200$机器学习抵扣券,200$微服务与应用开发抵扣券。点击直达福利

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

    点击直达福利

  • 相关阅读:
    Redis的缓存问题(四)将redis常用操作封装成工具类
    新库上线 | CnOpenData中国保险机构网点全集数据
    Cortex-A9 架构
    创建老版本react-native项目,以0.59.10为例(0.60.0之前的版本)
    STM32物联网项目-单极性步进电机28BYJ-48
    数字经济崛起,企业数字化转型的底层逻辑
    2d关键点转bvh fbx
    Git基础知识学习常用命令一
    Kotlin高仿微信-第2篇-登录
    如何在VC++ 6.0中实现拖动指令改变执行路径 (指令飞越)?
  • 原文地址:https://blog.csdn.net/zsx0806/article/details/125412848