TSDB与Blockchain
各位小伙伴们我们又见面了,伴随着区块链技术的推广,很多企业也在思考是否将其应用。其实TSDB与区块链有很多共通之处,本期Jesse就来和大家聊聊TSDB与区块链。本文参考了Nicolas Hourcard的文章“You Don’t Need a Blockchain, You Need a Time-Series Database”。
本文仅代表个人观点,如有偏颇之处,还请海涵~
在企业应用中区块链技术的使用在近些年来迅猛增长。理论上来说,区块链技术可以提供跨行业的支持,从房地产到金融服务,从大健康产业到供应链管理。然而,真实情况却不是如此,相关调查显示,全球只有14%的区块链项目通过了POC,投入到了生产环节。这也让我们不禁思考,企业应用程序真的需要区块链加持吗?
About Blockchain
我们首先先简要回顾一下区块链是什么。首先,区块链是一个随着时间的推移存储信息的数据库,其也引入了一种完全去中心化的共识机制。我们以比特币为例,其可以在参与者之间验证金融交易,而无需求助于独立第三方(绕过了中介)。在这个网络中,任何人都将是其一部分,他们都可以决定这笔交易是否有效。一旦交易被验证有效,这笔交易也将添加到新的交易区块中。然后每个新区块添加到区块链中。通过这种方式,我们达到了同一数字货币不被多次消费的目的。同时,因为任何人都可以参与并验证交易,因此该网络被认为是无权限网络。公共的、无需许可的区块链在去中心化方面为我们提供了新的视角。
我们应该承认,对于数字货币来讲,一个对所有人开放的点对点框架确实具有创新性。但对企业而言却并非完全如此,因为很多企业并不想公开自己的敏感记录,并且他们只希望允许少数受信任的用户拥有审批权。也就是说大多数企业应用程序首先不需要去中心化,而是最好由一个具有单点的中心化数据库来提供服务,因此这种去中心化的区块链组织形式需要企业去谨慎的权衡和取舍。区块链的主要缺点是:首先,其缺乏可扩展性。以太坊——企业区块链的基础,其平均每秒只能处理15笔交易。这与企业需求相去甚远——单个数据库每秒可能读取数百万个数据点。其次,因为区块链需要依赖资源密集型的共识机制,因此会导致更多处理开销和更高能耗。
TSDB与区块链
事实上,TSDB与企业区块链有很多共同的属性。首先,二者都是以时间为主轴。在区块链中,区块被以有规律的时间间隔加入到链中,这也就意味着对于每一个区块的数据,其都会关联一个时间戳。而在TSDB中,因为其针对时间进行了优化,所以我们可以有效地查询与检索与时间戳相关的数据。比如,我们可以想象,股票价格每时每秒都在改变。其次,二者都具有不变性。在区块链的世界中,一旦将区块加入链中,我们就无法再更改。这在数据库的领域里,类似于可以“插入”,但没有“删除”或“更新”的功能。在TSDB中,替代更新的操作,我们只需要添加最近的数据(近期数据更常被读取)。最后,二者都可以支持长地址格式(256个比特)。在区块链中,这是加密货币公共地址的格式。在TSDB中,我们也可以构建比字符串更好的数据类型,以支持更有效地写入和读取区块链地址。
因此我们可以使用TSDB按时间来重现单个已完成交易事项的完整历史记录。这其实也就是区块链节点的工作方式,他们的相似之处在于:第一,数据复制。区块链中的每个节点都保存着整个交易历史。如果一个节点遭到破坏,我们依靠其他节点来提供完整的历史记录。同样,这个概念在传统数据库中已经存在了几十年,如果一个数据库出现故障,我们可能需要另一个数据库作为备份。第二,共识。区块链有多方(即节点)就特定交易达成一致。传统数据库中有Raft和Paxos等共识算法,类似于投票机制。第三,分片。不是让所有节点计算所有操作来验证交易和执行智能合约,而是分配节点只处理某些计算。数据库分片将大型数据库分成更小的块,以促进跨多个服务器的水平扩展。
综合来看,对于大多数企业来讲,如果去中心化不是必须,那么由具有单点的中心化数据库提供服务是更好的存储解决方案。如果时间是这些企业的主轴,那么TSDB就将是他们的最佳选择。
CnosDB 简介
CnosDB 是一款高性能、高易用性的开源分布式时序数据库,现已正式发布及全部开源。
欢迎关注我们的代码仓库,一键三连
TSDB与Blockchain相关推荐
- 世界上最大的超级计算机,科学网—区块链(blockchain)如何能造出世界上最大的超级计算机? - 刘进平的博文...
区块链(blockchain)如何能造出世界上最大的超级计算机? Technology As our desktop computers, laptops, mobile devices, etc. ...
- Blockchain实现详细手册
Bill Caraher预见到有一天blockchain技术"将会证实,并且会无疑问地证明"法律行业所使用的文档和合同的来源.对于Caraher来说,他是von Briesen & ...
- postgresql 查询序列_时间序列数据库(TSDB)初识与选择
背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这 ...
- 区块链论文: Bitcoin-NG: A Scalable Blockchain Protocol
本文首发于 https://zhuanlan.zhihu.com/blockchain-top-paper 发现已有几篇中文博客描述这篇论文,但是本文跟它们的不同点在于,希望站在高层视角,结合图片来理 ...
- 时序数据库(TSDB)-为万物互联插上一双翅膀
本文由 网易云 发布. 时序数据库(TSDB)是一种特定类型的数据库,主要用来存储时序数据.随着5G技术的不断成熟,物联网技术将会使得万物互联.物联网时代之前只有手机.电脑可以联网,以后所有设备都会 ...
- 时序列数据库武斗大会之 TSDB 名录 Part 1
2019独角兽企业重金招聘Python工程师标准>>> [编者按] 刘斌,OneAPM后端研发工程师,拥有10多年编程经验,参与过大型金融.通信以及Android手机操作系的开发,熟 ...
- 百度的TSDB——可针对tag查询,应该类似kairosDB
天工架构 目前,天工平台的服务主要由物接入.物解析.物管理.规则引擎和时序数据库组成,并可无缝对接百度云天算智能大数据平台及基础平台产品,可提供千万级设备接入的能力,百万数据点每秒的读写性能,超高的压 ...
- IBM推出实时跨境支付解决方案Blockchain World Wire
\ 计算巨头 IBM 公司现已推出基于区块链技术的金融解决方案,据称其有望彻底颠覆现有全球支付与汇款体系的运作方式. \这套全新解决方案名为"IBM Blockchain World Wir ...
- blockchain 区块链200行代码:在JavaScript实现的一个简单的例子
blockchain 区块链200行代码:在JavaScript实现的一个简单的例子 了解blockchain的概念很简单(区块链,交易链块):它是分布式的(即不是放置在同一台机器上,不同的网络设备上 ...
最新文章
- qtdll在linux系统运行,在QT下编写带DLL的程序
- DHCP自动分配地址;DHCP指定IP给客户端
- Meta AI发布图音文大一统模型Data2vec,4天在GitHub揽1.5万星
- [T-ARA][Bo Peep Bo Peep]
- 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc
- linux vim tag,Vim基础知识之ctags 及 Taglist 插件
- Django之Apache2部署
- silverlight体验之三:简单控件堆成个Login
- 前景色和背景色_好色之人福利 — 室内空间背景色
- Mac 使用命令行工具解压和压缩 rar 文件
- Ceph RBD 接口和工具 [Ceph RBD API and Tools]
- 东华大学计算机专业全国排名多少,2017东华大学专业排名情况
- 计应121--实训一【李智飞(27号)--李阳持(26号)--胡俊琛(13号)--曹吉(2号)】
- execve系统调用_进程调度之 4:系统调用execve
- 国内首部区块链行业纪录片开播
- put短语(put短语归纳)
- 手把手教你打造全宇宙最强 Firefox 浏览器
- 【Axure交互教程】 隐藏页面滚动条的3种方法
- python lambda函数for 字符串_Python Lambda
- 计算机类自主招生推荐信,自主招生推荐信范文2017
热门文章
- flask marshal
- FLASH精灵-反编译
- linux下文件新建、移动(重命名)、复制粘贴、删除命令使用方法(touch,mv,cp,rm)
- 阿里云 IP 地理位置库(淘宝IP库)实践(后篇)
- C语言FLOAT类型
- Android开发APK更新下载自动安装打开
- python if elif用法_Python elif 条件判断-python if elif-python else if-Python elif使用-嗨客网...
- python doc_pydoc:python的文档工具
- XML和HTML常用转义字符
- python readlines慢_为什么在Python中readline()比readlines()慢得多?