MySQL的历史和地位

秋招之后,开始深入学习后端开发知识啦。把学到的东西分享给大家最开心啦。就从MySQL开始吧。

首先说一下MySQL的历史和地位。主要是看一下我们为什么要学习,而不是说让我们学什么我们就学什么。

地位

DB-ranking
这张图是我从DB-Engines截取的2024年12月最新的数据库排行榜。我们先来简单的看一下前十名我们都见过哪些。第一是Oracle,听说过,没用过,因为收费。第二是MySQL,几乎只要写项目就一直在用。第三是SQL Server,在学校学习数据库课程时用的是这个。第四是PostgreSQL,在很多博客和视频中都有博主提到过,甚至有人认为在不久的将来能够取代MySQL,但是我不认同哈。第五是MongoDB,文档型数据库,大家有精力也可以学一下。第六是Redis,这个不用说了吧,缓存数据库,后端开发必学,面试必问。第七是Snowflake,没听过。第八是ES,基于倒排索引的全文搜索引擎,第九是IBM的Db2,第十是SQLite,非常轻量,可以集成到应用程序中。

回过头来,我们再来看占比最高的Oracle和MySQL。Oracle是付费垄断的,主要给有钱的大企业使用,在互联网企业之外使用量第一。MySQL 是最流行的关系型数据库软件之一,由于其体积小、速度快、开源免费、简单易用、维护成本
低等,在集群架构中易于扩展、高可用,因此深受互联网开发者和企业的欢迎。在互联网企业中使用量排名第一。咱们大家当然都是在互联网企业工作的啦,所以MySQL就是我们心中的第一。

历史

发展

发展
这是我在阿里云的开发者社区截取的一张MySQL的发展历程。我们可以一起来简单的看一下。首先是79年,Monty开发了一款面向报表的存储引擎,然后85年,Monty和他的合伙人一起组建公司,准们开始做存储引擎工具了。90年,Monty和David想要结合mSQL,使ISAM能够提供SQL接口,但是速度不满足要求,然后开始开发新产品了。96年,Monty和合伙人开发出MySQL1.0,96年3.1发布,发布linux版本,这就是说我们可以在linux系统上使用了。有了产品之后,开始是开公司,MySQLAB。2000年开源。2000年4月ISAM->MyISAM。2001年集成InnoDB,2005年,加入高级特性,对标Oracle,
2008年,进入SUN时代,2009年,进入Oracle时代,跟Java一样啊。2010年,版本划分,5.5版本默认引擎更换为InnoDB。后面陆续更新5.6,5.7,8.0。其实现在我们大多数还在使用5.7版本,或者8.0版本,后面的一些更新很多程序员大佬都表示没啥用,所以就不去过多了解了。

分支

分支
下面再来看一下MySQL的主流分支。
这个图同样来自阿里云技术开发者社区,也就是上面的网址。
MySQL从最初的1.0、3.1到后来的8.0,发生了各种各样的变化。被Oracle收购后,MySQL的版本演化出了多个分支,除了需要付费的MySQL企业版本,还有很多MySQL社区版本。还有一条分支非常流行的开源分支版本叫Percona Server,它是MySQL的技术支持公司Percona推出的,也是在实际工作中经常碰到的。Percona Server在MySQL官方版本的基础上做了一些补丁和优化,同时推出了一些工具。另外一个非常不错的版本叫MariaDB,它是MySQL的公司被Oracle收购后,MySQL的创始人Monty先生,按原来的思路重新写的一套新数据库,同时也把 InnoDB 引擎作为主要存储引擎,也算 MySQL 的分支。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/937968.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙项目云捐助第七讲鸿蒙App应用的首页推荐模块布局的实现

鸿蒙项目云捐助第七讲鸿蒙App应用的首页推荐模块布局的实现 最后设置首页的推荐模块,参考模板如下图所示。 一、首页热门推荐模块的实现 对于热门推荐模块,先有上面的小标题栏,这里的标题栏也有一个小图标,首先从“百度图库”中…

使用ENSP实现NAT(2)

一、NAT的类型 二、静态NAT 1.项目拓扑 2.项目实现 路由器AR1配置: 进入系统视图 sys将路由器命名为AR1 sysname AR1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为192.168.10.254/24 ip address 192.168.10.254 24进…

【1211更新】腾讯混元Hunyuan3D-1文/图生3D模型云端镜像一键运行

目录 项目介绍 显存占用 11月21 新增纹理烘焙模块Dust3R 烘焙相关参数: AutoDL云端镜像 启动说明 标准模型下载 【1212更新】腾讯混元Hunyuan3D-1文图生3D模型云端镜像一键运行 项目介绍 https://github.com/Tencent/Hunyuan3D-1 腾讯混元 3D 生成模型,支持…

PHP 应用 ImageMagick

ImageMagick是什么? ImageMagick是一款功能强大、跨平台的图像处理软件。它可以读取、转换和输出大量的图片格式,支持各种各样的图像处理操作,如调整大小、旋转、加水印、格式转换等。在PHP中使用ImageMagick,可以让我们在web应用…

OpenCV圆形标定板检测算法findGrid原理详解

