前言 

  已知MariaDB预计于今年下半年将以spac形式完成上市,最近也看了不少文章,发现MariaDB正在以一个迅猛的速度超越mysql,mysql 可以说是开源数据库中最具代表性的一个,甚至可以说是一个时代,但MariaDB在一定程度上也确实表现出了优于mysql的特性,这让MySQL的未来发展形式让人担忧。从以下几个方面可以得出上述结论

出身  

  它是由MySQL的创始人Michael Widenius主导开发的,MySQL数据库中最重要的一个分支,之后SUN收购 了MySQL,于是就有了Oracle MySQL这个分支,在SUN被Oracle收购后,MySQL的所有权也落入Oracle的手中。之后 Michael Widenius在2009年创立了MariaDB。是完全兼容MySQL的存在。事实证明MariaDB的更新版本早已经超过了Oracle维护下的MySQL版本,所以MariaDB的血统在根本上说就是继承于mysql,而当下的mysql8.x版本及以后都是拥有oracle血统的mysql,这之中就有了商业模式的区别,oracle是闭源产品,而原先的mysql及现在的MariaDB仍选择开源商业模式,模式不同盈利手段也就不多做赘述。

发展潜力

  MariaDB 根据当下云时代的市场特性推出了两款产品即SkySQL和Enterprise

  SkySQL是MariaDB在2020年推出的企业级数据库即服务,增速迅猛、存储安全性等方面的表现均比mysql,AuroraDB更出色。以容器为基础,更能够跨云部署迁移,其Xpand技术,可以将资料切分成片,并且同步对扩展的数据库节点写入资料,由于资料能够在多节点同时读取和写入,因此分布式SQL不只可以提供线性的规模扩展,同时也能保持交易强一致性和ACID特性。

  MariaDB Xpand可以容忍单节点故障,因为Xpand会跨多个数据库节点,存储资料的冗余副本,而分布式SQL的节点故障容忍程度更高,SkySQL上的Xpand在云计算地区(Region)中的不同区域(Zone)分散冗余副本,比如说上海区的云服务器上的数据,在北京区的服务器上同样可以并存,官方提到,即便整个区域都故障,用户也不会丢失任何资料,因为至少有一个人信息料副本存储在另一个区域中,容灾能力更强。
Enterprise作为MariaDB基于服务器端的企业版本,Enterprise旨在将开源与企业功能相结合,具有更强的可靠性和稳定性,并包含许多向后兼容的功能,让企业不需要经常性的承担升级的风险和不确定性,但同时又能使用新功能。其主要竞品正是如今隶属于Oracle的MySQL。

兼容性

  从兼容性上来说MariaDB简直可以说是完败mysql,就单单MariaDB的向后兼容就可以让从众多用户不必担心升级带来的影响,而反观mysql从mysql5.X到mysql8.X就是不可逾越的(这其中当然原因也比较复杂),两者技术同源,而MariaDB可以对MySQL实现一键迁移,并且不论是在数据写入或是查询方面,都更有优势。

可替代性

  讲到可替代性,对于中小企业来说理由就很简单了,就是性价比,说的直白了就是谁更稳定,更便宜就选择谁,在这上面可不存在什么情怀,对于程序员来说就更是如此了,老板,客户用什么数据库,就掌握什么技能就行了,需要考虑的就是稳定性,和升级问题,安全问题等等,学了mysql的在MariaDB上依旧可以操作,完全属于平滑过渡,但随着版本更新,差异也会雨来越大,最后也必须回归到二选一的局面。

MYSQL时代是否将结束的更多相关文章

  1. [CB]Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束

    Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CP ...

  2. MySql开始日期、结束日期查询

    str_to_date('2016-08-24', '%Y-%m-%d %H') validStartTime str_to_date('2016-09-16', '%Y-%m-%d %H') val ...

  3. mysql 查询表死锁 和结束死锁的表步骤

    1.查询是否锁表 show OPEN TABLES ; 2.查询进程 show processlist 查询到相对应的进程===然后 kill    id 3.查看正在锁的事务 SELECT * FR ...

  4. mysql查询表死锁和结束死锁的方法

    1.查询是否锁表 show open tables where in_use>0; 2.查询进程 show processlist 查询到相对应的进程,然后 kill id 3.查看正在锁的事务 ...

  5. mysql 查询表死锁 和结束死锁的表步骤以及锁表等级

    1.查询是否锁表show OPEN TABLES where In_use > 0; 2.查询进程 show processlist  查询到相对应的进程===然后 kill    id 补充: ...

  6. 数据库 之MySQL 简单教程

      So Easy系列之MySQL数据库教程 1.   数据库概述 1.1.  数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...

  7. MySQL操作使用

    这只是一些简单的数据库命令,作为新手记录一下,以供后面查询使用. 查询服务器版本号和当前日期: select version(), current_date; 一个命令通常用一个SQL语句组成,后面跟 ...

  8. Windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes

    Windows mysql提示:1045 access denied for user 'root'@'localhost' using password yes http://blog.csdn.n ...

  9. 平时一些mysql小技巧及常识

    >navicat premium 快捷键1.ctrl+q 打开查询窗口2.ctrl+/ 注释sql语句3.ctrl+shift +/ 解除注释4.ctrl+r 运行查询窗口的sql语句5.ctr ...

随机推荐

  1. 默认安装的phpMyAdmin会存在哪些安全隐患

    利用:  1. 利用慢查询日志写入webshell          2. phpMyAdmin的setup目录暴露一些隐私信息          3. 通过phpMyAdmin修改php的ini配置 ...

  2. CTF-sql-order by盲注

    本文章只讨论了order by盲注,关于order by的报错等注入不在本文章讨论范围,另有文章. 让我们先来看看本文章所使用的表的内容,如下图: 接下来先了解一下order by的基础知识: ord ...

  3. django框架--登录注册功能(ajax)

    注册 实现一个注册功能 编写 html 内容 input 标签 csrf_token ajax 路由 视图: 提供页面 负责处理业务,返回响应 接收到   post   请求传递的参数 写库 返回   ...

  4. 《剑指offer》面试题32 - II. 从上到下打印二叉树 II

    问题描述 从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行. 例如: 给定二叉树: [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 ...

  5. Cesium中级教程5 - Terrain 地形

    Cesium中文网:http://cesiumcn.org/ | 国内快速访问:http://cesium.coinidea.com/ CesiumJS支持对与水流相关的海洋.湖泊和河流以及全球高分辨 ...

  6. gin中从reader读取数据数据

    package main import ( "fmt" "github.com/gin-gonic/gin" "net/http" &quo ...

  7. 哪些是GET请求,哪些是POST请求

    GET请求: 1,form标签 method=get 2,a标签 3,link标签引入css 4,Script标签引入js文件 5,img标签引入图片 6,iframe引入html页面 7,在浏览器地 ...

  8. 定义函数返回 ax2 + bx + c = 0 的两个解

    # -*- coding: utf-8 -*- import math def quadratic(a, b, c): s = b*b - 4*a*c if a == 0: x = -c / b re ...

  9. centos6下php53升级为php7

    1.查看版本 [root@web-1 blog]# php -v No log handling enabled - turning on stderr logging Created directo ...

  10. Java中Type接口及其子类

    简介 Type是Java 编程语言中所有类型的公共高级接口,和Object不同,Object是所有类的父类,即Object是Type的父类. 分类 原始类型(Class):不仅仅包含我们平常所指的类, ...