05 2016 档案
摘要:一、什么是paxos算法 Paxos 算法是分布式一致性算法用来解决一个分布式系统如何就某个值(决议)达成一致的问题。 人们在理解paxos算法是会遇到一些困境,那么接下来,我们带着以下几个问题来学习paxos算法: 1、paxos到底在解决什么问题? 2、paxos到底如何在分布式存储系统中应用?
阅读全文
摘要:为了解决这种分布式一致性问题,前人在性能和数据一致性的反反复复权衡过程中总结了许多典型的协议和算法。其中比较著名的有二阶提交协议(Two Phase Commitment Protocol)、三阶提交协议(Three Phase Commitment Protocol)和Paxos算法。 一、分布式
阅读全文
摘要:一、MySQL数据库主从同步延迟 要了解MySQL数据库主从同步延迟原理,我们先从MySQL的数据库主从复制原理说起: MySQL的主从复制都是单线程的操作,主库对所有DDL和DML产生的日志写进binlog,由于binlog是顺序写,所以效率很高。 Slave的IO Thread线程从主库中bin
阅读全文
摘要:一、存储引擎层面丢失数据 由于在实际项目中,我们往往使用支持事务的InnoDB存储引擎。我们分析InnoDB存储引擎数据丢失: 从上篇的文章《MySQL事务提交过程(一)》和《MySQL事务提交过程(二)》中知道,MySQL默认情况下是开启内部的XA事务和事务的实现方式是基于redo log和und
阅读全文
摘要:If you specify ON DUPLICATE KEY UPDATE, and a row is inserted that would cause a duplicate value in a UNIQUE index or PRIMARY KEY, MySQL performs an U
阅读全文
摘要:一、引言 数据一致性的重要性? 分布式领域CAP理论告诉我们,任何一个分布式系统都无法同时满足Consistency(一致性),Availability(可用性), Partition tolerance(分区容错性) 这三个基本需求。最多只能满足其中两项。 但是,一个分布式系统无论在CAP三者之间
阅读全文
摘要:一、BASE理论 eBay的架构师Dan Pritchett源于对大规模分布式系统的实践总结,在ACM上发表文章提出BASE理论,BASE理论是对CAP理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP的一致性就是强一致性),但应用可以采用适合的方式达到最终一致
阅读全文
摘要:一、CAP理论概述 一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项。 二、CAP的定义 1、Consistency 一致性 一致性指"all nodes see the same
阅读全文
摘要:前言 在这唯快不破的互联网世界中,“快”(响应速度)成为良好体验的一个重要因素。那么如何量化响应速度哪? 性能指标的分类 为了更好的去监控整个系统的性能,做好全流程的优化,将指标分为了以下3类: System performance:这类指标从物理资源即服务器的角度出发,监测目前服务器的cpu,内存
阅读全文
摘要:上一篇文章《MySQL索引》介绍了索引的基本内容。本篇文章来说说MySQL索引原理。 MySQL索引原理 ##索引目的 我们为什么要建索引,原因很简单索引可以提高查询效率,可以类比图书中目录。这里就不再赘述索引的优势,请自行查阅资料。 ##索引原理 除了图书的目录,我们在生活中会经常发现类似的事情,
阅读全文
摘要:上一篇文章我们介绍了在关闭binlog的情况下,事务提交的大概流程。之所以关闭binlog,是因为开启binlog后事务提交流程会变成两阶段提交,这里的两阶段提交并不涉及分布式事务,当然mysql把它称之为内部xa事务(Distributed Transactions),与之对应的还有一个外部xa事
阅读全文
摘要:MySQL作为一种关系型数据库,已被广泛应用到互联网中的诸多项目中。今天我们来讨论下事务的提交过程。 MySQL体系结构 由于mysql插件式存储架构,导致开启binlog后,事务提交实质是二阶段提交,通过两阶段提交,来保证存储引擎和二进制日志的一致。 本文仅讨论binlog未打卡状态下的提交流程,
阅读全文
摘要:前言: 我们都知道事务的几种性质,数据库为了维护这些性质,尤其是一致性和隔离性,一般使用加锁这种方式。同时数据库又是个高并发的应用,同一时间会有大量的并发访问,如果加锁过度,会极大的降低并发处理能力。所以对于加锁的处理,可以说就是数据库对于事务处理的精髓所在。这里通过分析MySQL中InnoDB引擎
阅读全文