云原生数据库提供了增强了的伸缩性、可靠性和允许数据库扩展的入口并且变得更加分布式数据库一直是应用程序开发的一个非常重要的方面;从MySQL到Amazon的RDS,有许多系统允许开发人员存储、详细说明和组织数据。
随着大规模计算什么是云原生数据库?的不断发展,传统数据库面临着一个考验, 就是在它们无法实现云原生数据库时难以按预期交付。
简而言之, 云原生数据库 — 顾名思义 ,就是通过云平台创建,部署并且分发给用户的一个服务。 这种云原生性就是它相较于其他类型数据库的独特之处。
作为一个云平台,云原生数据库以PaaS(platform as a service (平台即服务))模型的形式交付,通常也被引用作DBaaS,是Database-As-a-service的缩写。用户可以将这个平台用于各种目的,例如存储、管理和提取数据。
它的实现通常是通过在基础设施云上安装数据库软件来完成的。此种做法能够同时满足直接访问和运行时的可扩展性,这在传统数据库中是不常见的。
随着云原生数据和大规模计算的重要性不断提高,人们比以往任何时候都更加重视部署此类服务,从而向企业提供增强了的可靠性和伸缩性。
迁移到云原生数据库并不是一个容易的决定——然而,预计到2020年, 所有企业的工作量的 83%都将在云上完成,毫无疑问,这就是未来的趋势。
选用云原生数据库有以下几个优点:
可处理性
简单地说,可处理性是指数据库在没有预先通知的情况下处理崩溃或启动进程的能力。尽管现代技术有了新的进展,但诸如 磁盘故障、网络分区、虚拟机错误等这类事件仍旧是不可以避免的。
对于一个遗留数据库来说,这样的中断尤为致命;当整个数据库只由单个机器驱动时,即使是一些小问题也可能影响所有的功能。
现代云原生数据库被设计成具有显著的可处理性—允许虚拟机一收到通知就立即重新启动或重新调度。事实上,可处理性已经从单个机器拓展到覆盖整个数据中心了。
随着(计算机)世界不断向一个更加稳定的环境迈进,云原生数据库将达到实际上的零故障的水平。
增强的安全性
DBaaS供应商在 高度受监控和安全的环境中运行,在这种环境中, 会有反恶意软件、反病毒和防火墙保护它们。除了全天候监控和定期软件升级之外,云环境还提供了额外的安全性。
与之相反的是,传统数据库容易被盗和不受限制地访问。由于多个(数据库)供应商采用时间点快照备份来保护数据,因此你肯定会碰到“RPO=0,RTO<60 ”(系统要立即恢复正常,可忍受数据遗失时间为60秒)这样的规则。
高级可扩展性
在运行时随意扩展(数据库)的能力 是任何企业求发展的先决条件。这使得企业能够在不担心存储空间限制的情况下追求目标。
与传统数据库(所有文件和资源都存储在同一主机中)不同,云不仅允许您以不同的方式存储,而且不会受存储问题的影响。
增强了的可访问性
传统数据库最重要的限制之一是,它只能通过部署它的系统来访问。
云原生数据库提供对数据库的全天候访问,以便能立即做任意更改;它只需要一个网络连接和您的计算机。因此,这消除了可能发生的潜在延迟,同时也为多开发者协同工作开辟了路径。
显著的成本节约
建立一个数据中心是一个独立的整体项目,需要投入大量的硬件和一个能够可靠地管理和维护数据中心的熟手。
此外,持续的维护会给你的财务带来相当大的压力。使用云原生DBaaS平台,就可以获得一个可扩展的数据库,其前期成本较低,这可以解放您的双手,实现更优的资源配置。
技术领域已经演进成了一个超连接的环境,在这个环境中,应用程序、软件和不同的程序被数以百万计的用户跨设备使用。
这让用户有了很高的期望值;他们不仅希望能始终在线并且能得到迅速的响应,而且还要实现无缝的体验。
考虑到在维护如此复杂的系统时波动和故障是不可避免的,传统的数据库在确保可用性和保证正常运行时间上还面临着严峻的挑战。
想想你每天使用的应用程序的数量——从WhatsApp等即时通讯应用程序到Salesforce等高度专业化的应用程序,你需要一个安全的登录功能、用户简介、定制功能、关系数据库、内容交付网络和其他一些组件。所有这些功能都需要协同工作,以提供客户期望的用户体验水平。
这就是云原生数据库(就像分布式数据库一样)可以为用户提供可靠解决方案的地方。
数据库为高级数据操作和分析提供了组织架构。没有现代数据库,您就无法将业务逻辑应用到功能中,这很快会使您的网站或应用程序变得无用。
专家一致认为,构建在云中的分布式数据库代表着不久的将来它们将如何运作。因此,云原生数据库的优势,配合分布式数据库的效能,代表了一种理想的解决方案。
下面是一些您可以考虑采用分布式数据库系统的原因。
数据库的水平可伸缩性
在挑选正确的数据存储方式时,可伸缩性是一个重要的考虑因素。这就是为什么云原生分布式数据库仍然是一个理想的解决方案,因为它允许企业轻松地扩展。
分布式数据库的一个关键特性是跨不同数据源的计算过程彼此独立。这使得在必要的时候添加节点和调整功能变得非常容易。
选择如此大范围增加按需供应的算力, 是一种强大的增长黑客, 它使得现代企业能够以一种前所未闻的方式在全球发展。
无单点故障
衡量应用程序性能的唯一标准是它为终端消费者提供的用户体验水平。
对于传统的数据库,单个中央服务器的问题就意味着工作负载的可用性受损,因为它是高度相互依赖的。
如果一台(也是仅有的一台)服务器出现故障,它可能会导致整个应用程序崩溃,这将导致用户体验指标急剧下降。企业数据库的错综复杂和涉及的细微差别,使得服务器的崩溃不可避免,这就进一步否定了传统的数据存储方案。
与之相反,由于数百台计算机服务器相互协作,分布式数据库确保了即使多个节点出现故障,应用程序仍能继续顺利工作。这意味着只有部分功能受到影响,但整体功能不受影响。
增强了的性能潜力
应用程序每秒都要面对数以百计的指向数据库的请求,这需要强大的处理能力。在传统设置中,这可能会导致性能问题、用户界面延迟等,从而影响整体的用户体验。
比如说,如果接收到异常多的请求,这甚至可能导致应用程序崩溃。
在云原生分布式数据库中,工作负载和访问请求在多个服务器和计算机系统之间被分解。这意味着每个任务都有特定的系统处理,而不是全部通过单个系统来处理。
因此,数据库继续无间断运行,提高了工作效率。分布式数据库中的每个请求和工作负载并行完成,然后将其编译并返回到中央服务器,以便实时更新用户端的数据库。
应用程序和软件开发界正在经历一场云原生浪潮——从调度和管理到分析,都从头开始被配置成在云端上构建。
作为现代应用程序最重要的方面之一,专家们都在提倡从传统方案转向现代的、云原生方案(如分布式数据库), 也就不令人感到意外了。
它们(云原生数据库)增强了的可靠性以及云原生数据库的功能,打败了传统的数据存储方法。再加上增加了的可伸缩潜力,毫无疑问,这就是未来数据库的构建方式。
译者:庞曼丽
原文连接:https://dzone.com/articles/cloud-native-databases-and-why-should-you-use-them