不容错过的MySQL和MariaDB七项配置

【.com快译】在过去这几年,开源相关数据库治理系统MySQL和MariaDB教训了渺小的变动:新增和改良配置、修复常年存在的疑问以及片面优化性能。

由于变动很大,很容易错过MySQL和MariaDB在此时期减少的一些低劣配置。本文将引见减少到MySQL、MariaDB或两者的七项最关键的新配置以及为什么你应经常使用它们。

1.JSON支持

NoSQL数据库产生时,承诺开发人员易于经常使用、可灵敏裁减,许多人想知道相关数据库能否会隐没。冗长的回答:基本没有隐没。NoSQL系统繁难又灵敏,但形式(schema)和表一直会有一席之地。

此外,许多老式相关数据库(包括MySQL和MariaDB)自创了NoSQL,减少了JSON支持这项规范配置。最终结果是,你须要时可经常使用NoSQL,而同一数据库中还有传统SQL。

MySQL和MariaDB中的JSON支持让你可以将JSON文件拔出到特意指定的表列中。拔出的JSON数据可以经常使用用于其余数据列的同一种解放加以智能验证。你可以将数据检索为JSON文档或繁难标量,可以经常使用生成的列或虚构的列取得相似JSON索引的成果。

这里有两个要点值得记住。首先,虽然MySQL和MariaDB中的JSON处置函数集相似,但它们不是彼此的繁难代替者。其次,MySQL和MariaDB成功原生JSON列数据类型的机制也不一样。假设你在两个数据库之间迁徙或同步数据,这会造成细微的不兼容性,须要留意。

2.资源组(仅限于MySQL)

一切数据库作业都很关键,但一些作业比其余作业更紧迫。比如说,你或许宿愿在后盾运转归档或方案批处置义务等作业,同时确保尽或许极速地口头关键业务上班。MySQL的资源组使其成为或许。

经常使用资源组,你可认为调配给该组的一切数据库作业指定类型(“系统”或“用户”)、CPU亲和性以及线程优先级。你可认为会话选用资源组,也可以经常使用优化器揭示为单个语句选用一个资源组。

留意,资源组在MySQL平台上的成功形式不同,你不能将资源组与企业线程池插件结合经常使用。此外,虽然有一项配置恳求在MariaDB中成功相似的配置,但还没有方案成功该配置。

3.OQGRAPH存储引擎(仅限于MariaDB)

图形数据库让你可以比经常使用相关数据库更有效地存储和探求数据之间的相关。虽然像Neo4j或AmazonNeptune这种公用图形数据库专一于图形存储和处置,但MariaDB让你可以经过OQGRAPH存储引擎,将传统的SQL查问与图形处置一并口头。

大少数图形数据库经常使用各自的自定义查问言语。借助OQGRAPH,你可以经常使用传统SQL加载数据并构建图形查问。结果以MariaDB的传统查问格局前往,因此可以与传统SQL表查问的结果相结合或组合。

4.Oracle兼容性配置(仅限于MariaDB)

Oracle的数据库产品依然是一切IT中经常使用最宽泛的产品,但其容许老本和合同限度使许多用户思考分开。此外,许多基于Oracle的运行程序少量经常使用OraclePL/SQL及其语法所独有的配置。

在过去的几个版本中,MariaDB推出了少量新配置,旨在模拟Oracle数据库的行为,尤其是Oracle的PL/SQL言语。从通常过去说,这让许多现有的PL/SQL代码可以在MariaDB中按原样运转,或许只要稍作修正。MariaDB团队预计,经常使用兼容性配置,大概80%的旧版OraclePL/SQL可以按原样运转。

留意:经常使用Oracle PL/SQL形式的MariaDB命令针对详细的客户端才失效。你无需全局更改MariaDB的行为即可经常使用该配置。

5.系统版本表(MariaDB)

2011版SQL规范减少了版本表,即数据库跟踪表行的配置。MariaDB在10.3.4版本中减少了系统版本表这项原生配置。

有了MariaDB的系统版本表,你可以经常使用特定的时期范围来运转查问,获取的结果会在该时期段内显示。你还可以修正或删除属于日期范围的行,减少或删除要跟踪的时期段,以及经常使用在运行程序级别、系统级别或这两个级别指定的时期段。从通常过去讲,你可以对任何支持时期值的数据库口头该操作,但很难自行口头;MariaDB在底层口头这项上班。

虽然MariaDB中为任何数据库引擎支持系统版本表,但一些配置(比如显示特定事务两边记载的事务准确历史记载)只要经常使用InnoDB引擎能力享受。

6.ColumnStore存储引擎/ InfiniDB(MariaDB)

MariaDB和MySQL中的可拔出式存储引擎技术准许两个数据库都可以极大地裁减原生配置。其中一个存储引擎ColumnStore将MariaDB变成了列存储数据库。(ColumnStore不实用于MySQL,但名目ColumnStore源自InfiniDB,经常使用MySQL来口头查问。)

列存储是高速查问少量数据的现实选用。OLAP系统经常使用列存储,因此ColumnStore相当于在MariaDB中提供相似OLAP的配置,而不依赖Teradata或Greenplum这样的外部(通常是商业)产品。ColumnStore并不提供那些产品随附的一整套开箱即用的剖析或数据编排配置,但它可认为外部剖析处置方案提供数据层。

7.Spider存储引擎

配置越弱小,就越难部署到消费环境。数据库分片就是这样一项配置,该配置将数据库宰割到多台主机上以优化性能,这通常须要少量的修正和调整。

MariaDB10.3.4(及更高版本)借助Spider这种领有内置分片和数据分区配置的存储引擎简化了这项上班。Spider支持几种不同的形式:繁难联结、高可用性、分片以及分片加高可用性。

Spider确实与MariaDB用于负载平衡、代理、缺点切换和高可用性的系统MaxScale在配置上有一些堆叠。MaxScale的经常使用范围比Spider宽泛得多,但假设你想在较普通的部署环境中充沛应用分片配置,Spider很有用。

Spider最后只是MySQL插件,它依然以这种形式供MySQL用户经常使用。两个版本中的绝大少数配置都一样,只要少数例外。

您可能还会对下面的文章感兴趣: