pt-online-schema-change 在线更改MySQL表结构 MySQL

pt-online-schema-change 在线更改MySQL表结构

总所周知,数据库最昂贵的操作莫过于DDL操作,因为MySQL在修改表期间会阻塞任何读写操作的,基本上你的业务出于瘫痪状态了。对于庞大的可能历时好几个小时才完成,简直就是个恶梦,没法容忍的操作。 Per...
阅读全文
会用JOIN,却不懂编程的“程序员”(3) MySQL

会用JOIN,却不懂编程的“程序员”(3)

1.1. 前言 对于之前那种每一个功能都要将SQL语句分成简单语句,取出数据再拼凑。这种方法肯定不是我们想要的结构。这样对任何人都没有好处。而且如果有增加了需求,比如需要查询某个用户在某个店铺下了什么...
阅读全文
会用JOIN,却不懂编程的“程序员”(2) MySQL

会用JOIN,却不懂编程的“程序员”(2)

1.1. 前言 在前面的文章我们留下的一个问题,就是使用了拆分的SQL却不能一次性的取出想要的结果。需要使用应用程序来拼凑结构。这边我们使用python来讲述如何拼凑出自己想要的结果。 1.2. 思路...
阅读全文
MySQL基线测试 MySQL

MySQL基线测试

前言 其实MySQL基线测试已经不是什么新鲜的话题了,这应该是作为DBA的基本的技能了。大家都知道使用一些工具去做(sysbench、tpcc-mysql、tpc-c等等)。本篇文章不是告诉你相关的工...
阅读全文
腾讯游戏数据自愈服务方案简介 MySQL

腾讯游戏数据自愈服务方案简介

                             腾讯游戏数据自愈服务方案简介   1. 引言 在正式介绍项目背景之前,让我们先看一组数据: 这是2个灰度的业务,都是Z3服务器,我们...
阅读全文
MySQL分库分表(番外篇3)-小表冗余 MySQL

MySQL分库分表(番外篇3)-小表冗余

其实在商品中都应该有这相关的类别信息。往往我们在查看商品的时候都需要知道此商品是什么类别。因此每一条商品都会关联到相关的类别。因此,在系统中就会有一张类别表。稍微有一点经验的都知道像这种类别表的数据一...
阅读全文
MySQL分库分表(番外篇2)-使用redis MySQL

MySQL分库分表(番外篇2)-使用redis

前言 其实在系统中我们可以看到,那些属于公共信息的库和表最总将会成为一个高频爆发的点,系统在那里也容易出现瓶颈。因此我们为了提高系统的并发性和性能。我们可以选择一些NoSQL数据库。 我的推荐 NoS...
阅读全文
MySQL分库分表(番外篇1)-使用kafka记入日志 MySQL

MySQL分库分表(番外篇1)-使用kafka记入日志

前言 其实这篇文章说介绍的和分库分表没有很大的关系,主要是业务流程的完整性。 实际情况 在开发过程中许多重要的操作都会记录日志的。如:谁什么时候下单了、下单成功还是失败等等。 往往这些比较重要的信息都...
阅读全文
MySQL分库分表缩容(11) MySQL

MySQL分库分表缩容(11)

此缩容非彼缩容 无论是在ORACLE、MSSQL中都会存在着扩容、缩容的操作,并且这个技能基本是DBA所必备的。下面是本人的一点理解: 扩容:数据在增长,在快达到磁盘或数据库的容量时,增加磁盘和或表空...
阅读全文
MySQL分库分表弃强妥最提高性能(10th) MySQL

MySQL分库分表弃强妥最提高性能(10th)

回顾 之前我们介绍了使用分布式事务(XA)处理用户下订单,对MySQL有所了解的都知道XA其实是在非用不可的情况下才用的,因为它实在是影响性能。当然,其实迫使我们使用XA的原因也是因为我们的设计决定的...
阅读全文
MySQL反经验定律创建索引 MySQL

MySQL反经验定律创建索引

说明 相信大家在做数据库优化的时候肯定都会听到,一定不能这样做,必须要这样做。这也是为什么DBA会和开发"打架"原因,毕竟有些经验的开发多多少少也会一点优化啦。 大家有听到过在为表建立索引的时候一定不...
阅读全文