MariaDB公司是MariaDB开放源码关系数据库背后的商业实体,它最初是作为MySQL的“分支”而存在的。这个被称为X4平台的版本为MariaDB带来了新的存储模式。这导致了平台的云友好部署和分析工作负载的调节。MariaDB公司产品营销高级总监Shane Johnson向ZDNet简要介绍了X4平台的新功能。
随着整个行业的关系OLTP(在线事务处理)数据库增加了操作分析功能,MariaDB下一步也应该这样做。Johnson解释说,MariaDB现在将附带一个插件,当激活时,它将使数据库中的表以列存储格式和常规的行存储格式存储。由于分析性查询倾向于将存储在一个或少量列中的值聚合在一起,因此将列中的所有值存储在一起有助于提高此类查询的效率。
实际上,已经有一个MariaDB变体提供了列存储功能,但这迫使数据库架构师和开发人员针对不同的应用程序和工作负载使用不同的数据库版本/发行版。平台X4提供了一个统一的平台,可以处理OLTP工作负载、分析工作负载或两者兼有。
MariaDB公司正在推广其所谓的“智能交易”概念,以强调这种双重能力。例如,用户可能希望根据产品的流行程度交叉引用或排列这些信息,而不是仅仅查询数据库来确定产品的数量,这实际上是一次性查询事实和分析信息。另一个示例可能涉及航空公司查询特定类别的所有航班的列表,同时返回到它们到目前为止的准时性能。
在物理实现方面,数据库表的列存储版本必须保持在与S3 API兼容的对象存储中。该API源自Amazon Web Services的简单存储服务(S3),使AWS成为X4平台的自然部署环境。但是AWS并不是唯一受支持的环境,因为一些本地/私有云存储解决方案也与S3 api兼容,谷歌云存储也是如此(请参阅此处的详细信息)。平台X4也可以在SkySQL上使用,这是MariaDB即将推出的数据库即服务(DBaaS)平台。
MariaDB以私有格式保存列数据,而不是像Parquet或ORC那样的开放格式。不管怎样,利用对象存储可以节省成本,类似于那些基于对象存储的数据湖以开放格式存储数据。同时,行存储数据可以保存在云块存储中(如Amazon EBS),并且X4支持每个块的独立数据归档策略。这可以节省额外的成本,因为对象存储在单位基础上更便宜。
为了实现最大程度的控制,开发人员可以在发出查询时指定他们希望访问数据的行存储版本还是列存储版本。但是有一个叫做“智能查询路由”的新功能允许开发者将这个决定委托给MariaDB自己。该公司表示,另一个与列存储相关的优化允许将排序操作下推到存储层,在排序密集型查询上提供高达50倍的性能。在我们的简报中,Johnson先生还解释了X4平台为散列连接提供了2x的改进。
平台X4特性现在可以作为MariaDB Enterprise Server 10.4的一部分提供给订阅客户。Johnson表示,MariaDB Community Edition 10.5的alpha版本将在几周后发布,并且还将支持用于分析处理的柱状存储。