发布于:2021-01-27 11:42:51
0
232
0
作为clustercontrol1.5版本的一部分,我们现在提供对MariaDB版本10.2的完全支持。这个新版本提供了与Galera Cluster(MariaDB的HA解决方案)更大的集成,还增强了类似SQL的窗口函数、公共表表达式和JSON函数。
MariaDB是增长最快的开放源代码数据库,通过它在每个主要的Linux发行版中的应用,它覆盖了全球超过6000万的开发人员,并且在世界领先的云提供商中也有越来越多的应用。它在Linux发行版和云平台上的广泛使用,以及它的易用性,使得MariaDB迅速成为现代企业的开源数据库标准。
MariaDB服务器在最近的OpenStack调查中被列为当今使用的第一和第二大数据库技术。
10.2版有什么新功能?
mariadbserver10.1引入了Galera集群的默认内置集成,允许其用户实现最终的高可用性。Severlnines是这种集群技术的早期采用者,很高兴看到MariaDB将其用于HA。
以下是MariaDB宣布的10.2新版本中包含的一些增强功能:
窗口函数,通用表表达式和JSON函数之类的SQL增强功能为MariaDB Server提供了新的用例。
标准MariaDB Server复制具有进一步的优化。
删除了许多区域限制,这使使用更容易,并且不需要在应用程序级别进行限制处理。
引入了由Facebook开发的新存储引擎MyRocks,它将进一步丰富MariaDB Server的用例(注:该新存储引擎现在也可用于ClusterControl中的MariaDB部署,但是ClusterControl尚不支持MyRocks特定的监视)。
窗口功能
窗口功能在商业智能(BI)中很流行,在BI中,需要根据数据的子集(如国家或销售团队指标)生成更复杂的报告。另一个常见的用例是,基于时间序列的数据应该基于一个时间窗口进行聚合,而不仅仅是一个当前记录,就像某个时间跨度内的所有行一样。
随着分析对最终用户越来越重要,窗口函数提供了一种编写性能优化的分析SQL查询的新方法,这种方法易于阅读和维护,并且无需编写昂贵的子查询和自连接。
常用表表达式
分层和递归查询通常使用公共表表达式(cte)实现。它们类似于FROM子句中的派生表,但是通过使用identification关键字,优化器可以生成更高效的查询计划。作为自动创建的临时和命名结果集(仅在查询时有效),它可以用于递归和分层执行,还允许重用临时数据集。拥有一个专用的方法也有助于创建更具表现力和更清晰的SQL代码。
JSON函数
JSON(JavaScript Object Notation)是一种基于文本的、与平台无关的数据交换格式,它不仅用于交换数据,还可以作为存储非结构化数据的一种格式。MariaDB server10.2提供了超过24个JSON函数,允许查询、修改、验证和索引JSON格式的数据,这些数据存储在数据库的基于文本的字段中。因此,MariaDB强大的关系模型可以在需要时通过处理非结构化数据来丰富。
通过使用虚拟列、JSON函数、JSON_值和MariaDB Server 10.2在虚拟列上的最新索引功能,JSON值将自动从JSON字符串中提取,存储在虚拟列中并索引,从而提供对JSON字符串的最快访问。
使用JSON函数JSONu VALID,MariaDB Server 10.2中的新检查约束保证只能将正确JSON格式的JSON字符串添加到字段中。
基于二进制日志的回滚
MariaDB Server 10.2提供的增强mysqlbinlog实用程序包括一个新的时间点回滚函数,该函数允许数据库或表恢复到以前的状态,并提供基于二进制日志的已提交数据回滚。mysqlbinlog工具没有直接修改任何数据,而是生成一个“导出文件”,包括事务的还原语句,记录在二进制日志文件中。创建的文件可以与命令行客户机或其他SQL工具一起使用,以执行包含的SQL语句。这样,所有提交到给定时间戳的事务都将回滚。
在解决添加、更改或删除数据等逻辑错误的情况下,到目前为止,唯一可能的方法是使用mysqlbinlog检查事务并手动修复问题。但是,这通常会导致数据不一致,因为更正通常只处理错误的语句,从而忽略其他数据依赖关系。
通常由DBA或用户错误引起,恢复一个巨大的数据库会导致服务的严重中断。使用时间点回滚回滚上一个事务只需要提取、简短的检查和执行还原的事务的时间—节省了宝贵的时间、资源和服务。
为什么选择MariaDB?
有几个MySQL选项可供选择,为什么选择MariaDB作为应用程序的技术?以下是选择MariaDB的一些好处:
MariaDB建立在一个现代的体系结构之上,它可以扩展到每一层:客户机、集群、内核和存储。这种可扩展性提供了两个主要优点。它允许通过插件进行持续的社区创新,并使客户能够轻松地配置MariaDB,以支持从OLTP到OLAP的各种各样的用例。
MariaDB开发的特性和增强功能是其自己的路线图的一部分,独立于Oracle/MySQL。这使得MariaDB能够接受和吸引更广泛的社区创新,并添加内部开发的新功能,使其更容易从专有系统迁移到开源MariaDB。
MariaDB的设计旨在保护每一层的数据库,使其成为一个可信任的通用数据库,用于需要最高级别安全功能的行业,如政府和银行业。
MariaDB提供对各种存储引擎的支持,包括NoSQL支持,为用户提供多种选择,以确定最适合其环境的选项。
MariaDB部署了许多性能增强改进,包括查询优化,在一些基准测试中,让MariaDB的性能比配置类似的MySQL环境高3-5%。
MariaDB的ClusterControl
ClusterControl为每种顶级技术提供支持:
MariaDB服务器:MariaDB服务器是一个通用数据库,采用可扩展架构设计,通过可插拔存储引擎(如InnoDB、MyRocks和Spider)支持广泛的用例集。
内置异步主/从复制
允许不同行在同一列中存储不同数据的动态列
内置加密
查询优化
改进了模式兼容性
MariaDB群集:MariaDB群集是为当今的基于云的环境。它具有完全的读写可扩展性,具有同步复制功能,允许多主拓扑结构,并保证没有延迟或丢失事务。
同步复制,没有从属延迟或事务丢失
双活多主拓扑
读写任何集群节点
自动成员资格控制,故障节点从集群中删除
自动节点加入
真正的行级并行复制
直接客户端连接,本机MariaDB外观
读写可扩展性
MariaDB MaxScale: MariaDB MaxScale是一种数据库代理,可扩展MariaDB Server的高可用性,可伸缩性和安全性,同时通过将其与基础数据库基础架构分离而简化了应用程序开发。
包括数据库防火墙和DoS保护
读写分离
数据屏蔽
基于架构的分片
查询缓存
作者介绍