作为云计算平台领导者,近日AWS在其NoSQL软件-DynamoDB中增加了对事务处理工作负载的支持,从而进一步深入分布式云数据库领域,而Fauna等小型厂商也在积极打造事务性NoSQL。
在其领导团队(其中包括前Twitter工程师)的带领下,Fauna公司已经构建了所谓的“关系NoSQL数据库”–FaunaDB。
除FaunaDB外,市面上还有其他类似产品,例如受Spanner影响的CockroachDB、兼容Cassandra的ScyllaDB以及兼容Cassandra、Redis和PostgreSQL的YugaByte。这些产品在细节上各所不同,但它们有着共同的使命,即为所谓的事务性NoSQL提供支持,这是很多第一代面向云的数据库缺失的功能。
NoSQL的缺陷
目前关系数据库仍然是主要的数据平台,特别是对于事务处理。但是在很多云和Web应用程序中,开发人员已经准备抛弃甲骨文和其他主流关系型系统。Fauna公司首席执行官Evan Weaver在接受采访时表示,其中一个原因是关系型系统“不能为分布式应用程序提供规模”。他声称,这意味着成本和开发复杂性可能是挑战。
有些顶级NoSQL供应商试图通过采用ACID特性(原子性、一致性、隔离性和持久性)来使他们的数据库技术支持事务。例如,MongoDB公司在今年早些时候的MongoDB 4.0版本中改进了ACID合规性。Amazon公司同样在DynamoDB中开始支持事务,作为AWS re:Invent 2018大会中数据库更新的一部分。
但Weaver还表示,他发现(试图取代SQL数据库)NoSQL中存在漏洞。曾担任Twitter基础设施主管的Weaver认为NoSQL是个“失败”,因为“在使用方面没有取得真正进展”。
他说,在Twitter上对可用云规模数据库的搜索量没变,这促使他与其他人共同构建了FaunaDB。
Weaver认为,Cassandra或MongoDB等系统的NoSQL设计者做出了一些权衡以实现高可扩展性或一致性。他继续说,FaunaDB有效地融合了事务一致性和灵活水平扩展。
Fauna首席执行官谴责谷歌
Weaver表示,尽管全球数据分布导致延迟性,但FaunaDB致力于支持保持事务一致性。
他指出,对于这种类型的操作,客户会“想要将现有系统完全转移到云端”,或者是“想要创建全新的计算堆栈,带领它们到云端”。
Weaver指出,FaunaDB在不使用特殊硬件的情况下实现了数据一致性。也就是说,在某种程度上,这是对另一个流行事务性NewSQL模型的轻微谴责:谷歌的Spanner。
谷歌端Cloud Spanner系统基于Spanner软件,该软件利用了原子钟、GPS接收器和时间戳来帮助实现其可用性和一致性。
在谷歌云网站的白皮书中,谷歌指出Spanner结合了硬件和TrueTime时钟同步以实现数据的精确性和准确性。这种方法引起了一些人的反对,他们说使用特定硬件会导致用户被锁定在谷歌云数据中心提供的设置中。
Weaver表示,相比之下,FaunaDB不依赖于精确的时间来整理事务。相反,它采用全局事务日志,该日志按约定的顺序以10毫秒的增量进行排序。
英国马里兰大学帕克分校的计算机科学教授兼数据研究员Daniel Abadi也批评了原子钟定时和Spanner的其他方面,他同时也是Fauna公司的顾问。
Abadi的工作主要针对Vertica、VoltDB和HadoopDB等数据库技术,他介绍了Spanner方法的替代方案,他和他的合作者将其称为Calvin。FaunaDB的设计正融合了Calvin的原则。
“数据库怪咖”脚踩云端
Eigil Sagafos自称是“数据库怪咖”,但基于Calvin数据架构的复杂性并不是他部署FaunaDB作为新的商业云和本地流程建模工具集的一部分的原因。
软件初创公司ShiftX的首席技术官兼联合创始人Sagafos表示,他喜欢FaunaDB,因为它易于开发,特别是在查询功能方面。
他说,FaunaDB非常适合GraphQL,这是源自Facebook的API开源查询语言,ShiftX正在用它来构建的流程建模服务,并打算在全球范围内提供。
他补充说,FaunaDB的本机时态查询功能可向开发人员展示随时间推移数据的变化情况,该功能为ShiftX开发人员提供相当于“时间机器模式”功能,可让最终用户随着时间的推移看到他们的流程。
反思
Sagafos的个人数据库之旅涉及PostgreSQL、CouchDB和MongoDB。最近,他开始使用RethinkDB,这是一个分布式文档数据库,其创始公司(同名)已于2016年倒闭。
他说,RethinkDB在生产中出现问题,并且解决这些问题具有挑战性。当该数据库背后的这家公司倒闭时,这里需要一种全新的方法。
当他开始在ShiftX建立数据基础架构时,Sagafos深入研究了FaunaDB以及支持团队的工作。
在提供SQL的一致性和NoSQL的易开发性方面,Sagafos认为FaunaDB“绝对做到了两全其美”。为此,他补充说,该数据库有望全球范围内提供分布式数据处理。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
翻译
相关推荐
-
不安全的Firebase数据库使关键数据面临风险
当开发人员无法对支持其移动应用程序的数据库或云实例执行身份验证时,这里会发生一种最简单且最具破坏性的安全事件。 […]
-
真正的甲骨文云战略vs. AWS和Azure
如今,甲骨文云战略正遭受重创。原产品开发主管Thomas Kurian离开,加盟谷歌云计算部门,再加上甲骨文混 […]
-
Amazon RDS on VMware扩展内部云数据库
VMware和AWS公司围绕混合云深化了合作伙伴关系,并推出产品使VMware客户可在自己数据中心内访问亚马逊 […]
-
新配置模式改变Azure Cosmos DB功能、定价
微软继续添加Azure Cosmos DB功能,包括配置数据库吞吐量的功能–为多模式分布式云数据库 […]