《企业考虑云原生分布式数据库的三个原因.docx》由会员分享,可在线阅读,更多相关《企业考虑云原生分布式数据库的三个原因.docx(6页珍藏版)》请在优知文库上搜索。
1、1.云原生云原生”这一概念的提出者MattStine于2017年将云原生归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质.而云原生领域影响力最大最有话语权的组织CNCF1他们给出的定义则是这样的:云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用.云原生的代表技术包括容器、服务网格、微服务.不可变基础设施和声明式API.这些技术能够构建容错性好、易于管理和便于观察的松播合系统.结合可疣的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的点大变更.云原生中的云表示存在于云中,而不是传统的部署于本地.比如云盘中的文件就在云中,而不是存
2、储在用户电脑的硬盘中,“原生则代表着应用从设计环节便考虑到云环境的因素,为云而设计,在云上运行.一句话概括,“云原生就是为云”而设计,且适合上云,更有人形容,云原生是生在云上,长在云上,也应用于云上。2 .云原生数据库云原生数据库,是一种通过云平台进行构建、部署和分发的服务.这种云原生属性是它相比于其他类型数据库最大的特点.作为一种云平台,云原生数据库以PaaS(平台即服务,Platform-as-a-Service)的形式进行分发,经常被称作DBaaS(数据库即服务,DataBase-as-a-Service).用户可以将该平台用于多种目的,例如存储,管理和提取数据.云原生数据库通常通过在云
3、基础设施之上安装数据库软件来实现,这种方式使得云原生数据库具备了传统数据库所不具备的直接访问性和运行时可伸缩性.首先是普遍可访问和高可用性。因为云原生数据库是完全存在于云上的,所以他可以随时随地的从多前端访问,提供云服务的计算节点.因其集群部署在云上,所以单点失败对服务的影响特别小而且当需要升级或更换服务的时候,可以对节点进行不中断服务的逐渐升级.其次是高扩展性与可迁移性.云原生数据库会与底展的云计算基础设施分商,所以能够灵活及时的调动资源进行扩容和缩容,以从容应对流量激增可能带来的压力,以及流量低谷期因资源过剩造成的浪费.也正是因为能够灵活扩缩容,云原生数据库也具备很强的可迁移性,我们甚至可
4、以粗基的理解为在新的位首扩容100%又在旧的位首缩容全部的50%.此外,基于高扩展性、高可用性以及可迁移性等特征,云原生数据库还具备可监控性和安全性的特征。一方面黑箱状态下无法保证及时处理扩容、节点故障等需求和问题;另一方面全盘部署在云上且各服务之间相互独立,可以对应用或服务提供更多展的安全防护和实现许多新的容错服务.最后是演进式设计与快速迭代。云原生数据库中的各顼服务之间是相互独立的,个别服务的更新并不会对其他部分产生不利影响,而不是一旦出了问题就只能全场熄火.此外,云原生的研发测试和运维工具是高度自动化的,这使得应用的更新会更加快速股繁.将网络资源和云更好的融合在一起,处处独立而又自然联系
5、若,才能更充分的发挥数据库上云的优势,得到更高的效率。云原生数据库有以下几个优点:(1)易处置性筒单来讲,易处置性是指数据库在无需事先通知的情况下,即时处理崩溃或启动进程的能力.尽厚现在有先进的技术,但是像磁盘故獐、网络隔寓故障,以及虚拟机异常等,仍然不可避免.(2)对于传统数据库,这些故障尤其有害,因为用单个机器运行整个数据库,即便一个很小的问题都可能影响所有功能.而云原生数据库的设计具有显著的易处置性,即允许虚拟机在即时通知下立即重启或蚤新调度。实际上,易处置性已从单个虚拟机扩展到了整个数据中心.随着我们的环境持续朝若更加稳定的方向发展,云原生数据库将发展到对此类故障无感知的状态。(3)增
6、强的安全性DBaaS运行在受高度监控和安全的环境里,受到反恶意软件、反病毒软件和防火墙的保护.除了全天候的监控和定期的软件升级以外,云环境还提供了额外的安全性。相反,传统数据库容易遭受数据丢失和被不受限制的访问.基于服务提供商通过即时快照副本提供的数据能力,用户可以达成RPO=O,RTo60秒的目标.(4)可扩展性能够在运行时进行按需扩展的能力是任何企业成长的先决条件.因为这种能力让企业可以专注于追求商业目标,而不用担心存储空间大小的限制.(5)传统数据库将所有文件和资源都存储在同一主机中,而云原生数据库则不同,它不仅允许你以不同的方式存储,而且不受存储问题的影响.(6)更好的可访问性传统数据
7、库最函要的限制之一,是它只能通过连接数据库系统本身进行访问。而云原生数据库提供对数据库全天候的访问,以便你随时进行任何修改,而你只需要一个可以访问internet的计算机.这样一来,就消除了可能发生的潜在的延迟,同时也为多个开发人员之间的协作开辟了途径。(7)显著的成本节约建立一个数据中心是一项独立而完备的工程,需要大量的硬件投资,还需要能可靠管理和维护数据中心的训练有素的运维人员.此外,持续的运维会给你的财务带来相当大的压力。而使用云原生的DBaaS平台,你可以以较低的前期成本,获得一个可扩展的数据库,这可以让你腾出双手,实现史优化的资源分配.云最开始受益的就是应用端,传统架构下曾经以天”为
8、单位的扩容,云端能实现秒级扩容,降低软硬件成本的同时,提高了系统的快速扩容能力,以应对像双十一这种可预见且短时间的请求量商峰。但是有些云端应用还是访问传统的数据库架构,数据库屈没得到云端的实患.现在这种云原生数据库,就解决了这问题,计算和存储分离,让数据库资源能从云端得到灵活扩容、故障快速恢院、更高的可靠性、数据快速迁移等,更快满足业务的各种需求.3 .云原生分布式数据库分布式数据库是由多个相互连接的数据库组成的集合,这些数据库组合在一起形成一个面向用户的单个数据库.实际上,它们分布式在各个数据中心,通过中央服务器进行通信.正如微软的著名工程师布伦丹伯恩斯(BrendanBUmS)在其著作设计
9、分布式系统(DesigningDistributedSyStemS)中所说:这些系统越来越串要,这意味若必须基于冗余、容错和高可用来构建这些在线系统.这些要求的融合导致需要构建的分布式系统数后增加了一个数最级,云原生数据库,是通过云平台进行构建、部署和交付的数据库服务,通常以DBaaS(DatabaSe-as-a-Service)的形态,将数据库底层细节隐蔽起来,提供给用户一个能够弹性伸缩,高可用、高可靠、可以嚏时随地访问的数据库服务,它代表了数据库的发展趋势,云原生数据库的优势,加上分布式数据库的效率,代表了未来理想的解决方案.以下是你可能考虑采用分布式数据库系统的一些原因:(1)水平可伸缩
10、性.在选择正确的数据存镭方式时,可伸缩性是一个田要的考虑因素。这就是云原生分布式数据库是理想解决方案的原因,因为它允许企业轻松扩展.分布式数据库的关键特性之一是跨不同数据源的计算过程彼此独立,这使得按需添加节点和调整功能变得非常容易.选择以如此大规模提高计算能力是一个强大的增长手段,它使现代企业能够以前所未有的方式在全球发展.(2)没有单点故障.衡量应用程序性能的唯一标准是它为最终用户提供的用户体验水平.对于传统数据库,由于高度的相互依赖,中央服务器的单个问题会损害工作负载的可用性.如果一台(唯一的)服务器出现故障,则可能导致整个应用程序崩溃,而这将导致用户体验指标急剧下降.鉴于数据库系统的复
11、杂性,而服务器崩溃是不可避免的,这进一步破坏了传统数据存储的方法。相反,由于数百台计算机服务器相互配合工作,因此分布式数据库可以确保即使多个节点发生故障,应用程序仍能继续正常运行.即使部分功能受到影响,整体功能却能正常运行。(3)增强的性能潜力.应用程序每秒都要面对数百个针对数据库的请求,这需要强大的处理能力.对于传统的方式,可能会导致性能问题、用户界面延迟等,从而影响整体的用户体验。比如,异常多的请求甚至可能导致应用程序崩溃.而在云原生的分布式数据库中,工作负载和访问请求被分散到多个服务器和计算机系统上.这意味着每个任务都由特定系统处理,而不是通过单个系统处理.因此,数据库持续无缝地工作,并提高了工作效率.分布式数据库中的每个诘求和工作负载都是并行完成的,然后将其执行结果返回给中央服务器,以便在数据库的用户端实时更新.