提到 MySQL, 我们不得不说说其两大重要的时间点

  • 2008 年 Sun 收购 MySQL AB
  • 2010 年 Oracle 收购 Sun

在 MySQL 两次易主的过程中,开发者们普遍担心某一天 MySQL 会成为一个非开源的收费版本,所以在此期间出现了很多类 MySQL 的 RDBMS。然而到目前为止,主要有两个久经考验的 RDBMS 分别为:Percona server for MySQL 和 MariaDB。

今天我们主要来介绍下 Percona server for MySQL***

Percona server for MySQL

发展史

  • 2008.12.16 年第一个版本 Percona Server 1.0.2 正式 release
  • 2018.03.31 年最新的版本 Percona Server 5.7.22-22 正式 release

服务特性

Percona 其实是基于 MySQL 的一个分支开发的,然后做了一系列的功能优化和完善,主要包括

  • 完全兼容 MySQL 协议
  • Bug 修复
  • 性能优化
  • 支持 MySQL 社区版和企业版功能特性
  • 丰富的性能诊断工具

我们来详细介绍下其中几项功能优化

MySQL 企业版功能特性

Threadpool

MySQL 针对每个连接请求会单独分配一个线程。一旦连接的数量超过一定的阈值,性能反而会直线下降。

使用 Threadpool(线程池)技术,在有大量客户端短事务连接的场景下,仍然可以保持较少的线程数量,从而减少上下文切换和热锁的争用,从而保证服务性能不受连接数影响。

我们来看下有无 Threadpool 的性能差异,数据来源 Percona Server: Improve Scalability with Percona Thread Pool

IO bound: sysbench dataset 32 tables/12M rows each (~100GB), InnoDB buffer pool=25GB 

In-memory/CPU bound: sysbench dataset 32 tables/12M rows each (~100GB), InnoDB buffer pool=100GB 

PAM Authentication

PAM(Pluggable Authentication Modules),提供了更灵活、更安全的权限配置管理插件。

丰富的性能诊断工具

更多统计信息

  • Show global status 与 show global variables 将额外统计更多信息
  • Show engine innodb status 更详细输出,比如:
    • 日志相关项:Max checkpoint age, Checkpoint age target, Modified age, Checkpoint age
    • 内存使用相关项:Internal Hash Tables, Buffer pool size in bytes
    • 行操作相关项:Count of RW transactions occurring inside InnoDB

更强大的分析命令

show 和 explain 将输出更详细的内容,用于性能剖析。

细粒度资源使用统计

支持userstat,用于性能调优或资源控制。

更多插件

推荐直方图插件,从 SQL 执行次数和响应时间两个维度统计慢查询,量化数据库性能指标。

性能优化

XtraDB

这是 Percona 独有的,可以认为是 InnoDB 存储引擎的增强版,并且完全兼容 InnoDB。

Buffer Pool 优化

我们来看下有无 buffer pool 优化后的性能差异,数据来源 A closer look at Percona Server 5.6

Throughput (more is better): 

95% Response time (less is better): 

完全兼容 MySQL 协议

如果你原先使用的是 MySQL 服务作为你的数据库存储服务,由于 Percona 是完全兼容 MySQL 协议的,所以从 MySQL 服务切换到 Percona 服务会是一个很平滑过程,对于业务侧而言基本可以理解为无改动。

1.1、什么是percona
Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升。该版本提升了在高
负载情况下的 InnoDB 的性能、为 DBA 提供一些非常有用的性能诊断工具;另外有更多的参数和命令来控制服务
器行为。
Percona Server 只包含 MySQL 的服务器版,并没有提供相应对 MySQL 的 Connector 和 GUI 工具进行改进。
Percona Server 使用了一些 google-mysql-tools, Proven Scaling, Open Query 对 MySQL 进行改造。
1.2、安装部署
测试:
#镜像地址:https://hub.docker.com/_/percona/
#拉取镜像
docker pull percona:5.7.23
#创建容器
docker create --name percona -v /data/mysql-data:/var/lib/mysql -p 3306:3306 -e
MYSQL_ROOT_PASSWORD=root percona:5.7.23
#参数解释:
--name: percona 指定是容器的名称
-v: /data/mysql-data:/var/lib/mysql 将主机目录/data/mysql-data挂载到容器
的/var/lib/mysql上
-p: 33306:3306 设置端口映射,主机端口是33306,容器内部端口3306
-e: MYSQL_ROOT_PASSWORD=root 设置容器参数,设置root用户的密码为root
percona:5.7.23: 镜像名:版本
#启动容器
docker start percona

