7个您不想错过MySQL和MariaDB功能

在过去的几年中,开源关系数据库管理系统MySQL和MariaDB发生了巨大的变化:新的和改进的功能,针对长期存在的问题的修复,全面的性能提高。

有了所有更改,很容易错过MySQL和MariaDB当时添加的一些最佳功能。 在本文中,我们将介绍MySQL,MariaDB或同时添加到MySQL的七个最大的新功能,以及为什么要使用它们。

[来自InfoWorld的要点: NoSQL恩怨匹配:MongoDB与Couchbase Server综述:MongoDB学习了许多很酷的新技巧MongoDB安全性的基本指南 如何在.Net中使用MongoDB | 通过InfoWorld大数据和分析报告时事通讯深入了解分析和大数据。 ]

JSON支持

NoSQL数据库出现时,他们承诺可以简化开发人员并提供灵活的可伸缩性,因此许多人想知道关系数据库是否正在淘汰。 简短答案:完全没有。 NoSQL系统既方便又灵活,但是架构和表将始终占有一席之地。

而且,许多老式的关系数据库,其中包括MySQL和MariaDB,从NoSQL的书中摘录了一页,并添加了JSON支持作为标准功能。 最终效果是在需要时与同一数据库中的常规SQL并排使用NoSQL。

MySQL和MariaDB中的JSON支持使您可以在特殊指定的表列中插入JSON文档。 可以使用与其他数据列相同的约束来自动验证插入的JSON数据。 您可以将数据检索为JSON文档或简单标量 ,还可以使用生成的列或虚拟列来产生类似于JSON索引的效果。

这里需要牢记两个要点。 首先,尽管MySQLMariaDB中的JSON处理功能集相似,但它们并不是彼此的直接替代品。 其次,本机JSON列数据类型MySQL和MariaDB实现也有所不同。 如果要在两个数据库之间迁移或同步数据,这将导致需要导航的轻微不兼容性

资源组(仅限MySQL)

所有数据库作业都很重要,但是某些作业比其他作业更为紧急。 例如,您可能希望在后台运行诸如存档或计划的批处理作业之类的作业,同时确保尽可能快地执行关键业务工作。 MySQL的资源组使这成为可能。

使用资源组,您可以为分配给该组的所有数据库作业指定类型(“系统”或“用户”),CPU关联性和线程优先级。 您可以为会话选择一个资源组,或者使用优化器提示为单个语句选择一个资源组。

请注意, 在MySQL平台之间资源组的实现方式有所不同 ,并且您不能将资源组与企业线程池插件结合使用。 另外,尽管有功能要求在MariaDB中实现类似功能,但尚无实现该功能的计划。

OQGRAPH存储引擎(仅适用于MariaDB)

图形数据库使您可以比关系数据库更有效地存储和浏览数据之间的关系。 虽然像Neo4jAmazon Neptune这样的专用图数据库仅专注于图的存储和处理,但MariaDB允许您通过OQGRAPH存储引擎与常规SQL查询并排执行图处理。

大多数图形数据库使用其自己的自定义查询语言。 使用OQGRAPH,您可以使用常规SQL加载数据并构造图查询。 结果以MariaDB的常规查询格式返回,因此可以将其与常规SQL表查询的结果合并或合并。

Oracle兼容性功能(仅适用于MariaDB)

Oracle的数据库产品仍然是所有IT中使用最广泛的数据库产品之一,但是其许可成本和合同限制使许多用户开始关注退出策略。 而且,许多基于Oracle构建的应用程序都大量使用了Oracle PL / SQL及其语法专有的功能。

在过去的几个版本中,MariaDB引入了许多新功能,这些新功能旨在模拟Oracle数据库的行为,尤其是Oracle的PL / SQL语言。 从理论上讲,这允许许多现有的PL / SQL代码按原样运行,或仅进行少量修改即可在MariaDB中运行。 MariaDB小组估计使用兼容性功能, 大约80%的旧Oracle PL / SQL可以按原样运行

请注意,使用Oracle PL / SQL模式的MariaDB命令在每个客户端上生效。 您无需全局更改MariaDB的行为即可使用此功能。

系统版本表(MariaDB)

SQL标准的2011版本增加了版本表,数据库可以跟踪表行的版本。 MariaDB在版本10.3.4中添加了系统版本化表作为本机功能。

使用MariaDB的系统版本表,您可以使用给定的时间范围运行查询,并且所提供的结果将在该时间段内按原样显示。 您还可以修改或删除日期范围内的行,添加或删除要跟踪的时间段,以及使用在应用程序级别和/或系统级别指定的时间段。 从理论上讲,您可以使用任何支持时间值的数据库来执行此操作,但是您自己很难滚动它; MariaDB是在后台进行的。

尽管MariaDB支持任何数据库引擎使用系统版本表,但是某些功能(例如,显示特定交易中间记录的交易精确历史记录)仅适用于InnoDB引擎。

ColumnStore存储引擎/ InfiniDB(MariaDB)

MariaDB和MySQL中的可插拔存储引擎技术使两个数据库都可以大大扩展其本机功能。 一种这样的存储引擎ColumnStore ,将MariaDB变成了列存储数据库。 (ColumnStore不适用于MySQL,但项目ColumnStore源自InfiniDB ,它使用MySQL执行查询。)

列存储是高速查询大量数据的理想选择。 OLAP系统使用列存储,因此ColumnStore可以作为一种在MariaDB中提供OLAP样式功能的方式,而无需依赖外部(通常是商业产品)如Teradata或Greenplum。 ColumnStore不能提供这些产品随附的全部现成的分析或数据编组功能,但它可以为内部分析解决方案提供数据层。

蜘蛛存储引擎

该功能越强大,在生产中就越难以部署。 这样的功能之一就是数据库分片,或在多个服务器之间拆分数据库以提高性能,这通常需要大量的修补和调整。

MariaDB 10.3.4(及更高版本)可使用Spider(具有内置分片和数据分区功能的存储引擎)来简化操作 。 Spider支持几种不同的模式:简单联合,高可用性,分片和分片以及高可用性。

Spider确实与MariaScale的MaxScale (MariaDB的系统)在功能上有一些重叠,以实现负载平衡,代理,故障转移和高可用性。 MaxScale涵盖了比Spider更广泛,更宏大的用例集,但是如果您想在更适度的部署中利用分片,Spider很有用。

Spider最初是作为MySQL插件开发的,现在仍以这种形式提供给MySQL用户。 两个版本中的绝大多数功能都相同,但有一些例外

翻译自: https://www.infoworld.com/article/3404328/7-mysql-and-mariadb-features-you-dont-want-to-miss.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值