• 共话云原生数据库的未来


    目录

    前言

    1、王婆卖瓜,吃了再夸

    2、始于颜值,终于才华

    优点:

    2.1无需管理服务器

    2.2、持续扩展

    2.3、亚秒级计量

    缺点:

    3、个人建议

    一、云原生,从村口水井到星辰大海

    1、诞生的背景

    2、云

    3、原生

    4、云原生

    二、数据库,从胡子眉毛一把抓到牵牛鼻子

    1、什么是数据库

    2、数据管理模式变革

    3、简单聊聊数据库Serverless

    3.1无限续杯+最佳能耗

    3.2全球布局,高度容灾

    三、AWS云原生数据库

    1、专库专用,先看看他们家的全家桶

    2、地球是我家,全球数据库就靠它

    3、AI+数据库,轻松训练你的数据模型

    4、华山论剑,实力担当

    5、总结

    四、粉丝福利

    前言

            本次话题,我们先来聊一聊什么是云原生?什么是数据库?最后我将带您一起走进亚马逊云原生数据库,找到那款适合您的云原生数据库。

    1、王婆卖瓜,吃了再夸

            “黄金有价,数据无价”,数据库发展到现在,重要性不言而喻。数据作为企业的一项资产,同时也是企业数字化、信息化运转不可或缺的能源。其能效相当于煤炭、石油、天然气给人们带来的改变。

            作为数据的重要载体,数据库。我们当然希望花最小精力,选择适合自己的,不,应该是让我们惊喜的数据库产品。为了让我们快速熟悉云原生数据库并实际体验一把,特意整理了相关试用产品,邀您一起瞧瞧这个瓜!是否清脆爽口,您吃了才算。

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

    2、数据库免费试用链接及上手教程

    3、云原生数据库在线大会

    2、始于颜值,终于才华

    优点:

    2.1无需管理服务器

            云原生数据库可以自动运行您的代码,无需预置或管理服务器。您只需编写代码并将其上传至云原生数据库。

    2.2、持续扩展

            通过运行代码以响应每个触发程序,从而实现自动扩展您的应用程序。您的代码将并行运行并独立处理每个触发程序,使其按照工作负载的大小精密扩展。

    2.3、亚秒级计量

            使用云原生数据库时,会按代码执行时间(以每 1 毫秒为单位)和代码触发次数收费。代码未运行时,无需支付任何费用。

    缺点:

            唯一的缺点就是较专业的一些视频和文档是英文的,但是对有一定英文基础的同学来说这都不是事,哈哈哈,实在不行咱还有翻译器。

    3、个人建议

            当企业中出现如下问题或场景时,选择AWS云原生数据库,它会给一个满意的全套解决方案。

            1、 当前企业面临着严重的基础设施老旧、自动化程度低、专用工具缺乏和繁重的资本支出的问题。

            2、 企业被传统商业数据库束缚,而难以开展创新, 但仍需要商用数据库的性能。

            3、 运维耗时但价值输出较低,但企业又不得不在这方面耗费精力和成本。

            4、企业拥有TB 级、PB 级的结构化数据和数倍于此的非结构化数据,分布在全球的用户,并以极低的延迟每秒处理数百万个请求。

    一、云原生,从村口水井到星辰大海

            理解云原生先要理解两个关键词——「云」和「原生」。

    1、诞生的背景

            在非云数据库架构中,我们会根据应用系统去搭建数据库,而且必须是紧耦合的设计方式,才能最大效能地发挥系统的优势。举个生活中的例子,我们用水经历的几个阶段,从村口大家共用的水井,到每家每户的水井,到现在我们使用的自来水。为什么会出现这样的演变呢?

            刚开始大家解决的是有水喝的问题,因此众筹在村口老槐树下,打一口水井来解决喝水的问题。很快发现,共用水井存在需要排队、水的质量不好把控、天气干旱的时候经常也喝不到水等等。因此每家每户会根据用水量打一口水井使用,解决了排队问题,但是还是会出现缺水、水井水质很难控制的问题。因为这与传统的数据库系统使用计算、存储资源的方式一样,它是紧耦合的方式。

            水不够了怎么办?对应的,这就是传统数据库系统里经常提到的业务扩容。为了扩容、缩容。传统扩容过程非常漫长,而业务高峰过后缩容也很痛苦,往往会造成极大的资源浪费,也很难应对业务层需要的快速变化能力,这是传统架构非常大的弊端之一。这时人们迫切希望我们不需要自己打水井了,也不需要去考虑水质、水量和有没有水的问题。就想即取即用,按需收费。正是这样就诞生了云原生数据库。

     

    2、云

            云是和本地相对的,传统的应用必须跑在本地服务器上,现在流行的应用都跑在云端,云包含了IaaS,、PaaS和SaaS。「云」就是使用虚拟化的技术将资源池化。水是资源,不用紧耦合的方式来部署和使用,不用家家户户打水井,而是多个村庄、城市联合起来“打”一个湖或海,再修管道连到各家各户,这就是资源池化。资源池化以后可以做到按需按量使用,弹性调度。

            当下,IT 界的最佳技术组合可能就是“云计算 + 人工智能”。云计算解决了扩展性、数据存储、性能等问题,而人工智能技术则大大提高了数据分析和处理效率。

            云计算可以为现代化应用的峰值需求“无限续杯”与平稳运行时的“最佳能耗”。作为云计算模型之一的 Serverless,在理论上可以自动适配应用从零到无穷大的需求峰值,更加擅长解决扩展性的问题(削峰填谷)。Serverless 架构的好处在于可以按需加载,这样应用便不会持续占用资源,只有在请求到达或有事件发生时才会被部署和启动,避免了成本浪费。同时,Serverless 应用原生支持高可用,可以更好地应对突发的高访问量。当数据库也 Serverless 化,就可以实现高度扩展性及容量自动伸缩,做到按量付费、降低支出成本,进一步解放数据库的管理和运维。2012 年亚马逊公司推出的 Amazon DynamoDB 就是 Serverless 数据库。

    3、原生

            原生就是土生土长的意思,我们在开始设计应用的时候就考虑到应用将来是运行云环境里面的,要充分利用云资源的优点,比如️云服务的弹性分布式优势。

            因此企业在设计应用程序时,要充分考虑上云的环境,充分发挥云的优势,让云“土生土长”的能力应用于企业应用的整个生命周期,包括云的快速部署、按需伸缩、不停机交付等。让企业的应用生于云,长于云

    4、云原生

            总的来说,如下图所示云原生=DevOps+持续交付+微服务+容器。即符合云原生架构的应用程序应该是:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。云原生能得到大家的青睐,正是因为这“四大天王”在背后帮忙背书。有兴趣的可以看看四大天王的自我介绍,可以帮助你更深入的了解云原生。

    微服务:几乎每个云原生的定义都包含微服务,跟微服务相对的是单体应用,微服务有理论基础,那就是康威定律,指导服务怎么切分,很玄乎,凡是能称为理论定律的都简单明白不了,不然就忒没b格,大概意思是组织架构决定产品形态,不知道跟马克思的生产关系影响生产力有无关系。

    微服务架构的好处就是按function切了之后,服务解耦,内聚更强,变更更易;另一个划分服务的技巧据说是依据DDD来搞。

    容器化:Docker是应用最为广泛的容器引擎,在思科谷歌等公司的基础设施中大量使用,是基于LXC技术搞的,容器化为微服务提供实施保障,起到应用隔离作用,K8S是容器编排系统,用于容器管理,容器间的负载均衡,谷歌搞的,Docker和K8S都采用Go编写,都是好东西。

    DevOps:这是个组合词,Dev+Ops,就是开发和运维合体,不像开发和产品,经常刀刃相见,实际上DevOps应该还包括测试,DevOps是一个敏捷思维,是一个沟通文化,也是组织形式,为云原生提供持续交付能力。

    持续交付:持续交付是不误时开发,不停机更新,小步快跑,反传统瀑布式开发模型,这要求开发版本和稳定版本并存,其实需要很多流程和工具支撑。

    二、数据库,从胡子眉毛一把抓到牵牛鼻子

    1、什么是数据库

            数据库专业的来说,其实就是一种电子的仓库,是专门储存数据和管理管理数据的一种处所,用户可以对数据库中的数据进行新增和更新或者删除等操作。数据库是应用和硬件之间的中间层,用于数据管理的软件应用。举个栗子。你手机的通讯录就是一个数据库,用来保存与朋友、同学联系的方式。

            数据库发展史大约为50年,前30年多年主要发展方向为集中式数据库,集中式数据库方向发展出IBM、Oracle、微软等巨头。从闭源产品发展出开源数据库产品,开源数据库发展迅速,并且有赶超闭源数据库的趋势。业务量的增加导致了数据库向分布式方向转型,同时,云计算的快速发展使得数据库纷纷云化。

            到2022年为止数据库方兴未艾,涌现出一批批优秀的数据库产品和数据库供应商。其中开源数据库以MySQL、PostgresSQL为代表,优秀数据库供应商以AWS、甲骨文为代表。

    2、数据管理模式变革

            数据作为应用系统的“血液”,良好的血液循环会使我们的系统运转顺畅,支撑业务快速蓬勃发展,反之,不好的血液循环,会让数据库成为我们的应用瓶颈,循环不畅,导致应用体验感差,应用堵塞不通,最后也会导致应用破产。为了解决这一状况,我们必须解决两大问题,一是“能用”二是“好用”。

            “能用”即我们要做好日常维护做好备份隔离等等,“好用”就是高性能,低延迟等,让用户体验不到因数据库带来的延迟。因在传统的自管模式下,做到“能用”就已经阿弥陀佛了。

            因单单为了保证能用,我们就必须做好日常维护、打补丁、数据库备份、数据隔离与安全、最佳配置调整等等工作。但老板和用户关注的只是数据带来的背后的价值,因此客户必须花更多精力关注模式设计、查询构建、查询优化这些应用相关的事情。

            在这种大环境下,客户希望将底层这些又苦又累的活托管出去,或者最好能智能化运维。因此如AWS云厂商推出了相关托管和Serverless(无服务器)服务,解放客户双手,让客户聚焦应用,为企业发展降本增效。不再胡子眉毛一把抓,只需要抓住应用的牛鼻子。在自己业务领域绽放更绚丽的光彩。如图使用AWS的云原生数据库后我们的数据库管理只要专注后面红色的一小块即可。是不是感觉抓到了救命稻草,迫不及待想买买买了。先别急听我慢慢说,慢慢带您领略AWS的魅力。(PS:相关购买福利我也整理好在文末了,欢迎选购。)

    3、简单聊聊数据库Serverless

            当前数据库无服务器也是大火了一把,正因为它的灵活性,获得一致的好评,如孙悟空的如意金箍棒一般,如意如意,听我心意。下面以Aurora Serverless V2为例,具体讲讲Serverless的几个特点。                

    3.1无限续杯+最佳能耗

            Aurora Serverless V2支持即时原地的扩展特点,当我们举办类似促销,大型的压力测试时,我们肯定希望我们的应用能像平时晚上2点一个低应用场景的性能,这时候就需要我们的服务器有足够的资源来支撑这些高应用场景。如下图所示Aurora Serverless 就可以在秒级内完成服务器配置适配,而不影响现有应用。这正是前面提到的“无限续杯”的操作。

            一般来说向上扩展相对简单,只要加配置就行。但当我们需要缩放的时候,怎么在不影响应用的情况,巧妙完成配置的缩放呢?如缓冲池通过使用最不经常使用(LFU)和最近最少使用(LRU)算法的组合来平滑缩放。这样就保证了应用的同时,保持“最佳能耗”

    3.2全球布局,高度容灾

            当我们进行全球业务时,或者我们需要快速处理主数据库宕机问题时,怎么保证当我们主区域的数据库服务宕了后,快速切换呢?同时为了节约成本,我们从区域的配置一般是主区域的1/5左右,这时候如果在传统数据库架构下,是很难去快速切换和容灾。正因为Serverless也支持read log通过读取主区域的运行日志,保持两边的数据一致,加上Serverless的快速扩展,就可以保证在秒级情况下,从区域变成了主区域的配置进而保证了应用,也就最大降低了系统应用的风险。

    三、AWS云原生数据库

    1、专库专用,先看看他们家的全家桶

    图3.1AWS云原生数据库全家桶

    图3.2AWS云数据库服务

            因目前没有哪一款数据库可以满足我们所有的需求,比如我们在夏天穿的特好看的裙子在白雪皑皑的冬天来穿,估计就够呛了。因此我们会根据我们的需求来选搭我们的衣服。同样的我们也可以根据我们的应用需要来选择合适的数据库服务,比如当我们企业以传统的ERP应用为主,我们这时候就可以选择AWS的Aurora/RDS来托管我们关系型数据库;当我们的应用聚焦特定场景,但有超高流量,如电商购物,游戏对战等这时候我们可以选择AWS的DynamoDB或者内存服务器来满足我们的高频应用场景等等。

    2、地球是我家,全球数据库就靠它

            如今经济、互联网和工业的快速发展,很多企业的业务已拓展至国外,为了应对高速发展的国际化业务。如果此时企业在国外去布局自己本地化的服务器应用,那估计等你建好了,别人已经开始降维打击你了,同样的公司老板、财务怕是也会经常找你喝茶算账了。此时选择一家成熟的国际化供应商来协助,一键部署,何乐而不为呢?省去你身后无数烦心事,斩断万千烦恼丝。

     

            如图所示,AWS全球数据库,跨区域复制延迟都在秒级,跨区域故障切换不超过1分钟,并支持利用骨干网,一键部署,是不是爱了爱了。

    3、AI+数据库,轻松训练你的数据模型

            AI在当前是火的一塌糊涂,但是我们企业想做,但是又畏首畏尾,因为这个东西,需要强大的人才储备支撑,容易肉包子打狗。当然AI给企业带来的增效,也是不可否认的,企业通过现有的数据库资源和AI算法来不断优化自己的数据模型,让对应的数据模型更贴合企业的应用,从而来辅助决策,指导生产。这正是无数企业所追求的,因此企业急需一款低门槛的AI开发服务。 哈哈,没错AWS也帮我们想到了,下面我们来看看AWS在AI结合方面都做了啥吧。

            如图所示,数据库开发者不需要具备机器学习的专业知识,即可进行机器学习的操作。通过AI组件和数据库集成,将AI的成果反馈至数据库中,通过简单SQL语句进行查询应用。

    4、华山论剑,实力担当

             如图所示AWS的Aurora对比MySQL在性能上有5倍提升,较PostgreSQL有3倍提升。支持跨区域灾备,支持最多15个副本,自动扩展,在提高商用级数据库性能的同时,成本只有商用数据库的1/10,并且根据用量付费,这搁谁,谁不心动。安排!!!

    5、总结

            1、AWS的组件使用非常的方便,整个开发过程也可监控,全程可视化配置。AWS的默认配置是根据常用开发场景进行设置的,因此可大大提高开发效率。而AWS的组件的高度集成不得不让人竖起大拇指。

            2、我们可根据我们业务实际情况,选择不同的产品更好适配业务的发展。

            3、 不管哪种产品,AWS都提供了托管服务和基础架构组件。架构现代化是一切创新的基石,其最重要的理念是“The right tool for the job”,即在不同的场景使用专门构建的工具,而专门的工具需要专业的现代化托管平台,这些都可以大量节省企业的时间、金钱和精力。 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.com/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云服务

  • 相关阅读:
    RabbitMQ真实生产故障问题还原与分析
    Spring中@Bean标注的方法是如何创建对象呢?
    iPhone手机分辨率整理
    基于Python的学生成绩在线选课管理系统设计与实现-计算机毕业设计源码+LW文档
    线性回归法学习笔记
    又现信息泄露事件!融云揭秘通讯安全守护之道
    一个中东外贸业务员分享的干货
    基于Springboot健身会员俱乐部管理系统设计
    【实验1:RT-Thread环境搭建+IIC光线传感器实验】
    C++秋招经验贴
  • 原文地址:https://blog.csdn.net/qq_29061315/article/details/125416764