写点什么

地位堪比 S3!AWS 开放了它最核心的数据库 QLDB

  • 2018-12-04
  • 本文字数:4085 字

    阅读完需:约 13 分钟

地位堪比S3!AWS开放了它最核心的数据库QLDB

今年的 AWS re:Invent 大会,最让你印象深刻的发布是什么?


这个问题的答案对笔者来说,第一天是 RoboMaker,第二天是Firecracker,第三天是 Lake Formation。然而当第四天结束的时候,笔者才发现,第三天发布的 QLDB 的重要性可能被远远低估了。


所以,今天我们来好好聊聊 QLDB 这个事情。

区块链是真需求还是伪需求?

re:Invent大会第三天,AWS CEO Andy Jassy 在他的主题演讲上发布了 QLDB——Quantum Ledger Database,直译过来叫做量子账本数据库。之后,AWS CTO Werner Vogels 在自己的 Twitter 上表示,QLDB 是本次 re:Invent 他最爱的发布之一。



如前所述。根据 Andy Jassy 的说法,AWS 经过了一年以上时间对区块链“客户”的访谈调研之后,终于明确的发现了区块链“客户”们的两类真正的需求:

1. 中心化可信账本


主要使用场景:医疗领域的挂号跟踪、交管局的车辆管制、制造业的缺陷品跟踪、HR 领域的个人从业经历跟踪等。原理上,此类需求用通用型关系数据库(如 MySQL 或 Aurora)也是可以解决的,只是在部分情况下,通用型关系数据库很难把此类问题很好的解决。

2. 去中心化可信交易


主要应用场景:金融领域的 P2P 支付、房产领域的组合贷款处理、小微企业的供应商分销商交易管理、零售行业的客户奖励流水线等。


针对这两类需求全面分析之后,AWS 发布了两个新东西,第一个是 QLDB,第二个是 Managed Blockchain。其中,QLDB 的前身是 Amazon.com 内部使用了多年的一个数据库技术。


当时听完后笔者就纳闷了:既然 AWS 一直都还在评估“区块链是不是伪需求”这个问题,那就是说,Amazon 内部一直都是没有在使用区块链的。那么,Amazon.com 怎么会一直有一个 QLDB 这样的数据库在内部使用呢?


怀着这个问题,笔者询问了 Bill Vass——一位 AWS 副总裁,业务方向是存储、Kinesis、机器人(听起来是一个挺奇怪的组合)。

回到源头

你有没有想过,“账本”到底是啥意思?“可信”又是啥意思?


经过 Bill Vass 热心的介绍,QLDB 这个已经在 Amazon 内部用了 4、5 年的数据库技术,面貌逐渐清晰了起来。结合一些相关资料,笔者尝试对 QLDB 简述如下:

账本(ledger)

“链条”(chain)是这样一种东西:它一环扣一环,每一环都有前面一环和后面一环,新的环添加在链条的末尾,于是链条就越来越长。


从数据的角度,这就是强时序的数据。对于不要求时序性的数据来说,写进来的顺序是 1、2、3、4,存储成 1、3、2、4 也没关系;但是对于强时序的数据来说,写进来的顺序是 1、2、3、4,就一定要存储成 1、2、3、4 的顺序。这就是数据的链条。


于是你说了,这强时序有什么难的?数据库的代码只要没写错逻辑不都能实现?的确,难的并不是代码逻辑。难的是,如果一秒之内进入上千上万个请求,你如何确保它一定正确呢?要在吞吐量巨大的大规模集群上做到高性能还要保证不出错,这个活儿可不是谁都干得了。


