DataStax推出Stargate项目将Cassandra转变为多模型数据库
通过Stargate开源项目,DataStax希望将Cassandra的影响范围扩大到非Cassandra开发人员。
DataStax将发布Stargate的第一个预览版,Stargate是一个新的开源API框架,最终可能将Apache Cassandra变成多模型数据库。这种方法与Microsoft Azure和Google的云数据库相类似,后者也采用了API方法,最近也采用了像Oracle这样的家用品牌。
虽然项目名称让人回想起David Bowie的记忆,但Stargate的目标是将Cassandra暴露于CQL(Cassandra查询语言)或Gremlin的现有开发人员基础之外,面向精通JSON的JavaScript开发人员或习惯于使用SQL的Java开发人员。访问将通过支持完整CRUD(创建,读取,更新,删除)功能的API进行。乍一看,第一个(并且目前唯一)API支持带有CQL和REST API的Apache Cassandra并不奇怪。
Stargate被设计为与存储引擎分开的网关,可以在本地或云中运行。它基于确定协调器 Cassandra如何处理请求的熟悉的协调器节点代理。作为多主数据库,任何节点都可以充当用于路由查询处理的协调器,并且这些节点与存储区分开。通过利用处理CQL请求的相同代理,不必重新组织Cassandra即可处理其他API。
该项目托管在GitHub上,可通过标准Apache 2.0开源许可证获得。目前,DataStax尚未宣布有关Stargate的进一步计划,但该社区很可能将处理SQL,JSON文档(我们期望采用MongoDB风格的API),GraphQL和Gremlin。在这一点上,我们还不知道Stargate带有Cassandra API的性能如何与Apache Cassandra本身已有的性能相比。
遵循API路线,Stargate绘制了与Azure Cosmos DB类似的路径,后者在同一个数据库中提供了五个API,包括SQL,MongoDB有线协议,Cassandra,表(用于键值)和Gremlin。(在Cosmos DB中,一旦为数据集选择了API,就必须使用它。)Google也有类似之处,它为Cloud Spanner使用相同的存储引擎,该引擎通过SQL API公开,并且Cloud Firestore,遵循JSON文档API。
可以想象,Stargate可能会演变成访问Cassandra的首选方式,但这取决于两个大的“ if”。首先,与现有的本机访问方法相比,绝不会对性能造成任何影响,其次,该项目将必须被Apache Cassandra社区接受并正式成为该项目的一部分。
DataStax Enterprise(Cassandra的商业发行版)DataStax Enterprise并不是多模型支持。通过较早的收购,DataStax平台还支持Gremlin,但是在DSE 6.8版本之前,图形引擎尚未集成到核心数据库中,因此图形数据必须分别建模和提取。使用DSE 6.8时,图形视图可以使用相同的本机CQL API,也可以使用相同的数据提取。但是图形支持仅提供给DSE客户,而不是核心开源平台的一部分。如果Stargate被Apache Cassandra项目接受,那将是将Gremlin以及潜在的其他母版API主流化的一种方式。