写点什么

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

  • 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:012422
用户头像

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

关注

评论

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

阿里云官方推出操作系统“等保合规”镜像 -- Alibaba Cloud Linux 等保2.0三级版

阿里云基础软件团队

内核

移动安全加固助力 App 实现全面、有效的安全防护

蚂蚁集团移动开发平台 mPaaS

安全攻防 App风险 mPaaS

如何实现后台管理系统的权限路由和权限菜单

徐小夕

Java 大前端 编辑器 H5 数据可视化

架构师训练营 - 第 7 周课后作业(1 期)

Pudding

【涂鸦物联网足迹】涂鸦云平台接口说明

IoT云工坊

人工智能 物联网 API sdk 云平台

架构师训练营第 1 期第 7 周总结

owl

极客大学架构师训练营

价值超10亿美元的直播系统架构图是什么样子的?

冰河

系统架构 高并发 高性能 亿级流量 直播架构

终于啃完了这份Java核心原理+框架“面试圣经”,成功五面上岸美团

Java架构追梦

Java 架构 面试 微服务 框架开发

医疗界“最强大脑”落户杭州!阿里巴巴联合浙大一院共同打造

互联网

揭秘在召唤师峡谷中移动路径选择逻辑?

华为云开发者联盟

算法 地图 最短路径

浅谈API网关(API Gateway)如何承载API经济生态链

华为云开发者联盟

API 网关

技术分享:WebAssembly能否重新定义前端开发模式?

葡萄城技术团队

webassembly

DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座

华章IT

数据库 postgresql

每周一看:16份文档资料,程序员软硬实力全概览,总有一个适合你

小Q

Java 学习 程序员 架构 面试

Apache DolphinScheduler 是如何走进Apache的

代立冬

大数据 数据湖调度 DolphinScheduler Apache DolphinScheduler

《Python:Python编程简介:计算机编程和机器学习入门指南》

计算机与AI

Python

架构师训练营第一期 - week8

习习

会展云技术解读 | 面对突发事故,APP如何做好崩溃分析与性能监控?

京东科技开发者

云计算 云服务

重磅解读:K8s Cluster Autoscaler模块及对应华为云插件Deep Dive

华为云开发者联盟

容器 k8s 服务

解决大中型浏览器(Chrome)插件开发痛点:自定义热更新方案——2.基于双缓存更新功能模块

梁龙先森

Java chrome 大前端 浏览器 技术方案

【运维思考】如何做好云上运维服务?

嘉为蓝鲸

云计算 运维 数字化转型 数据中心 云服务

百亿级数据分表后怎么分页查询?

艾小仙

Java MySQL 数据库 编程语言 分库分表

帮助企业摆脱困境,名企归乡工程师:能成功全靠有它!

Philips

敏捷开发

架构训练营 - 第7周课后作业 - 学习总结

Pudding

爆料!前华为微服务专家纯手打500页落地架构实战笔记,已开源

996小迁

架构 面试 分布式 微服务 程序人生

mongodb 源码实现系列 - 网络传输层模块实现三

杨亚洲(专注MongoDB及高性能中间件)

MySQL mongodb 分布式 高性能 分布式数据库mongodb

【云小课】版本管理发展史之Git+——代码托管

华为云开发者联盟

git 代码管理 托管

谈谈敏捷开发概念和迭代开发方案

Learun

敏捷开发

LeetCode题解:77. 组合,递归回溯,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

终于啃完了Java核心原理+框架“面试圣经”成功五面上岸美团

小Q

Java 学习 编程 架构 面试

又一道比较运算符相关的面试题让我明白基础很重要

Gopher指北

Go 语言

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