写点什么

为什么区块链永远不会干掉数据库

  • 2018-08-31
  • 本文字数:1926 字

    阅读完需:约 6 分钟

区块链前线导读: 现在有一种声音,说数据库不行了,要被区块链干掉了。真是这样的吗?诚然,数据库在 IT 界,确实是一个特别古老的研究领域,从最初的文件系统,到后来的 ER 实体关系模型。大数据实际就是数据库研究的一个分支。而区块链对于数据库的关系,就好比虚拟现实和电影的关系。虚拟现实并不会取代电影,数据库同样也如此。区块链和数据库并非你死我活的竞争关系,它们最终将会融合,就像电影的发展无法阻挡地向着虚拟现实技术发展一样。

区块链和数据库在数据处理和存储方式上有着根本的区别,这些区别意味着这两者在技术上是互补的关系,而非竞争对手。

区块链被大肆炒作,连卖菜的大妈也在谈论区块链、数字货币,在舆论场上,区块链占据了绝对性的主导地位,场面已经失控。尽管区块链是一项让数据生态系统更安全、更可信、更可验证的神奇技术,但它并不是什么万能药。在区块链的大肆炒作中,尤其有一个错误的观点,就是:区块链作为可验证的记录系统,因此,就可验证的记录系统而言,数据库已经被淘汰了!其实,这个观点完全是错误的。区块链和数据库是两种不同类型的记录系统,事实上,它们是互补的。

区块链的好处和挑战

市面上有许多不同的区块链技术和网络,它们都有一个共同的基本特征:“事务”记录都不存储在一个数据库中。相反,交易的共识是记录在生态系统中的整个参与者网络中。

区块链是一个不可变的分布式事务记录。它使用加密算法,以一种安全的方式在一组各方之间达成共识,从而使交易链中的各方对每一笔交易都有准确的记录。没有一个中央存储库是由单方保护的,否则,它可能会为了自己的利益而篡改数据库。区块链是值得信赖的,因为它的分布式模型、块是如何链接到链上的,以及它的一致性算法,使得改变它的成本之高,令人望而却步。

区块链的计算量很大。根据设计,用于产生共识的加密算法需要进行大量的工作。因此,人们在减少计算费用、相应的加密货币费用和电力费用上投入了大量的精力。一种称为“锚定”(anchoring)的方法,该方法减少了存储在链上的数据量。在链上,事务被分组、哈希并组织成带时间戳的区块,以便包含到区块链中。然后,在区块链上指示数据锚定位置的收据存储在数据库或其他持久存储中,使任何事务都可以验证。

这种方法的一个关键方面是,事务中涉及的数据并没有“存储”在锚中。锚只存储数据的加密哈希。锚定用于根据哈希验证原始数据,并确定何时将其提交到区块链,但不用于存储数据。这实际上就是一个记录系统,因为它记录了事务数据的哈希,其完整性任何人都可以随时进行验证。这就提供了一个独立的信任来源,同时还保持了机密数据的隐私,即使在公共区块链上也是如此。

区块链应用

区块链支持哪些应用?它们分为以下三类:

  • 智能合约确保基于预先确定的规则进行资产的一致转移。
  • 智能资产确保任何标记化资产的所有状态可在各方之间跟踪、验证和结算。
  • 智能物联网确保设备生成的信号未被篡改,并反映所感知的真实值。

数据库应用

数据库与区块链的不同之处在于,数据库是明确地存储数据,而不仅仅是哈希。数据库支持两种工作负载:运行工作负载(operational workloads)和分析工作负载(analytical workloads)。

操作数据库,也称为联机事务处理(Online Transactional Processinig,OLTP),为某些应用提供了支持。例如,欺诈争议解决系统,该系统允许呼叫中心代理能够帮助客户在一秒或更短的时间内审查金融交易并就这些交易提出争议。要实现这一点,就需要特殊的数据结构和算法,才能够非常快速地同时处理许多用户的数据。

在线分析处理(Online Analytical Processing,OLAP)系统负责审查历史事务并从中获得见解或生成预测的机器学习模型。这些系统专门用于对数据进行排序和计算指标,例如求和、平均值。这需要高吞吐量才能做到。

现在出现了一种新型数据库,可以将 OLTO、OLAP 和机器学习集成到同一个平台上,称为在线预测处理(online predictive processing,OLPP)。(译注:Splice Machine 就提供了一个 OLPP 平台)

