写点什么

SQL 借助于 NewSQL 开始回归

  • 2013-12-14
  • 本文字数:1411 字

    阅读完需:约 5 分钟

新一轮的数据库开发风潮展现出了向 SQL 回归的趋势,只不过这种趋势并非是在更大、更好的硬件上(甚至不是在分片的架构上)运行传统的关系型存储,而是通过 NewSQL 解决方案来实现。

在市场被 NoSQL(一开始叫做“No more SQL”,后来改为“Not only SQL”)逐步蚕食后,近一段时间以来传统的 SQL 开始回归。其中广为传颂的一个解决方案就是分片,不过对于某些情况来说这还远远不够。因此,人们推出了新的方式,有些方式结合了 SQL 与 NoSQL 这两种技术,还有些方式是通过改进关系型存储的性能与可伸缩性来实现,人们将这些方式称作 NewSQL。Google(NoSQL 最初的支持者之一)构建了 F1,这是一个分布式的关系型数据库,将 BigTable 的高可用性与可伸缩性与 SQL 的“一致性和可用性”结合起来。Google 在白皮书 F1: A Distributed SQL Database That Scales (PDF)中是这样介绍 F1 的:

这是由 Google 构建的一个容错、分布式的 OLTP 与 OLAP 数据库,作为新的存储系统用在 Google 的 AdWords 系统上。设计它的目标旨在替换掉分片的 MySQL 实现,因为后者已经无法满足日益增长的可伸缩性与可靠性的需求了。

MemSQL 就是众多的 NewSQL 解决方案中的一个,这是个完全的内存解决方案,用于对结构化与半结构化(JSON)数据进行实时分析。它并没有使用列式存储,而是使用了“无锁的 skip 列表与无锁的 hash tables”以实现更快的数据访问,并且对非分片架构使用了并行处理,不会出现单点失败的情况。

另一个 NewSQL 解决方案是 ClustrixDB ,这是个点对点的非分片的分布式数据库,用于事务处理与实时分析。根据 Clustrix CEO Robin Purohit 所述,他们的数据库在 Twoo.com 每天能够处理 4.4B 个事务,21 个节点(每个节点的配置是 8 核,48GB 内存)的平均延迟为 5 到 10 毫秒,其构建方式是这样的:

从头开始构建的点对点分布式 SQL 数据库,没有单独的协调者(因此就不会出现单个的失败点)。ClustrixDB 使用了分布式事务,事务使用了 Paxos 的一致性协议。ClustrixDB 针对写使用了 2 阶段锁,还使用了分布式的多版本并发控制,用于确保读与写不会互相干扰。这可以保证分布式环境下单个节点数据库严格的 ACID 属性。 ClustrixDB 并没有使用分片架构,这种方式也是唯一一种可以实现线性伸缩的架构。ClustrixDB 将原来只有数据仓库中才拥有的用于实时分析的 Massively Parallel Processing (MPP)带到了主流数据库上。

我们也向 Twoo.com 的 CEO Toon Coppens 提出了这样一个问题:为何最初的 MySQL 分片解决方案无法满足他们的要求,转而去选择一个 NewSQL 呢:

我们花了一些时间了解 Netlog.com 的架构,他们拥有成百个 MySQL 分片,重新平衡与管理这些分片的代价是非常高昂的,更不必说即时修改查询或是在所有分片上创建新查询时的不灵活性了,这种方式并不可取。我们希望一个查询就能将数据查出来。 虽然 NoSQL 提供了不错的可伸缩性,但我们并不想将自己绑定在底层的数据表示上。我们希望在修改产品与特性需求时拥有完全的灵活性,同时又不必修改每天都在变化的网站的数据层(clustrix 提供了快速的变化,同时又能在高负载下运行良好,当然了,它还有其他很多优秀的特性)。

虽然 NoSQL 因其性能、可伸缩性与可用性而广受赞誉,但其开发与数据重构的工作量要大于 SQL 存储。因此,有些人开始转向了 NewSQL,它将 NoSQL 的优势与 SQL 的能力结合了起来。最为重要的是使用能够满足需要的解决方案。

查看英文原文: SQL Makes a Comeback through NewSQL

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2013-12-14 03:306758
用户头像

发布了 88 篇内容, 共 258.5 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

低代码赋能开发者,加速软件开发

这我可不懂

低代码 应用开发 JNPF

Room Arranger for mac v9.8.2.644中文激活版 房屋布局设计软件

iMac小白

过年前 再带大家卷一波Go高质量知识点

王中阳Go

Go golang go面试题 后端面试题

5 款轻松上手的开源项目

EquatorCoco

开源 项目开发

BetterDisplay Pro Mac v2.0.11激活版 显示器管理工具

影影绰绰一往直前

mac电脑音乐制作软件 Ableton Live 12 for mac中文激活

影影绰绰一往直前

Ableton Live 12下载 Ableton Live 12激活版 Ableton Live 12中文

云原生安全DevSecOps思考

薛猫

云原生 k8s 安全 DevSecOps

coconutBattery Plus for Mac 3.9.15 直装版 电池质量检测工具

影影绰绰一往直前

一行命令找出 Linux 中所有真实用户

互联网工科生

Linux

Blocs for mac:可视化Web设计,全新的方法来构建现代化、高质量的静态网站

Rose

告别 GPU 焦虑,玩转极致性价比的 CPU 文生图

阿里巴巴云原生

阿里云 Kubernetes 云原生

分享一款轻量化、适合程序员的低代码开发工具

高端章鱼哥

低代码 应用开发 JNPF

Boxy SVG for Mac v4.23.3 免激活版 矢量图编辑器

iMac小白

「AI Party」喊你来!百度Create大会4月16-17日在深圳举办

飞桨PaddlePaddle

百度 AI 开发者大会

如何定义“易用”?无代码/低代码开发平台能力探讨

NocoBase

开源 软件开发 低代码 低代码开发平台 无代码

甲辰龙年,中国科技十大趋势

脑极体

科技趋势

火山引擎ByteHouse:如何为OLAP设计高性能向量检索能力?

字节跳动数据平台

数据库 大数据

Axure RP 10中文汉化版 交互式原型设计

Rose

基于 SRAM 的存内计算助力实现节能 AI

申公豹

存内计算

快速熟悉 MatrixOne 内核前端

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

Ableton Live 12 for mac v12.0b26激活版 音乐制作工具

iMac小白

开源项目中的设计模式(一) - Alibaba Sentinel与责任链模式

骑牛上青山

Java 设计模式

代码手术刀-自定义你的代码重构工具

京东科技开发者

华为云软件开发生产线CodeArts开发者实践8件套——开发者的进阶宝典!

华为云PaaS服务小智

软件开发 华为云

「云原生可观测团队」获选「InfoQ 年度技术内容贡献奖」

阿里巴巴云原生

阿里云 云原生

QSpace Pro for Mac v4.2.4 中文破解版 多窗格文件管理

影影绰绰一往直前

文本管理软件 FSNotes for mac v6.6.7中文版

影影绰绰一往直前

深度神经网络中的BNN和DNN:基于存内计算的原理、实现与能量效率

申公豹

存内计算

部署篇 | MatrixOne与MySQL全面对比

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

有奖调查 | @所有人,MO有一份问卷邀您填写~

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

零基础入门Vue之影分身之术——列表渲染&渲染原理浅析

不在线第一只蜗牛

Java Vue 前端 前端开发

SQL借助于NewSQL开始回归_DevOps & 平台工程_Abel Avram_InfoQ精选文章