当前位置:  首页 数码 详情

分布式SQL--一种新的数据库

发布来源:互联网    发布时间:2020-08-03 14:51

分布式SQL--一种新的数据库(图1)

随着各个组织先后将其业务转向云端环境时,他们很快地意识到:在一些最关键的应用背后,那些旧式的关系型数据库不但限制了迁移的速度,而且根本无法有效地实现灵活的业务扩展。许多企业既希望保持诸如Oracle、SQL Server、Postgres和MySQL之类关系型数据库的可靠性,又能够享受到云服务所带来的规模效应、以及全局稳定性等“红利”

为了满足此类需求,人们开始转向使用NoSQL数据库。但是由于NoSQL并非完全为真正的一致性而设计的,因此它无法作为事务型数据库而使用。当然,最近有一些NoSQL解决方案声称能够“ACID事务”不过,它们无法诸如:财务分帐、库存控制、以及身份等关键任务所需的隔离级别。

分布式SQL--一种新的数据库

下面我们此基础上,一起来具体讨论此类分布式SQL的基本相关概念,特别是如何实现可扩展性和一致性的。通常,为了能够在分布式环境中真正具有可扩展性,分布式SQL数据库具有如下七种核心特征:

1.可扩展

正如我们无需繁重的准备就能够实现扩展式计算那样,分布式SQL数据库能够在不增加操作复杂性的情况下,适应云端环境的无缝扩展。也就是说,它具有在多个分布式参与者之间均匀分布数据的能力。

2.一致性

分布式SQL数据库必须在分布式环境中高度的隔离性。云端环境往往是由各种分布式和微服务所组成,而不同的调用和操作可能会指向同一块数据,因此我们很难保证事务一致性。分布式SQL数据库除了能够调节资源的争用,还能够与单实例数据库相同的事务隔离级别。

3.鲁棒性

4.地理复制(Geo-replication)性

由于云服务能够以一种可接受的服务水平,将用户的业务触达全球的各个角落,因此分布式SQL数据库也能够据此突破地域的限制。在复杂、广泛、分散的地理环境中,它能够进行分布处理和数据存储,以满足各地用户的业务需求。

5.支持SQL

众所周知,SQL是数据库所使用的结构化语言,也是所有应用逻辑的默认语言。凭借着其通用性,我们不必重新培训人员,即可熟练地对接和调用数据库资源。除了上面提到的Spanner,诸如Amazon Aurora、Yugabyte、FaunaDB和CockroachDB等都能够支持SQL。

6.数据本地化

在分布式中,由于数据被分散到了各个地区的数据中心,因此应用架构师往往需要了解每个站点的位置,在程序逻辑上找到最近的位置,以便将需要调用的存储数据绑定为应用的一部分。那么,分布式SQL可以在其数据表中,基于某些字段对数据进行地理分区,进而让数据更接近用户侧。这就是所谓的数据库的数据主权(data sovereignty)问题。据此,人员可以确保用户对其信息的低延迟访问,从而最大程度地减少数据在云端传输的费用和流量的开销。

7.多云(Multi-cloud)模式

分布式SQL数据库的一个独特特征是:半自治单元(semi-autonomous units)它们可以参与到较大的中。也就是说,每个单元都能够自行部署,加入到CockroachDB集群之类更大的中。通过该特征,分布式SQL数据库可以更好地扩展到真正的多云环境中,而不仅仅依赖于单个网络,来完成数据的分发。在此模式下,参与者(participant)的云服务类别将不再受到限制,它们可以位于任何地方,任何一种公共云、私有云、甚至是单个的本地(on-premise)实例。显然,这对于我们在分布式混合与多云环境中的各类应用来说,都是至关重要。

分布式SQL的基本要求

上述七项特征可谓分布式SQL在云端环境中所独有的。但是,说到底它仍然是一种数据库,因此也应当具备数据库的如下基本功能:

可性:用户可以使用一组命令行、或基于图形化的工具,来轻松地安装和配置目标数据库。用户通过针对运行环境的控制、数据生命周期的、以及常规的备份与还原,以实现数据表的创建,schema的定义与实现,索引与分区的设置,以及DDL的重建等。