OpenCV的findGrid函数检测圆形标定板的流程如下: class CirclesGridClusterFinder {CirclesGridClusterFinder(const CirclesGridClusterFinder&); public:CirclesGridClusterFinder

阿里云服务器手动搭建WordPress【官方文档注意事项】

这是官方文档 注意事项 先配LNMP,我的上一篇文章到这里发现,没有基于ubuntu的教程,所以创建服务器时选择centos在官方文档第四步“下载WordPress,并移动至网站根目录”中,首先它让cd /usr/share/nginx/html&#xff…

vue运行项目时local有显示 但是network却显示unavailable

问题描述 日常开发中 和后端本地调试时 后端需要使用你的本地去访问页面 可运行项目时会出现network显示unavailable的情况 解决方式 1.其实这只是vue脚手架对于ip地址获取的方式兼容上有一些问题 但其实是不影响ip访问本地的 你可以直接cmd内ipconfig去查看自己的ip然后…

Go项目-----Kubernetes使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言基本概念kubectl工具部署web服务生成镜像编写deployment 编写service启动服务 k8s部署mysql编写pvc编写pv编写service 部署redis集成部署mysql和redis 前言 这…

SpringCloud无介绍快使用,sentinel注解@SentinelResource的基本使用(二十三)

TOC 问题背景 从零开始学springcloud微服务项目 注意事项: 约定 > 配置 > 编码IDEA版本2021.1这个项目,我分了很多篇章,每篇文章一个操作步骤,目的是显得更简单明了controller调service,service调dao默认安装ngi…

紫光展锐5G融云方案,开启云终端新时代

近年来,云终端凭借便捷、高效、高性价比的优势正逐步在各行各业渗透。研究机构IDC的数据显示,2024上半年,中国云终端市场总体出货量达到166.3万台,同比增长22.4%,销售额29亿元人民币,同比增长24.9%&#xf…

基于卷积神经网络的垃圾分类系统实现(GUI应用)

1.摘要 本文主要实现了一个卷积神经网络模型进行垃圾图像分类,为了提高垃圾分类模型的准确率,使用使用Batch Normalization层、使用早期停止策略来防止过拟合等方法来优化模型,实验结果显示最终优化后的模型准确率较高90%左右。最终&#xf…

【51单片机】蜂鸣器快速上手

‌51单片机蜂鸣器是一种将电信号转换为声音信号的器件,在51单片机开发板中常用于产生按键音、报警音等提示信号‌。 ‌蜂鸣器类型‌:蜂鸣器按驱动方式可分为有源蜂鸣器和无源蜂鸣器。有源蜂鸣器内部自带振荡源,只需接上直流电压即可持续发声&…

数据库入门

基本概念 数据库:DataBase简称DB,是一个用于存储和管理数据的仓库。 就像我们每天访问的网站Bilibili,OA、ERP和CRM等内部管理系统,以及我们每天使用的腾讯新闻和Tiktok应用程序一样,我们看到的数据实际上存储在数据库…

vscode插件开发 在activity Bar 开发一个自定义bar(左侧侧边栏自定义一个功能选项)

了解vscode编辑器结构 点击了解编辑器结构视图 在编辑器的左侧创建一个新的item 如下图位置 1,vscode开发基础点击这里 2,了解到基础的vscode插件开发的步骤之后 在package.json文件的contrites下配置下图参数 实现效果如下图

Airborne使用教程

1.安装环境 前提条件:系统已安装Ruby 打开终端输入如下命令 gem install airborne 或者在Gemfile添加 gem airborne 然后运行bundle install 2.编写脚本 在项目中新建api_tests_spec.rb文件 以GET接口"https://www.thunderclient.com/welcome"为…

session 共享服务器

1.安装 kryo-3.0.3.jar asm-5.2.jar objenesis-2.6.jar reflectasm-1.11.9.jar minlog-1.3.1.jar kryo-serializers-0.45.jar msm-kryo-serializer-2.3.2.jar memcached-session-manager-tc9-2.3.2.jar spymemcached-2.12.3.jar memcached-session-manager-2.3.2.jar …

Web 毕设篇-适合小白、初级入门练手的 Spring Boot Web 毕业设计项目:药品进销存信息管理系统(前后端源码 + 数据库 sql 脚本)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 项目介绍 1.1 项目功能 2.0 用户登录功能 3.0 首页界面 4.0 供应商管理功能 5.0 药品管理功能 6.0 采购记录管理功能 7.0 销售记录管理功能 8.0 退货记录管理功能…

PCIE概述

PCIE概述 文章目录 PCIE概述前言一、应用场景二、PCIE理论2.1 硬件2.2 拓扑结构:处理器和设备之间的关系2.3 速率2.4 层次接口2.5 四种请求类型2.5.1 bar空间2.5.2 memory2.5.3 IO2.5.4 configuration2.5.5 message 前言 参考链接: pcie总线知识点解析 …

基于C#开发web网页管理系统模板流程-登录界面和主界面

点击返回目录-> 基于C#开发web网页管理系统模板流程-总集篇-CSDN博客 前言,首先介绍一下本项目将要实现的功能 (一)登录界面 实现一个不算特别美观的登录窗口,当然这一步跟开发者本身的设计美学相关,像蒟蒻博主就没…

优化你的 3D Tiles:性能与质量的平衡

优化你的 3D Tiles:性能与质量的平衡 在现代的三维场景渲染中,3D Tiles 是一种强大的技术,它能以高效、分级加载的方式呈现海量的三维数据。然而,优化 3D Tiles 以实现性能与质量的平衡,却是一个复杂且关键的任务。本…