例如,可以考虑以下三个用例:

  • 客户服务呼叫中心:通过电话、网络或移动应用等渠道,呼叫中心代理在接到订单后几秒内就对客户的查询做出响应。
  • 个性化:使用机器学习模型,可以预测客户即将采取何种行动。
  • 预测维护:使用机器学习模型,预测现场设备何时可能出现停机故障。

以上谈到的这些用例,都需要一个数据库才能完成,而这些用例区块链根本无法做到。

最后的话

那些数据库被淘汰的言论实在太夸张了!区块链确实可能会彻底改变事务的完整性,但是数据库仍将继续支持关键任务应用,分析这些应用,并作为人工智能学习的核心。区块链和数据库双剑合璧,一起为许多垂直领域提供了强大的组合。

原文链接: Why Blockchain Will Never Kill the Database

感谢杜小芳对本文的策划和审校。

2018-08-31 09:012706
用户头像

发布了 376 篇内容, 共 211.8 次阅读, 收获喜欢 949 次。

关注

评论

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

为什么 SQL 语句使用了索引,但却还是慢查询?

okokabcd

MySQL

Springcloud Oauth2 HA篇

Damon

微服务架构 安全架构 6月月更

盘点现有开源软件许可合规工具

开源社

Android 产生ANR后的Trace文件的解析

北洋

android 6月月更

柴云鹏:创新能力的培养至关重要|OceanBase 数据库大赛访谈

OceanBase 数据库

oceanbase 数据库大赛

评“开发人员不喜欢低代码和无代码的8个理由”

代码制造者

程序员 编程语言 开发 iVX 低代码开发

web前端培训React如何原生实现防抖

@零度

前端开发 React

知名网络安全硬件平台厂商铵泰克加入龙蜥社区

OpenAnolis小助手

开源 网络安全 龙蜥社区 CLA 铵泰克

物联网低代码平台如何使用操作日志?

AIRIOT

物联网 低代码开发 低代码平台 物联网关

LP流动性挖矿系统开发生态系统详解

开发微hkkf5566

kube-apiserver调度器核心实现

申屠鹏会

k8s

精益产品开发体系最佳实践及原则

阿里云云效

云计算 阿里云 精益开发 产品开发 开发

TiDB Cloud 上线 Google Cloud Marketplace,以全新一栈式实时 HTAP 数据库赋能全球开发者

PingCAP

TiDB

Linux中有趣的命令:cowsay,会说话的牛!

wljslmz

Linux 6月月更 cowsay

Java 对象如何安全的 toString

HoneyMoose

构建基于React18的电子表格程序

葡萄城技术团队

React 表格 纯前端表格技术

Java培训多线程+List分段解决批量更新太慢

@零度

List 多线程 JAVA开发

IPO,联结一切的桥梁

鼎道智联

保姆级教程:如何成为Apache Linkis文档贡献者

康月牙

Apache GitHub 教程 文档 Linkis

使用 KubeKey 搭建 Kubernetes/KubeSphere 环境的“心路(累)历程“

胡说云原生

Kubernetes KubeSphere KubeKey

Nacos配置中心实战,盘古微服务开发标配组件

码农大熊

微服务架构 nacos 盘古开发框架 分布式开发

版式设计三大原则

源字节1号

软件开发 小程序开发

【高并发】彻底理解Nginx限流机制与实战

冰河

并发编程 多线程 高并发 异步编程 6月月更

【直播回顾】Hello HarmonyOS应用篇第六课——短视频应用开发

HarmonyOS开发者

HarmonyOS

《数字经济全景白皮书》银行财富管理篇 重磅发布

易观分析

理财 银行理财

Plugsched 实战解读:如何在不中断业务时对 Linux 内核调度器热升级? | 龙蜥技术

OpenAnolis小助手

Linux 开源 内核 调度 Plugsched

苹果称M2比intel i5强26倍 虚假营销的实情揭晓!

科技之家

最佳实践 | 用腾讯云AI语音识别零基础实现小程序语音输入法

牵着蜗牛去散步

最佳实践 语音识别 小程序开发 腾讯云AI 语音输入法

喜报 | 旺链科技签约汨罗市文旅体产业项目,打造“链”上数字乡村

旺链科技

区块链 产业区块链 乡村振兴 汨罗市

元宇宙产业投资全景图,快人一步走进元宇宙新时代!

博文视点Broadview

为什么区块链永远不会干掉数据库_数据库_Monte Zweben_InfoQ精选文章