【官方】MariaDB ColumnStore 1.0.6 GA 概览 中文版

ACMUG征集原创技术文章。详情请添加 A_CMUG或者扫描文末二维码关注我们的微信公众号。有奖征稿,请发送稿件至:acmug@acmug.com。
3306现金有奖征稿说明:知识无价,劳动有偿,ACMUG特约撰稿人有奖回报计划(修订版)


作者: Dipti Joshi

官方授权资词翻译组翻译


今天,MariaDB ColumnStore 的开发达成了一个很重要的里程碑——MariaDB ColumnStore 1.0 正式版发布了,对应的发布版本是MariaDB ColumnStore 1.0.6 GA。2016年一月,我们的团队开始着手构建ColumnStore,这应该是MariaDB ColumnStore的旅程的起点。在这整个过程中我们得到了很多来自早期的alpha和beta使用者和社区用户的支持,也正是由于这些支持,我们才得以将MariaDB ColumnStore从第一个alpha版本一直完善到今天的正式版本。

MariaDB ColumnStore 是一个构建在MariaDB Server上面的大规模并行,高性能,分布式列式存储引擎。它是MariaDB生态圈中第一个设计用于大数据分析的列式存储引擎。它可以被部署在云平台上面(已经针对亚马逊AWS做了优化),或者被部署在使用本地或网络存储的本地 Linux 服务器集群中。

实现原理概览

在MariaDB ColumnStore的架构中,三个组件-名为用户模块(UM)的MariaDB前端,名为性能模块(PM)的分布式query引擎以及分布式数据存储系统-会协同工作来提供高性能,大数据的分析功能。

  • 用户模块(UM):UM由前端MariaDB服务器程序和若干负责并行扩展的MariaDB ColumnStore的进程组成。为MariaDB ColumnStore设计的存储引擎插件会将query转发给上面提及的进程中的一个, 这个进程会进一步分解SQL请求,分配各部分到一个或多个性能模块中去处理这个query。最后,UM会将所有参加处理query的性能模块的query结果进行聚合来生成用于返回给用户的最终结果集。
  • 性能模块(PM):
    PM负责存储、检索和管理数据,为query操作处理块请求,并数据返回给用户模块去完成query请求。PM会从磁盘上选择数据并将其缓存在一个shared-nothing数据缓存空间中,这个缓存是PM所在服务程序的一部分。MPP会通过允许用户配置他们想要的足够多的性能模块来达成;每一个额外的PM都向整个数据库提供更多的缓存及处理能力。
  • 分布式数据存储:
    MariaDB ColumnStore在存储系统方面极具弹性。在传统环境下,它可以使用本地存储或共享存储(例如SAN)来存储数据。在亚马逊EC2环境下,它可以使用ephemeral磁盘或弹性块存储(EBS)卷。

MariaDB ColumnStore 1.0 特性

– 扩展性

– 为大数据弹性伸缩而设计的大规模并行架构

– 随着节点的加入而进行线性扩展

– 简单的水平扩展

– 随着数据的增长添加新的数据节点

– 添加新的数据节点时不会影响读query

– 压缩

– 为加速解压缩速率,降低磁盘I/O设计的数据压缩实现

– 性能

– 高性能,实时分析及特定需求分析

– 在一般服务器上实现针对列存储优化了的,大规模并行的,分布式query处理机制。

– 高速数据加载及提取

– 数据加载行为不会影响到对query的分析。

– 全并行高速数据导入及提取

– 企业级的分析功能

– 分析

– 使用复杂的JOIN,聚合,窗函数的数据库原生分布式分析功能。

– 用于自定义分析的可扩展UDF

– 跨引擎访问

– 数据分析与OLTP使用同一个SQL 接口

– 在MariaDB和ColumnStore间交叉关联表,这可以使你更全面的洞察数据

– 安全性

– MariaDB安全特性 – SSL,基于角色的访问控制及审计能力

– 使用ODBC/JDBC或标准MariaDB连接器的开箱即用的BI工具

– 管理和可用性

– 易于安装、管理、维护和使用

– 自动水平分区

– 无索引,视需要进行视图或手动分区调优

– 在不影响读query的前提下进行在线表结构变更

– 任意部署

– 传统环境或AWS

– 使用一般服务器的传统硬件环境。

– 高可用

– 自动的UM故障转移

– 在SAN或EBS环境下,多PM的分布式的数据会挂载给所有的PM,提供自动PM故障转移

MariaDB ColumnStore 1.0.6的发行说明,还有修复bug列表可以查看这里。相关文档已经在我们的知识库中上线。MariaDB 1.0.6 的预编译程序已经上线,您可以在这里下载到。对于需要快速安装的开发者,Docker和Vagrant的相关镜像也已经上线。你也可以在AWS市场里面找到MariaDB-ColumnStore-1.0.6 AMI镜像。

如果没有来自社区和我们的beta用户的极具价值的反馈,ColumnStore不可能走到现在的正式发布。感谢所有贡献者。还要特别感谢MariaDB ColumnStore 工程团队的杰出的工作,他们辛勤地工作和奉献使得ColumnStore正式发布成为可能。

我们的旅程不会在这里停止。展望新的一年,我们将开始调研并计划MariaDB ColumnStore1.1的内容。基于从我们Beta用户得到的反馈,我们会在1.1里面添加streaming和更多的管理性相关的功能。如果你对下一个发布版本有任何想法或建议 ,请在我们的JIRA上新建工单。如果您有其他问题或意见,您可以通过邮件dipti.joshi@mariadb.com 或者  twitter @dipti_smg来联系到我。


资词翻译组

资词翻译组,由数名数据库技术爱好者组成,旨在传播技术,帮助他人,提升自我。目前的成员有:田丽芳,强昌金,王竹峰,侯军伟,吕智超,刘启荣,周彦伟。

译事三难:信、达、雅。信者,真也,真者,不伪也;达者,至也,至者,无过无不及也;雅者,文学性也,文学性者,当雅则雅当俗则俗也。我们深知能达成此三事,绝非一日之功,亦非常人所能。然,苟利国家生死以,岂因祸福避趋之。我们还是希望竭尽所能,不遗余力,做一点微小的工作,提高姿势水平。由于能力有限,水平一般,有错误不妥之处,还请批评指正,希望能得到大家的资词。

资词翻译组获得MySQL Server团队和MariaDB官方授权,翻译相关技术文章。


注:ACMUG收录技术文章版权属于原作者本人所有。如有疑问,请联系作者。

看完转发,手留余香。关注我们,一起进步。

关注ACMUG公众号,参与社区活动,交流开源技术,分享学习心得,一起共同进步。

发表评论