Percona server 介绍及与mysql对比 及安装相关推荐

  1. mysql 升级percona_MySQL Study之--Percona Server 5.5升级5.6

    系统环境: 操作系统:CentOS_6.5(64) MySQL:  Percona server 5.5(5.6) 一.升级的目的 为什么MySQL升级是必须的? 原因有很多,比如:为了使用新增的特性 ...

  2. MySQL精简版安装教程

    MySQL精简版安装教程 提示:以下介绍的是MySQL十分精简的一个安装教程,整个一套流程操作下来之后,只会在你的电脑上安装MySQL server服务和一个MySQL 安装程序,精简的安装不会对使用 ...

  3. MySQL数据库(五)percona软件介绍,innobackupex备份与恢复

    一.percona软件介绍     在线热备份不锁表 1.软件安装 [root@mysql50 ~]# rpm -ivh percona-xtrabackup-24-2.4.20-1.el7.x86_ ...

  4. mysql percona server_MySQL Study之--Percona Server版本

    1.简介 Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升.该版本提升了在高负载情况下的 InnoDB 的性能.为 DBA 提供一些非常有用的性能 ...

  5. 偶遇mysql(Percona Server)的一个新bug

    bug的原因是在linux系统下,mysql的配置文件my.cnf的basedir不能使用软连接. 表象如下: #cat /usr/local/mysql/my.cnf | grep basedir ...

  6. MySQL Study之--Percona Server版本

    1.简介      Percona 为 MySQL 数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升.该版本提升了在高负载情况下的 InnoDB 的性能.为 DBA 提供一些非常 ...

  7. Percona Server for MySQL 5.5.30-30.2

    Percona 很高兴的发布了 Percona Server for MySQL 5.5.30-30.2 版本,该版本基于 MySQL 5.5.30 ,这是 5.5 分支的最新稳定版本. 该版本包含如 ...

  8. mysql8和5.7区别_MySQL 8、MySQL 5.7和Percona server for MySQL性能比较

    本文主要比较一下MySQL 8, MySQL 5.7, and Percona server for MySQL之间性能.MySQL8.0版本性能和MySQL5.6版本相比没有任何改进和提升,Perc ...

  9. Percona Server for MySQL 安装TokuDB引擎

    Percona Server for MySQL 安装TokuDB引擎 TokuDB主要优点:insert数据比Innodb快的多,数据压缩比要Innodb高 官方文档https://docs.per ...

最新文章

  1. android easylink 搜索设备_手把手教你将数据从Android移动到iPhone步骤与技巧
  2. 《深度探索C++对象模型》--4 Function语意学
  3. OpenGL开发学习指南一(freeglut+glew)
  4. 全栈入门_启动数据栈入门包(2020)
  5. 微信背后的男人——张小龙
  6. Java坦克大战Summary
  7. 用于创建此对象的程序是 Equation。您的计算机尚未安装此程序或此程序无响应。 若要编辑此对象,请安装 Equation或确保 Equation中的任何对话框都已关闭
  8. 【网络】能远程电脑,但ping不通
  9. Spirent Testcenter基本配置使用说明_1022
  10. 十亿级别的MySQL数据库表(InnoDB存储引擎),旧数据清理的蹩脚方案。
  11. 原型制作与图解——墨刀工具
  12. android 实现冒泡动画,android 触摸事件冒泡动画效果
  13. b树与b 树的区别 mysql,B树和B+树
  14. 深入理解机器学习——机器学习概览
  15. win10下cuda版本升级
  16. python设置背景图片大全_Python实例讲解 - tkinter canvas (设置背景图片及文字)
  17. uIP1.0 主动发送的问题理解
  18. 万事无忧之SEO GOOGLE优化秘诀
  19. 高中计算机课ps,高中信息技术Photoshop操作题知识点
  20. 使用Speech Synthesis API 做语音播放

热门文章

  1. 【带锁的门】(在走廊上有n个带锁的门,从1到n依次编号。最初所有的门都是关着的。我们从门前经过n次,每次都从1号门开始。在第i次经过时(i = 1,2,…, n)我们改变i的整数倍号锁的状态)
  2. python字符串转日期函数
  3. c语言蜂鸣器放音乐程序,单片机按键蜂鸣器演奏歌曲功能C程序
  4. js 实现iFonts书签动画
  5. 机器学习--决策树算法
  6. 【css要点总结】012 css间距
  7. 升级每天正常更新欢迎_苹果商店里的APP提示更新, 一直不更新的话会怎样?
  8. 梦达流量卡 自动复机
  9. linux 移动文件夹权限
  10. 第三次(二):对比分析SLG 率土之滨 VS 三国志2017