什么样的数据特别需要强时序?“日志”(log)必然位列其中。2014年Werner Vogels发布Aurora的时候,用了极大的篇幅介绍其背后的机制,其中非常重要的一点就是,Aurora 之所以能够做到秒级的崩溃恢复,是因为它使用“操作日志”进行数据库重建的方式来做恢复。“操作日志”的顺序一定要完全正确,否则重建数据库无法成功。(那就完蛋了!)所以,Aurora 的背后,一定有一个强大的分布式高性能强时序数据库用来存取日志。Bill Vass 透露说,QLDB 就是这个 Aurora 背后的日志数据库。Bill Vass 还介绍道,除了 Aurora 之外,强时序数据库在电商的应用也很广泛,特别是“秒杀”场景,一边是订单一边是库存,如果交易的时序处理不好就会出现超售的问题,如果用通用型关系数据库的“锁”来避免超售又影响效率,所以 QLDB 很重要。


“交易的日志”,就是“账本”(ledger)。人类使用账本的历史至少也好几百年了,Amazon 使用账本的历史至少也 24 年了。所以,Amazon 有一个定制化的账本数据库用了 4、5 年,也不是什么奇怪的事情。

可信(trust)

2009 年中本聪发布 Bitcoin 白皮书,掀开了数字交易信任机制的新篇章。白皮书提出的方案有两个重点,一个是用“去中心化”来避免对权威角色的依赖,一个是用“加密算法”来取代权威角色的裁判动作。


此白皮书一出,广泛流传,一时之间给广大吃瓜群众产生了一种错觉:一切不可信的源头就是权威,解决了权威就解决了不可信问题。


但其实人家说的根本不是这么一回事!中本聪论文的第一段话就说,权威第三方可信机制在大部分数字交易中是挺好用的。主要问题在于,如果交易者存心诈骗,利用“可撤销的支付”作为系统漏洞进行双重支付,从而产生交易纷争,则权威第三方需要去处理交易纷争,这个成本一般是比较高的,对小额度交易而言并不现实。


那么问题又来了:数字交易中的“可信”就是指防诈骗吗?


也并不是。“可信”是一个统计学问题。所谓“可信”,是“不可信”的反义词。不可信的因素增多,系统整体趋于不可信。不可信的因素排除的越多,系统整体趋于可信。诈骗只是众多不可信因素当中的一种而已。数据丢失或数据损坏,也都是不可信因素当中的一种。


为了更准确的描述 QLDB 解决的问题和区块链解决的问题之间的区别,以下从 AWS 官方网站QLDB的FAQsManaged Blockchain的FAQs分别摘取几段介绍:

Q:账本数据库与其他数据库有什么不同?

A:传统数据库支持数据覆写(overwrite)与删除,所以如果需要跟踪数据的时序性,开发者需要另外用到审计表(audit tables)和审计跟踪(audit trails)等技术。此类技术虽然可以实现该目的,但它们需要定制化研发,并且比较难以扩展,而且确保数据正确性的责(hei)任(guo)落在了应用开发者的头上。在 QLDB,数据被写入到 append-only journal(只增型日志)上以保证数据的时序性,QLDB 日志是不可篡改(immutable)和可验证(verifiable)的,也就是说,你可以信任账本中的数据。

Q:账本数据库适合存什么数据?

A:QLDB 天然适合记录型系统(system-of-record)应用,此类应用对数据完备性、数据完整性、数据可验证性有强需求。比如在供应链与物流领域,使用 QLDB 构建的应用能够将一切变更的完整历史留存下来,无论是货车之间的移动还是跨境移动,每一条记录都能够完整留下来以供查询分析。在金融领域,记录型系统应用对关键数据进行跟踪,比如信贷交易和借记卡交易。以前的话,此类应用需要构建一套复杂的记录留存功能,而有了 QLDB,这就变得很容易实现,所有的金融交易记录都被永久的、完整的保存下来。

Q:QLDB 是分布式账本吗?QLDB 是区块链服务吗?