可优化:DBA可以深入了解数据库在查询响应方面的性能,运用基于成本的优化器(cost-based optimizer)等高级功能,进而实现查询效率的优化。

具有安全性:与企业的其他常用软件类似,安全性是一个不容忽视的环节。数据库应认证、授权和可问责性,这样的AAA机制。而且,此类功能不应该只独立数据库内部,而应当与具有身份和治理功能的集中式管控集成一起,以便对流转在整个中各个级别的数据(包括表、行和列等级别)设置一致性的策略。

可集成:显然,数据库需要能够通过经过的、或已知的驱动程序,与前端应用相集成,以实现批量获取或导出数据等服务。与此同时,数据库还应通过与ETL(Extract-Transform-Load)工具的配合使用,将捕获到的数据,与数据流分析、或云端存储等更高级的服务相集成。

当然,上述所谓“基本”功能要求,其实并不简单,它们旨在更加成熟的、针对企业级应用的数据库。

总结

前文提到的CockroachDB,是一种云原生的分布式SQL数据库。它可以帮助各种企业级应用,将最基本的工作负载和一些关键性的任务迁移到云端,并实现了对于各种高级云端原生环境的策略编排。您可以作为了解分布式SQL的一个切入口进行试用。

本文相关词条概念解析:

数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库,它产生于距今五十年前,随着信息技术和市场的发展,特别是二十世纪九十年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统都在各个方面得到了广泛的应用。在信息化社会,充分有效地管理和利用各类信息资源,是进行科学研究和决策管理的前提条件。数据库技术是管理信息系统、办公自动化系统、决策支持系统等各类信息系统的核心部分,是进行科学研究和决策管理的重要技术手段。

相关资讯

  • 该专利是一种新的3D鼠标,并在VR场景,在VR应用程序中的使用范围有限

    该专利是一种新的3D鼠标,并在VR场景,在VR应用程序中的使用范围有限

    编译/VR陀螺配件制造商罗技(Logitech)生产了许多出色的产品。在本月早些时候,罗技发布的一项新专利展示了他们计算机鼠标产品的下一个高峰。该专利是一种新的3D鼠标/输入设备,该设备可能能够与苹果

    05-21
  • 一束光,也激发出了一个世界级产业

    一束光,也激发出了一个世界级产业

    一次视觉技术。文丨华商韬略 黑森林11884年,世界第一台机械电视技术原型的发明人尼普科夫,在专利申请书首页这样写道:这里所述的仪器能使处于A地的物体,在任何一个B地被看到。第一台机械电视原型这句平平

    09-21
  • 江小白的成功主要靠的就是文案

    江小白的成功主要靠的就是文案

    江小白2011年创立。不到10年的时间,企业的收入便达到了30亿元,覆盖了80%的中国区域市场,企业规模跻身中国白酒行业企业前20强行列。并且,这个成绩是在近几年白酒行业面临持续下行、很多行业企业业绩

    09-21
  • 垄断式创新和颠覆式创新,一种新的金融逻辑

    垄断式创新和颠覆式创新,一种新的金融逻辑

    然而,每一个思路得到的分析结果还是分不同领域,但有没有可能把Fin-tech作为一个整体,从而去了解这个生态圈的发展,有没有一个视角能够穿透金融科技大的生态圈,去理解金融科技一些发展核心的特征?难以解

    05-26
  • 会根据你选择的标准,LG,Styler智能衣物护理机

    会根据你选择的标准,LG,Styler智能衣物护理机

    或许有人会说,现在很多楼下干洗店,甚至是APP上请人来打理,何至于没有时间清理衣物,但是我们反过来看,对于普通衣物进行洗护,或许不需要太多专业技巧或者手段,但是对于一些高档衣物的除菌,熨烫和保养,很多

    09-21
  • 好像人人都拥有一个自己的Vlog频道,主要生活在北京

    好像人人都拥有一个自己的Vlog频道,主要生活在北京

    录制一期播客,需要完成以下几个步骤:找到一个感兴趣的选题,准备大纲(甚至有些人会省略掉这一步)开始录制(也就是说话)后期剪辑,配乐,上传到平台。相比写一篇文章、拍摄剪辑一期,录制一期播客的门槛可以算得

    09-21

相关推荐

网友评论