分布式数据库的最新发展情况

首先我试着去定义 NewSQL,它是一类现代的关系型数据库,同时它又具备 NoSQL 的扩展能力。其擅长在 OLTP 场景下提供高性能的读写服务,同时可以保障事务隔离性和数据一致性。我们可以简单理解为,NewSQL 要将 2000 年左右发展而来的 NoSQL 所代表的扩展性与 20 世纪 70 年代发展的关系模型 SQL 和 ACID 事务进行结合,从而获得一个高并发关系型的分布式数据库

如果我们使用 NewSQL 数据库,可以使用熟悉的 SQL 来与数据库进行交互。使用 SQL 使得原有基于 SQL 的应用不需要改造(或进行微量改造)就可以直接从传统关系型数据库切换到 NewSQL 数据库。而与之相对,NoSQL 数据库一般使用 SQL 变种语言或者定制的 API,那么用户切换到 NoSQL 数据库将会面临比较高的代价

对于 NewSQL 的定义和适用范围一直存在争议。有人认为 Vertica、Greenplum 等面向 OLAP 且具有分布式特点的数据库也应该归到 NewSQL 里面。但是,业界更加广泛接受的 NewSQL 标准包括:

- 执行短的读写事务,也就是不能出现阻塞的事务操作;

- 使用索引去查询一部分数据集,不存在加载数据表中的全部数据进行分析;

- 采用 Sharded-Nothing 架构;

- 无锁的高并发事务。

根据以上这些特点,我总结为:一个 NewSQL 数据库是采用创新架构透明支持 Sharding,具有高并发事务的 SQL 关系型数据库

请注意 DistributedSQL 是一类特殊的 NewSQL,它们可以进行全球部署。

下面就按照我给出的定义中的关键点来向你详细介绍 NewSQL 数据库。

创新的架构

使用创新的数据库架构是 NewSQL 数据库非常引人注目的特性。这种新架构一般不会依靠任何遗留的代码,我们以 TiDB 这个典型的 NewSQL 数据库为例。

在这里插入图片描述

可以看到其中的创新点有以下几个。

- 存储引擎没有使用传统数据库。而使用的是新型基于 LSM 的 KV 分布式存储引擎,
- 有些数据库使用了完全内存形式的存储引擎,比如 NuoDB。

- Sharded-Nothing 架构。底层存储到上层工作负载都是独立部署的。

- 高性能并发事务。TiDB 实现了基于 Percolator 算法的高性能乐观事务。

- 透明分片。TiDB 实现了自动的范围分片,可以弹性地增减节点。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值