A:QLDB 不是区块链,也不是分布式账本。区块链与分布式账本技术主要致力于解决另一个问题,就是当多个利益方使用去中心化应用的时候,该应用不属于任何一个利益方,也没有任何一个利益方是完全受信任的。而 QLDB 的适用场景则是,一个客户自己拥有一个应用,并且需要一个账本数据库来维护所有数据变更历史的完整性与可验证性。QLDB 的优势在于强时序性、不可篡改性、可验证性,并且由于 QLDB 作为托管的 AWS 服务被提供给客户,它还有可扩展、简单易用等优点。如果你的应用是去中心化的,牵涉到多个互相之间不信任的利益方,那么区块链解决方案可能更适合你。如果你的应用对数据变更记录的完整性和可验证性有需求,并且不涉及多个互相不信任的利益方,则 QLDB 会非常适合。

Q:所以,Managed Blockchain 和 QLDB 到底有啥区别?

A:QLDB 是中心化的账本数据库,客户就是应用的拥有者,客户自己维护数据变更记录的一切历史。而在区块链技术里,区块链网络中有多个成员,网络中的每一个成员都拥有一份独立的、可验证的、不可篡改的账本的副本,每一个成员都可以互相之间发起交易、或认可(endorse)别人的交易,一切的交易与数据共享都是以加密方式进行的,并不需要一个中心化的“应用拥有者”或者“可信的权威”来做裁判。


再补充一条官网上没写的:根据 Bill Vass 的描述,QLDB 的速度是目前区块链技术的 1000 倍

应用开发的下一个阶段

关系型数据库(relational database)是个好东西。一张一张的表(table),表里一个一个的列(column),每一行(row)就是一条数据,每一条数据都可以增删改查(CRUD),这些特点让它几乎适用于所有的应用场景。基本上我们可以这么说:后来出现的数据库能做的事情,关系型数据库都能做。


但这句话也可以反过来说:恰恰是因为关系型数据库啥都能做,所以才出现了一个又一个“不以啥都能做为目标”的新型数据库。这些新型数据库专门为了把特定的事情做好而设计。比如:Key-Value Database 键值数据库,在社交网络类应用崛起的时候开始流行(键值数据库常被视为 NoSQL 数据库的典型代表,其中 NoSQL 是 Not only SQL 的缩写);Graph Database 图数据库,在社交网络成为热门分析对象的时候开始流行;Time-Series Database 时序数据库,应对越来越多的物联网设备的数据存储需求。而 Ledger Database 账本数据库,也是新型数据库当中的一种。


值得一提的是,本次发布的 QLDB,在 AWS 众多服务当中是一个重要度在 Tier 0 级别的服务,与 S3、Kinesis 同级。什么是 Tier 0 级别?简单来说,其他服务都依赖于它,所以它绝对不能出问题,一旦它出问题,整个 AWS 都要挂掉。也可以说,QLDB 是众多 AWS 服务当中最可靠、最不会出故障的那一类——因为 AWS 会最优先保证它不会出故障。


所以,我们有了三个有意思的发现:


“啥都能做的数据库”越来越不重要了。反而是那些“只能做好一件事的数据库”,越来越成为互联网的基石,被广泛使用。


应用开发者有越来越多的“只能做好一件事”的底层工具可以搭配起来使用,可以把更多精力放在应用层的逻辑实现。


IT 世界的分层分工越来越精细化,而这在云计算没有积累到今天这么多用户之前,几乎是不可能发生的。

总结

QLDB 不是区块链。


QLDB 不是区块链。


QLDB 不是区块链。


但是你需要的真的是区块链吗?你需要的到底是什么?


如果你只能做好一件事,你会选择做什么?别人擅长做什么?如何跟他们充分合作?什么工具最擅长做什么?如何在自己的场景用好这些工具?在接下来的这个时代,这些问题很重要。


反过来说,如果听到区块链很火就去搞区块链,听到人工智能很火就去搞人工智能,那必然什么也做不好。这是一定的。


2018-12-04 17:302792

评论 2 条评论

发布
用户头像
把QLDB解释的很清楚,认同作者最后的观点。
2018-12-05 10:18
回复
没有更多了
发现更多内容

Featured.com收购HARO

财见

基于 PHP/Java 的淘宝 API 调用实践:从商品详情页 JSON 数据解析到结构化重构

