分布式SQL数据库有哪些特征?
来源:海牛大数据 时间:2021-03-04 13:58:23 编辑:简单
数据库体系结构发展的下一步是分布式SQL,今天就让我们来聊一聊分布式SQL数据库有哪些特征?
随着组织过渡到云,他们最终发现,在一些最关键的应用程序背后的旧式关系数据库根本无法利用云的前景,并且难以扩展。是数据库限制了这种转换的速度和有效性。为了解决此问题,组织希望获得经过测试的关系数据存储(例如Oracle,SQL Server,Postgres和MySQL)的可靠性,但要具有云带来的规模和全球覆盖范围的好处。
一些人转向NoSQL存储库来尝试满足这些要求。这些替代方案通常可以满足规模要求,但由于不是完全为提供真正的一致性而设计的,因此不能作为事务数据库使用。最近,一些NoSQL解决方案已经提供了“ ACID事务”,但它们充满了警告,并且无法为财务分类帐、库存控制和身份管理等任务关键型工作负载提供必要的隔离级别。
新型数据库:分布式SQL
一些在全球范围内运作的最成功的公司实际上已经解决了这个问题,并建立了专门的数据库来解决这个问题。
是什么构成了分布式SQL数据库?
为了在分布式环境中交付真正可伸缩的SQL,已经进行了几次尝试。有些人试图对现有数据库进行改造以满足他们的需求,但这最终无法实现真正的分布式SQL数据库的承诺。那么,什么构成了分布式SQL数据库呢?
1.规模
分布式SQL数据库必须无缝扩展,以反映云环境的功能,而不会引起操作复杂性。正如我们无需繁重的工作就可以扩展计算一样,数据库也应该能够扩展。这包括在数据库中的多个分布式参与者之间均匀分布数据的能力。
2.一致性
分布式SQL数据库必须在分布式环境中提供高度的隔离。在基于云的世界中,默认的体系结构是分布式系统和微服务,由于多个运营商可能试图处理同一数据,因此事务一致性变得困难。数据库应该调解争用,并提供与单实例数据库相同的事务隔离级别。
3.弹性
分布式SQL数据库自然必须提供最高级别的弹性,而无需任何外部工具即可完成此任务。云为我们的工作负载提供了一个永远在线的环境,并且数据库应该具有相同的属性。使用分布式数据库,我们可以将故障恢复所需的时间减少到接近零,并且无需任何外部配置即可自然地复制数据。
4.地理复制
实际上,Forrester预测,物联网设备的普遍性很可能会在2021年最终扰乱传统业务。
4.数据即服务(DaaS)
分布式SQL数据库应允许在复杂,分散的地理环境中分布数据。云提供了以可接受的服务质量到达全球每个角落的能力,并且数据库不应限制你的应用程序这样做。它应该可以满足你的期望。
5. SQL
尽管这四个技术要求至关重要,但首先有一个关键的先决条件。数据库必须使用SQL。它是数据的语言,也是所有应用程序逻辑的默认语言。我们不必重新培训开发人员以使用数据库。他们应该能够使用他们已经熟悉的SQL方言。
有一些数据库可以满足这些要求。当然,该列表包括Spanner,但你也可以将Amazon Aurora,Yugabyte,FaunaDB和CockroachDB视为此新类别的成员。所有这些成员都以某种形式满足要求,其中一些形式要比其他形式更好。显然,该列表中缺少Oracle,Postgres,MySQL和所有NoSQL选项。尽管每个都可以满足某些要求,但是它们都不满足所有要求,因此不能视为替代方案。
6.数据局部性
一旦你生活在一个分散的世界中,很明显数据库本身实际上可以处理住所数据。参与者位于各个地区或数据中心,就可以了解每个位置,然后将其存储的数据绑定到某个位置。一些应用程序架构师已将其实现为应用程序的一部分,但这种方法容易出错且易碎。使用数据库根据表中的某些字段对数据进行地理分区是分布式SQL的新要求。这使你可以使用数据库来解决数据主权问题。它也可以用于使数据跟随用户,因此你可以确保对他们的信息的低延迟访问或将数据绑定到显式的云,从而可以最大程度地减少出口费用。
7.多-云
分布式SQL数据库的一个独特特征是它具有半自治单元,它们都参与较大的系统。每个单元都应该能够自己部署,然后加入更大的系统CockroachDB集群。这是一个固有的特征,助长了上面列出的前五个要求。但是,这也可以用于将数据库扩展为真正的多云。数据库不应依赖单个网络来完成分发。应该脱离这些限制,以便参与者可以位于任何地方,无论是任何公共云,私有云,甚至是单个本地实例。对于我们生活在分布式混合和多云世界中的计算的未来,这一要求至关重要。
海牛大数据专注于大数据课程开发及培训,"因为专注,所以专业"。如果您想要了解更多大数据的知识,您可以浏览我们的网站,我们会为您提供更专业服务。