多模型DBMS的DB-Engines排名中的新选项

208 阅读3分钟

多模型DBMS的DB-Engines排名中的新选项

我们最近改变了对待数据库管理系统的多模型方面的方式,并在流行度排名中引入了一个新的选项。这篇文章解释了背后的想法。

今天,对大量结构化和非结构化数据的管理、查询和有效使用往往需要用不同的专门数据模型来存储这些数据。这可能是表格形式(关系型DBMS)、图形(图型DBMS)、JSON或XML形式的文档(文档存储XML DBMS)、时间序列数据(时间序列DBMS)以及其他一些模型。

对于并行使用一个以上的数据模型,基本上有两种选择:

  • 使用多语言数据库架构(多个DBMS与一个模型)
  • 使用一个多模型的DBMS(一个支持多个模型的DBMS)

因为这两种方法都是有效的,许多DBMS供应商扩展了他们现有的产品以支持更多的数据模型,一些例子是:

Oracle,关系型DBMS无可争议的领导者,用文档、图和RDF功能增强了其产品,使其成为一个多模型的DBMS

MySQL的8.0版本中,引入了一个新的文档存储模型,它允许JSON文档存储在集合中并使用CRUD操作进行管理。

Microsoft SQL ServerPostgreSQLIBM Db2和其他许多RDBMS也同样用多模型功能扩展了它们的功能。

同样的趋势也出现在NoSQL系统中。例如,Redis,最流行的键值存储,通过可下载的模块将其应用场景扩展为多模型DBMS

这种情况由DBMS完成,它们最初是为了处理不同形状的数据(例如ArangoDBOrientDBMicrosoft Azure Cosmos DB)。

DB-Engines流行度排名必须考虑到这种情况,特别是在DB-Engines子排名中对多模型方面的适当处理(例如在文档存储的排名中):这种子排名的一个访问者可能只想在这个排名中看到专门用于特定数据模型的系统,而不想让所有多模型系统稀释这个排名。而另一个访问者只想在相应的子排名中看到所有支持该数据模型的数据库。为了促进这种选择,我们现在提供了一个复选框,允许访问者在两种表现形式之间切换。

为了使之成为可能,我们不得不稍微重新定义已经存在的属性 "主要数据库模型 "和 "次要数据库模型 "的语义。前者现在表示一个DBMS通常被称为和主要使用的数据模型。例如,毫无疑问,Oracle的知名度来自于它是一个RDBMS,因此它的主要数据模型是 "RDBMS"。如前所述,如今它也支持文档、图和RDF模型。这些信息在 "二级数据库模型 "的属性中被传达出来。因此,'主模型'属性控制着一个系统在哪个子排名中,以及哪个数据库模型被列在排名表中。拥有一个以上主模型的系统只显示为 "多模型"。点击子排名中的复选框,也包括支持该数据模型的数据库作为 "二级模型"。

值得一提的是,这些变化并不影响关于数据模型总体受欢迎程度的各种统计(例如:https://db-engines.com/en/ranking_categories),因为我们仍然使用主要模型进行计算。

由于一些数据模型本身就可以支持其他模型(例如,每个关系型系统都可以(错误地)被用作键值存储),在这种情况下,我们不把一个系统限定为多模型。