代码忍者

淘宝API接口

K8S 部署 Deepseek 要 3 天?别逗了!Ollama+GPU Operator 1 小时搞定

北京好雨科技有限公司

k8s rainbond 企业号 4 月 PK 榜 gpu 算力 DeepSeek R1 模型

热门活动速递 | AI 原生应用开发实战营·深圳站

阿里巴巴云原生

阿里云 云原生

如何开拓亚洲加密货币市场?一文解析亚洲国家差异、用户行为及市场特征

TechubNews

加密市场

Spark on K8s 在vivo大数据平台的混部实战

vivo互联网技术

大数据 spark 容器化

用友BIP 智能产品三连发,推动制造企业稳质量、降成本、提效率、增收入!

用友BIP

AI与智能客服:如何让AI为企业提供更高效、更人性化的客户服务?

天津汇柏科技有限公司

人工智能 智能客服 AI 人工智能

一键部署 Dify + MCP Server,高效开发 AI 智能体应用

阿里巴巴云原生

出版社题库管理系统的技术架构

北京木奇移动技术有限公司

软件外包公司 出版社 题库管理系统

出版社题库管理系统的开发

北京木奇移动技术有限公司

软件外包公司 出版社 题库管理系统

内部聊天软件,BeeWorks-安全的企业内部通讯软件

BeeWorks

即时通讯 IM 私有化部署 局域网视频软件

重构智能设备管理范式:火山引擎端智能解决方案上新,多重 AI 服务即刻享用!

火山引擎开发者社区

利用大模型实现地理领域文档中英文自动化翻译

亚马逊云科技 (Amazon Web Services)

汇源与用友战略签约,共启果汁行业数智发展新纪元!

用友BIP

AI重构商品计划管理:时尚品牌决胜未来的四大核心能力

第七在线

出版社题库管理系统的技术难点

北京木奇移动技术有限公司

软件外包公司 出版社 题库系统开发

巴塞罗那对阵塞尔塔:一场事关竞逐西甲联赛冠军与冲击欧战资格的较量

新消费日报

【FAQ】HarmonyOS SDK 闭源开放能力 —Health Service Kit

HarmonyOS SDK

harmoyos

能否将扩散模型思想应用于 LLMs 领域?大型语言扩散模型(LLDM)详解

Baihai IDP

程序员 AI LLMs LLDM LLaDA

“全球金牌敏捷课程” · 5月10-11日CSM认证课程

ShineScrum

敏捷 敏捷教练 项目经理 CSM认证 CSM认证培训

乐言科技:云原生加速电商行业赋能,云消息队列助力降本 37%

阿里巴巴云原生

阿里云 云原生

深入研究:1688商品跨境属性API接口详解

tbapi

1688API 1688跨境代采 1688商品属性接口 1688跨境属性接口

在BeeWorks中,网盘和即时通讯如何互相集成?

BeeWorks

即时通讯 IM 企业级应用

出版社题库管理系统的功能

北京木奇移动技术有限公司

软件外包公司 出版社 题库管理系统

博睿数据受邀出席“AI助力湾区数智金融会议”,分享主题演讲

博睿数据

电商多平台聚合搜索API开发全攻略:淘宝/1688/某东一站式打通!

代码忍者

API接口工具

“敏捷产品管理精进课程” 6月14-15日 · A-CSPO认证【提前报名特惠】

ShineScrum

敏捷 PO 敏捷教练 产品负责人 CSPO认证

TLM算法仿真5G毫米波手机天线和整机

思茂信息

5G 仿真 CST Studio Suite

质量管理中的IQC、PQC、FQC、OQC

积木链小链

质量管理 数字化 智能制造

ArkUI-X 5.0.4 Release:跨平台开发的全新体验

坚果

鸿蒙 HarmonyOS 坚果派

地位堪比S3!AWS开放了它最核心的数据库QLDB_数据库_sai_InfoQ精选文章