2018-08-04 张炎泼
mdtoc start 依赖: group-replication 需要gtid支持,多主复制基于gtid格式的binlog 特性: 多主模式: 限制: group-replication 只适合单机房高速局域网部署 限制: auto increment 默认是7, 集群建立起来之后不能改 限制: 默认要设置为read-only 限制: 失联的节点不会自动加回到group里. 这里会有个问题: 失联节点还可以提供读操作 限制: 2个成员里kill 1个member不能被自动处理, 因为2 成员中1个member不能独立行程多数派,整个group会卡主,不接受任何写入 限制: 配置: 必须使用hostname 操作: my.cnf 继续阅读 »
2013-12-15 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 什么是读写分离 MySQL Proxy最强大的一项功能是实现“读写分离(Read/Write Splitting)”。基本的原理是让主数据库处理事务性查询,而从数据库处理SELECT查询。数据库复制被用来把事务性查询导致的变更同步到集群中的从数据库。 当然,主服务器也可以提供查询服务。使用读写分离最大的作用无非是环境服务器压力。可以看下这张图: 二 读写分离的好处 增加冗余 增加了机器的处理能力 对于读操作为主的应用,使用读写分离是最好的场景,因为可以确保写的服务器压力更小,而读又可以接受点时间上的延迟。 三 读写分离提高性能之原因 物理服务器增 继续阅读 »
2013-10-27 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 关于MySQL AB复制 本文讲解如何快速打包和安装MySQL, MySQL AB复制,MySQL AB双向复制,MySQL多级主从复制,解决AB双向复制主键冲突。 首先我们先介绍什么是MySQL AB复制。 AB复制又称主从复制,实现的是数据同步。如果要做MySQL AB复制,数据库版本尽量保持一致。如果版本不一致,从服务器版本高于主服务器,但是版本不一致不能做双向复制。MySQL AB复制有什么好处呢?有两点,第一是解决宕机带来的数据不一致,因为MySQL AB复制可以实时备份数据;第二点是减轻数据库服务器压力,这点很容易想到,多台服务器的性能一般比单 继续阅读 »
2017-02-01 张炎泼
文字版: Erasure-Code: 工作原理, 数学解释, 实践和分析 more 继续阅读 »
2017-02-01 张炎泼
mdtoc start 内容简介 分布式系统的可靠性问题: 冗余和多副本 EC的基本原理 栗子🌰1: 实现k+1的冗余策略, 大概需要小学3年级的数学知识 栗子🌰2: 实现k+m的冗余策略, 大概需要初中2年级的数学知识 增加1个校验块, 变成k+2 实现k+m 的冗余 EC编码矩阵的几何解释 k=2, 为2个数据块生成冗余校验块 k=3, 4, 5...时的数据块的冗余 通过高次曲线生成冗余数据 从曲线方程得到的系数矩阵 EC解码过程: 求解n元一次方程组 [Vandermonde] 矩阵保证方程组有解 新世界: 伽罗华域 [Galois-Field] GF(7) EC在计算机里的实现: 基于 伽罗华域 [Galois-Fiel 继续阅读 »
2017-02-07 Borg
Replication Why replication? high availability (when server failure occurs) durability scaling in some situations disaster recovery 继续阅读 »
2015-01-23 Robin Wen
目录 Table of Contents {:toc} 文/温国兵 一 引子 在 MySQL 中,可以有如下几种途径实现唯一值: 自增序列 UUID() 函数 程序自定义 UUID 基于 16 进制,由 32 位小写的 16 进制数字组成,如下: aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee 比如 123e4567-e89b-12d3-a456-426655440000 就是一个典型的 UUID。 MySQL 实现了 UUID,并且提供 UUID() 函数方便用户生成 UUID。在 MySQL 的 UUID() 函数中,前三组数字从时间戳中生成,第四组数字暂时保持时间戳的唯一性,第五组数字是 继续阅读 »