各位小伙伴们我们又见面了,伴随着区块链技术的推广,很多企业也在思考是否将其应用。其实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相关推荐

  1. 世界上最大的超级计算机,科学网—区块链(blockchain)如何能造出世界上最大的超级计算机? - 刘进平的博文...

    区块链(blockchain)如何能造出世界上最大的超级计算机? Technology As our desktop computers, laptops, mobile devices, etc.  ...

  2. Blockchain实现详细手册

    Bill Caraher预见到有一天blockchain技术"将会证实,并且会无疑问地证明"法律行业所使用的文档和合同的来源.对于Caraher来说,他是von Briesen & ...

  3. postgresql 查询序列_时间序列数据库(TSDB)初识与选择

    背景 这两年互联网行业掀着一股新风,总是听着各种高大上的新名词.大数据.人工智能.物联网.机器学习.商业智能.智能预警啊等等. 以前的系统,做数据可视化,信息管理,流程控制.现在业务已经不仅仅满足于这 ...

  4. 区块链论文: Bitcoin-NG: A Scalable Blockchain Protocol

    本文首发于 https://zhuanlan.zhihu.com/blockchain-top-paper 发现已有几篇中文博客描述这篇论文,但是本文跟它们的不同点在于,希望站在高层视角,结合图片来理 ...

  5. 时序数据库(TSDB)-为万物互联插上一双翅膀

    本文由  网易云 发布. 时序数据库(TSDB)是一种特定类型的数据库,主要用来存储时序数据.随着5G技术的不断成熟,物联网技术将会使得万物互联.物联网时代之前只有手机.电脑可以联网,以后所有设备都会 ...

  6. 时序列数据库武斗大会之 TSDB 名录 Part 1

    2019独角兽企业重金招聘Python工程师标准>>> [编者按] 刘斌,OneAPM后端研发工程师,拥有10多年编程经验,参与过大型金融.通信以及Android手机操作系的开发,熟 ...

  7. 百度的TSDB——可针对tag查询,应该类似kairosDB

    天工架构 目前,天工平台的服务主要由物接入.物解析.物管理.规则引擎和时序数据库组成,并可无缝对接百度云天算智能大数据平台及基础平台产品,可提供千万级设备接入的能力,百万数据点每秒的读写性能,超高的压 ...

  8. IBM推出实时跨境支付解决方案Blockchain World Wire

    \ 计算巨头 IBM 公司现已推出基于区块链技术的金融解决方案,据称其有望彻底颠覆现有全球支付与汇款体系的运作方式. \这套全新解决方案名为"IBM Blockchain World Wir ...

  9. blockchain 区块链200行代码:在JavaScript实现的一个简单的例子

    blockchain 区块链200行代码:在JavaScript实现的一个简单的例子 了解blockchain的概念很简单(区块链,交易链块):它是分布式的(即不是放置在同一台机器上,不同的网络设备上 ...

最新文章

  1. qtdll在linux系统运行,在QT下编写带DLL的程序
  2. DHCP自动分配地址;DHCP指定IP给客户端
  3. Meta AI发布图音文大一统模型Data2vec,4天在GitHub揽1.5万星
  4. [T-ARA][Bo Peep Bo Peep]
  5. 计算机专业课程设计报告c语言,计算机程序设计(C语言)课程设计报告.doc
  6. linux vim tag,Vim基础知识之ctags 及 Taglist 插件
  7. Django之Apache2部署
  8. silverlight体验之三:简单控件堆成个Login
  9. 前景色和背景色_好色之人福利 — 室内空间背景色
  10. Mac 使用命令行工具解压和压缩 rar 文件
  11. Ceph RBD 接口和工具 [Ceph RBD API and Tools]
  12. 东华大学计算机专业全国排名多少,2017东华大学专业排名情况
  13. 计应121--实训一【李智飞(27号)--李阳持(26号)--胡俊琛(13号)--曹吉(2号)】
  14. execve系统调用_进程调度之 4:系统调用execve
  15. 国内首部区块链行业纪录片开播
  16. put短语(put短语归纳)
  17. 手把手教你打造全宇宙最强 Firefox 浏览器
  18. 【Axure交互教程】 隐藏页面滚动条的3种方法
  19. python lambda函数for 字符串_Python Lambda
  20. 计算机类自主招生推荐信,自主招生推荐信范文2017

热门文章

  1. flask marshal
  2. FLASH精灵-反编译
  3. linux下文件新建、移动(重命名)、复制粘贴、删除命令使用方法(touch,mv,cp,rm)
  4. 阿里云 IP 地理位置库(淘宝IP库)实践(后篇)
  5. C语言FLOAT类型
  6. Android开发APK更新下载自动安装打开
  7. python if elif用法_Python elif 条件判断-python if elif-python else if-Python elif使用-嗨客网...
  8. python doc_pydoc:python的文档工具
  9. XML和HTML常用转义字符
  10. python readlines慢_为什么在Python中readline()比readlines()慢得多?