六合天下论坛www.777758.com
栏目导航
  1. 六合天下论坛www.777758.com
  2. 118kj开奖现场开奖记录
  3. 35088新铁算盘
  4. 0407宝马会官方网站
  5. tk660图库小六总站六
  6. 43504.com
  7. www.64688.com

六合天下论坛www.777758.com

主页 > 六合天下论坛www.777758.com >

LiteTree发布:一个超快速 可分支的数据库引擎

发布日期:2019-09-13 00:29   来源:未知   阅读:

  要闻业界资讯手机数码创投派电子消费数据专栏通信前沿动态科技园网络安全游戏电商区块链企业前沿智能硬件

  与区块链等新技术一起引入的新的编程框架和语言很难理解。例如Solidity:最主要的去中心化应用平台(以太坊)的智能合约语言。借助Solidity,开发人员能够编写实现智能合约中包含的自我执行业务逻辑的应用程序,从而留下不可否认且权威的交易记录。

  虽然Solidity可以实现在去中心化架构上运行的全新应用程序,但其因开发者社区过于广泛而造成的复杂性和陌生性已经制约了去中心化应用程序的开发,只有一小部分“传教士”仍然热衷于使用它。

  据估计,目前全球有超过1800万名合格的软件开发人员,其中仅有不到1%的开发人员具有使用Solidity语言进行开发的能力。由于习惯了编程规范,大多数开发人员根本不具备软件开发人员在使用和掌握新语言时所应有的灵活性或能力。企业还经常雇佣兼职承包商来负责IT项目工作,而这些承包商大多不会仅仅为一个项目而学习新语言。如果将这些任务外包,我们认为完全依靠外部第三方来编写区块链重要的业务逻辑和规则是不明智的。

  我们认为,实现这一目标的唯一方法就是通过熟悉的工具链来利用开发人员现有的专业知识和经验。我们计划通过AERGO来实现这一目标,并将区块链的开发推向更广阔的市场。为了实现这一目标,我们正在推出一个基于众多Blocko过去23个商业私有链部署的精细的SDK,IDE和以用例为中心的部署蓝图。

  我们还引入了一种许多人认为古老而乏味的语言- SQL,以向超过850万名SQL开发人员开放区块链开发。为此,我们的巴西研发团队精心设计了一个强大的SQLite引擎,我们将把这个引擎纳入AERGO功能套组,以向大众市场开放区块链应用程序和代码开发。

  假设单个数据库能够建立多个连接,且每个连接读取一个单独的分支或同时提交。假设有一个数据库,其中每个连接写入完全独立的分支。这些都是有可能实现的,只要使用我们的巴西开发人员Bernardo Ramos创建的一种新工具。在其中, Bernardo Ramos投入了其在软件开发和关系数据库管理方面二十年的经验。

  我们非常自豪地向大众宣布发行我们的第一个开源项目:LiteTree。这是一个具有分支功能的快速SQLite引擎。自从我们首次将初始版本开源到我们的GitHub页面,LiteTree引起了人们极大的兴趣,并为开发者社区所广泛接受。它占领了Hacker News的头版几个小时,成为了Hackaday的热门话题,并在OpenNET上获得了良好的口碑。 LiteTree的创新和对开源的贡献得到了认可,并在GitHub上被收藏超过1,250次。

  分支:在类似Git的流程中,LiteTree允许开发人员对基于SQL的数据进行分支。

  速度:LiteTree速度极快,其读写速度是原始SQLite软件的两倍。77970王中王淘码论坛

  LiteTree允许存储一个数据库的多个版本,每个分支可以继续独立开发和更新。这意味着用户可以通过多个读取点访问一个数据库,每个读取点与数据库中的特定开发分支相关联。LiteTree的速度是通常在Linux和MacOSX上运行的SQLite的两倍多,这是通过在LMDB上存储SQLite数据库页面而实现的。

  以下内容将解释我们为何以及如何开发LiteTree以在Blocko上使用和LiteTree将在AERGO协议中发挥的作用。AERGO协议是我们正在努力准备并预计明年推出的产品。

  几个月前,Blocko的团队希望在Coinstack中提供基于SQL的时间点恢复功能,Coinstack是我们在23个企业IT环境中部署的全栈许可区块链产品。此时间点恢复功能将在重组区块时为区块链提供数据库存储回滚功能。在与我们的合作伙伴进行了多次讨论后,我们得出的结论是:在Coinstack中提供这一功能将是明智之举。我们首先使用LiteReplica,一个用于数据库复制的修改过的SQLite引擎,以便为Coinstack提供这个数据库功能。

  假设一个区块可以有零个或多个合约交易。如果该区块成功地连接到最长链,则会将每个合约交易的提交点留给相应的SQL存储。此提交包含合约交易的所有更新。一个区块包含与SQL数据库存储关联的多个提交点。未更新的合约提交点与前一个区块的提交点相同。

  在图1中,原始最佳区块是区块103。如果从区块101到区块110接收到新区块,则必须将区块链回滚到区块100。此后,合约A的提交点是提交点1并且合约B的提交点是提交点8。将合约B数据库回滚到提交点8可以使其SQL存储对应于区块100。

  通过时间点恢复,我们可以有效地无缝执行新区块的合约交易。我们在Coinstack平台中实现了此功能,让客户可以在许多不同的用例中因其受益。

  几个月过去了,我们正在创建AERGO。与Coinstack不同,AERGO将完全开源,且其主链将是公开的。出于这个原因,我们想让AERGO比Coinstack更能吸引开发人员。于是我们决定采用类似的功能,以便将AERGO平台展示给熟悉SQL等语言的更广泛的数据库工程师社区。

  基于我们的任务是创建适合大规模使用的开源平台,我们计划在以下几个方面为区块链中的SQL提供支持。我们执行此任务的计划包含两个方面:

  AERGO中提供数据库功能:允许通过SQL查询数据和编写未来的互操作性功能

  LiteTree的区块链实施通过在区块链中结合精细的数据库功能来解决上述第一个问题。与简单的基于键/值存储的系统相比,它提供了一种非常方便的方式来处理链上的数据,并应用于许多互操作性功能中。

  如上所述,LiteTree允许在账簿中使用关系数据库的功能,通过时间点恢复支持区块重组和回滚功能。在AERGO中,LiteTree可以实现极快的恢复时间;比LiteReplica应用于Blocko的Coinstack时的速度还更快。

  在图2中,我们使用LiteTree管理基于SQL的状态存储。SQL存储可以存储结构化数据,并可通过SQL访问。每个合约只有一个SQL存储。

  LiteTree在AERGO上的分支:使用LiteTree,您不仅拥有超快速SQLite引擎的强大功能,而且还可以进行分支。这是我们最初计划在AERGO的n层架构中使用的东西。我们最初计划在区块链中提供类似Git的分支作为区块并行化解决方案的一部分,并且实现LiteTree将允许在分支中进行关系数据库存储控制(在我们当前的技术白皮书中有所描述)。但是,我们已经将计划改为使用第一层协议级数据库存储。这意味着我们将不使用最初开发的LiteTree的分支功能。我们在研究方面很活跃,并将告知我们的技术团队如何在AERGO中应用存储级别的分支功能。

  在AERGO中实施LiteTree时,可以启用多版本并发控制,因此开发人员可以在不同区块高度之间查看到一致的数据。

  支持SQL进行智能合约开发是AERGO在更广泛的开发者社区中拓展平台使用的又一举措。该平台将包括AERGOSQL,这是一种基于编码语言的规范智能合约引擎,使用类似SQL的语法和语义。

  我们很高兴地宣布AERGOSQL的开发进展顺利,目前正在测试私人测试版,并将在未来公布有关其开源版本的更多信息。即将发布的初版AERGOSQL将包括调用级SQL支持。稍后还将发布语法集成的SQL支持。

  每个数据库交易都保存为一个提交点,每个提交点都有一个递增编号。假设有一个空数据库,我们在其中运行第一个SQL命令:

  要在单次提交中包含许多SQL命令,我们必须将其包含在“BEGIN”和“COMMIT”命令中。

  执行此命令后,将创建新的分支,但不会添加任何新数据。数据库连接也会移动到这个新分支,将其作为当前分支。我们可以使用命令检查当前分支。

  如果我们在此数据库连接上执行SQL命令,则提交将保存在连接的当前分支中。

  此时,表“t1”只有一行,如果我们点击“SELECT”,它将首先返回“first”。

  只能在每个分支的开头进行写入,因此在已定义的提交中,我们无法写入数据库。如果要对某些先前的提交进行修改,就必须创建一个从该提交开始的新分支,也可以在特定提交时截断分支,重命名分支,删除分支以及检索分支信息。

  您可以将LiteTree与需要许多千兆字节存储空间的大型数据库一起使用。创建新分支时没有数据复制;提交新交易时,仅复制已修改的数据库页面。

  我们最初决定不在LiteTree中包含差异或合并功能,因为AERGO不需要这些功能。但是,许多使用LiteTree的开发人员都表示对这些功能感兴趣,我们正在积极努力将这些功能纳入其中。因为它不仅是一个开源项目,而是一个完整的开源平台和支持生态系统。我们计划使我们发布的代码和工具尽可能具有吸引力和实用性,以便尽可能多地将开发人员带入我们的生态系统中。

  总而言之,在AERGO上实施LiteTree将为开发人员提供许多数据库功能,并允许他们在区块链上使用SQL编码功能。我们还将能够利用LiteTree的分支特性将数据库存储功能应用到AERGO的n层区块链设计中,最大限度地提高开发人员或企业在AERGO平台上部署和管理链的可编程性。

  我们希望看到很多人在项目中使用LiteTree,并期待看到我们的技术社区提出一些解决方案。请继续关注LiteTree及其将在稍后推出的其他功能的更多更新。同时,欢迎您随时为LiteTree做贡献。

  如果您想和我们探讨LiteTree或任何关于AERGO的技术问题,请访问我们最近开放的官方Discord服务器。

  1、“国际在线”由中国国际广播电台主办。经中国国际广播电台授权,国广国际在线网络(北京)有限公司独家负责“国际在线”网站的市场经营。

  2、凡本网注明“来源:国际在线”的所有信息内容,未经书面授权,任何单位及个人不得转载、摘编、复制或利用其他方式使用。

  3、“国际在线”自有版权信息(包括但不限于“国际在线专稿”、“国际在线消息”、“国际在线XX消息”“国际在线报道”“国际在线XX报道”等信息内容,但明确标注为第三方版权的内容除外)均由国广国际在线网络(北京)有限公司统一管理和销售。

  已取得国广国际在线网络(北京)有限公司使用授权的被授权人,应严格在授权范围内使用,不得超范围使用,使用时应注明“来源:国际在线”。违反上述声明者,本网将追究其相关法律责任。

  任何未与国广国际在线网络(北京)有限公司签订相关协议或未取得授权书的公司、媒体、网站和个人均无权销售、使用“国际在线”网站的自有版权信息产品。否则,国广国际在线网络(北京)有限公司将采取法律手段维护合法权益,因此产生的损失及为此所花费的全部费用(包括但不限于律师费、诉讼费、差旅费、公证费等)全部由侵权方承担。

  4、凡本网注明“来源:XXX(非国际在线)”的作品,均转载自其它媒体,转载目的在于传递更多信息,丰富网络文化,此类稿件并不代表本网赞同其观点和对其线、如因作品内容、版权和其他问题需要与本网联系的,请在该事由发生之日起30日内进行。

  违法和不良信息举报电话 举报邮箱:.cn 新闻从业人员职业道德监督电话 监督邮件:.cn