MariaDB的Cassandra存储引擎
MariaDB已经宣布了Cassandra存储引擎的一个预览版本。该插件允许MariaDB通过标准SQL语法使用Cassandra集群。
MariaDB并不是第一款为Cassandra提供SQL支持的产品。例如,Simba提供了一个 Cassandra ODBC驱动,可用于大多数的ODBC兼容工具。理论上甚至可以创建一个Cassandra链接服务器来执行来自SQL服务器的查询。
使用 MariaDB的Cassandra存储引擎在Cassandra上执行查询时需要创建一个映射表。该虚表需要使用与实际Cassandra列族相同的静态列名和类型。而动态列在MariaDB中将以blob类型的单列形式存在。
当使用Cassandra列族时,SQL的insert命令具有“插入或更新”的语义。尽管性能特性与你原来所习惯的可能会有所不同,但查询、更新和删除的工作方式还是一样的。(可以参考 Cassandra文档来了解其使用模式与关系数据库的不同之处。)
Cassandra宣称自己是一个“具有高可伸缩性、最终一致性,分布式的结构化键值存储”。作为一个键值存储,应尽可能少的用于即席查询(ad hock queries)。根据MariaDB文档:
Cassandra存储引擎并不适合于运行那些需要计算Cassandra集群中大量数据的分析类查询。这种任务交由基于Hadoop的工具,如Apache Pig或Apache Hive来处理更为合适。Cassandra存储引擎更像是SQL环境通向NoSQL的一个“窗口”。
MariaDB 是MySQL数据库的一个分支。该项目的产生源于MySQL创始人Michael Widenius和Sun Microsystems公司在MySQL 5.1的质量与项目大方向上的分歧。具体时间可能存在争议,但大家都认为Oracle对Sun的收购是创建MariaDB的最终推动力。
查看英文原文: Cassandra Storage Engine for MariaDB
感谢 臧秀涛对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至 [email protected]。也欢迎大家通过新浪微博( @InfoQ)或者腾讯微博( @InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。