大多数企业其实不需要区块链而可能是时间序列数据库 – thenewstack


近年来,将区块链用于企业应用程序的数量激增,具有前瞻性的企业可以在R3的Corda,Consensys的Quorum甚至Hyperledger(由Linux Foundation托管)之间进行选择,以支持区块链应用程序。从理论上讲,这种区块链将提供从房地产到金融服务,从医疗保健到供应链管理的跨行业支持。但是,现实是不同的。根据HFS Research的数据,到目前为止,只有约14%的PoC可以投入生产。
这就提出了一个重要的问题:您的应用程序是否真的需要企业区块链?
 
QuestDB上,我们花了很多时间从事区块链和数据库技术的工作之后,我们认为对于许多应用程序,您真正需要的是高性能的时序数据库。但是在争论我们的情况之前,让我们先快速提醒一下区块链的全部内容,以及区别于公共区块链(例如比特币)与私有,封闭式企业区块链的区别。
 
区块链特点
首先,区块链是一个用于随时间存储信息的数据库。“比特币blockchain”被广泛吹捧为一种革命性的技术,因为它引入了一个完全分散的共识机制来绕过中间商。例如,可以在参与者之间验证金融交易,而无需诉诸独立的第三方。任何人都可以参与的网络将决定交易是否有效。验证后,该交易将添加到新的交易块中。然后将每个新块添加到区块链。这很好地解决了“双重支出”问题,也就是同一数字货币可能会被多次使用的问题。这个网络是所谓的无许可因为任何人都可以参与并开始验证交易。公共的、未经许可的区块链在去中心化方面提供了新的视角。
对所有人开放的点对点框架相对于数字货币而言可能是革命性的,但不适用于企业需求,例如可能包括不想公开披露敏感记录,并且仅允许一些受信任的用户进行批准。进入私有区块链的世界,这些私有区块链世界需要被许可授权,这意味着只有选定数量的用户才能批准交易,并且还提供围绕交易的可见性,治理等等的一组特定规则。
区块链的去中心化为企业带来了巨大的权衡。区块链的主要缺点是缺乏可扩展性。以太坊区块链支撑着一些企业区块链,平均每秒只能处理15笔交易。这与企业要求相去甚远-单个数据库每秒可能会吸收数百万个数据点。第二个挑战是区块链依赖资源密集的共识机制,从而导致更多的处理开销和更高的能耗。

 
时间序列数据库
事实证明,一种称为时间序列(“ TSDB”)的特殊类型的数据库与企业区块链共享许多属性。
让我们比较一下私有区块链和TSDB之间的属性:

  • 以时间为主轴:以固定的时间间隔将区块添加到区块链中。对于每个数据块,都有一个关联的时间戳。时间序列数据库经过优化,可以有效地提取和检索与时间戳关联的数据点。认为股票价格每微秒变化一次。
  • 不变性:一旦将一个区块添加到区块链中,就无法更改。在数据库世界中,这类似于“插入”,而没有“删除”或“更新”的能力。无需更新记录,只需添加最新记录即可,事实上,它将成为最新的阅读记录。时间序列数据库通常仅是APPEND并共享这些特征。
  • 长256格式:这是加密公共地址的格式。在QuestDB,我们建立了一种比字符串更好的数据类型,以有效地读写长256个区块链地址。

因此,可以使用TSDB重播按时间排序的所有单个交易的完整历史记录;这就是区块链节点的工作方式。其他相似之处包括:
  • 数据复制:区块链中的每个节点都拥有整个交易历史。如果一个节点受到威胁,我们将依靠其他节点来提供完整的历史记录。同样,这个概念在传统数据库中已经生效了数十年:如果一个数据库发生故障,我们可能希望另一个作为备份。
  • 共识:区块链将有多方(即节点)来达成特定交易。传统数据库中有类似于表决机制的共识算法,例如RaftPaxos
  • 分片:不是让所有节点都计算所有操作以验证交易和执行智能合约,而是分配节点仅处理某些计算。数据库分片将大型数据库分解为较小的块(称为分片),以促进跨多个服务器的水平扩展。

 
区块链功能的其他方面可以在应用程序中处理。例如,私人分类帐允许数据共享,并且由于该软件的规则而无需彼此信任的不同方可以查看数据-这可以是银行和监管机构共享对客户交易数据的数据访问。我认为可以通过位于数据库层顶部的业务逻辑层完成数据访问,以向外部各方提供数据。
对于诸如政府无法影响的数字货币之类的防审查用例,存在诸如比特币之类的公共未经许可的区块链。大多数企业应用程序一开始不需要分散,最好由具有单点的集中式数据库来提供服务。如果时间是主轴,那么时间序列数据库是最好的选择。