MYSQL时代是否将结束
前言
已知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时代是否将结束的更多相关文章
- [CB]Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束
Intel 2018架构日详解:新CPU&新GPU齐公布 牙膏时代有望明年结束 北京时间12月12日晚,Intel在圣克拉拉举办了架构日活动.在五个小时的演讲中,Intel揭开了2021年CP ...
- MySql开始日期、结束日期查询
str_to_date('2016-08-24', '%Y-%m-%d %H') validStartTime str_to_date('2016-09-16', '%Y-%m-%d %H') val ...
- mysql 查询表死锁 和结束死锁的表步骤
1.查询是否锁表 show OPEN TABLES ; 2.查询进程 show processlist 查询到相对应的进程===然后 kill id 3.查看正在锁的事务 SELECT * FR ...
- mysql查询表死锁和结束死锁的方法
1.查询是否锁表 show open tables where in_use>0; 2.查询进程 show processlist 查询到相对应的进程,然后 kill id 3.查看正在锁的事务 ...
- mysql 查询表死锁 和结束死锁的表步骤以及锁表等级
1.查询是否锁表show OPEN TABLES where In_use > 0; 2.查询进程 show processlist 查询到相对应的进程===然后 kill id 补充: ...
- 数据库 之MySQL 简单教程
So Easy系列之MySQL数据库教程 1. 数据库概述 1.1. 数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...
- MySQL操作使用
这只是一些简单的数据库命令,作为新手记录一下,以供后面查询使用. 查询服务器版本号和当前日期: select version(), current_date; 一个命令通常用一个SQL语句组成,后面跟 ...
- 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 ...
- 平时一些mysql小技巧及常识
>navicat premium 快捷键1.ctrl+q 打开查询窗口2.ctrl+/ 注释sql语句3.ctrl+shift +/ 解除注释4.ctrl+r 运行查询窗口的sql语句5.ctr ...
随机推荐
- MySQL索引失效的常见场景
当然请记住,explain是一个好习惯! MySQL索引失效的常见场景 在验证下面的场景时,请准备足够多的数据量,因为数据量少时,MySQL的优化器有时会判定全表扫描无伤大雅,就不会命中索引了. 1. ...
- 《剑指offer》面试题24. 反转链表
问题描述 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4-> ...
- vue学习14-自定义组件添加属性
<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta http ...
- java多态概述特点转型I
1 package face_09; 2 3 import com.sun.jdi.Method; 4 5 /* 6 * 对象的多态性. 7 * class 动物 8 * {} 9 * 10 * cl ...
- redis集群运维
Redis 的数据类型? Redis 支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及 zsetsorted set(有序集合) redis优势 速度快, ...
- 从故纸堆里,回顾下Web技术的发展历程
通过对比这些年的计算机图书来让大家感受下前些年Web技术的发展历程. Web开发框架,目前是Spring Boot+JPA,我正好出过本书,从中大家能感受到现在的技术. <Spring Boot ...
- Linux配置 ftp 和 ftp简单介绍
一.ftp概念? /* ftp是一个协议和http协议都是叫协议 tcp和udp也是协议 ftp是文件(以流的形式进行传输)传输协议(针对于文件进行上传和下载) */ 1.如果ftp服务器有多台,服务 ...
- 李宏毅强化学习完整笔记!开源项目《LeeDeepRL-Notes》发布
Datawhale开源 核心贡献者:王琦.杨逸远.江季 提起李宏毅老师,熟悉强化学习的读者朋友一定不会陌生.很多人选择的强化学习入门学习材料都是李宏毅老师的台大公开课视频. 现在,强化学习爱好者有更完 ...
- 报错:java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
感谢原文作者:风起云淡- 原文链接:https://blog.csdn.net/shenguan777/article/details/78615521 异常分析: 在使用MySql时,如果数据库中有 ...
- MySQL server has gone away 异常
原因 一种可能是发送的SQL语句太长,以致超过了max_allowed_packet的大小,如果是这种原因,你只要修改my.cnf,加大max_allowed_packet的值即可. 还有一种可能是因 ...