Zookeeper阅读笔记-Zookeeper与Paxos

Zookeeper为分布式应用提供了高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理和分布式锁等分布式的基础服务。在解决分布式数据一致性方面,Zookeeper并没有直接采用Paxos算法,而是采用了一种被称为ZAB(Zookeeper Atomic Broadcast)的一致性协议。初

Zookeeper阅读笔记-一致性协议

2PC与3PC在分布式系统中,每一个机器节点虽然能够明确地知道自己在进行事务操作过程中的结果是成功或失败,但却无法直接获取到其他分布式节点的操作结果。因此,当一个事务操作需要跨越多个分布式节点的时候,为了保持事务处理的ACID特性,就需要引入一个称为协调者(Coordinator)的组件来统一调度所

InnoDB存储引擎笔记-事务

事务的实现事务的隔离性由锁来实现的。原子性、一致性、持久性通过数据库的redo log和undo log来完成的。redo log称为重做日志,用来保证事务的原子性和持久性。undo log用来保证事务的一致性。redo和undo的作用可以视为是一种恢复操作,redo恢复提交事务修改的页操作,而un

InnoDB存储引擎笔记-锁

开发多用户,数据库驱动的应用时,最大的一个难点是:一方面要最大程度地利用数据库的并发访问,另外一方面还要确保每个用户能以一致的方式读取和修改数据。为此就有了锁(locking)机制,同时这也是数据库系统区别于文件系统的一个关键特性。什么是锁锁是数据库系统区别于文件系统的一个关键特性。锁机制用于管理对

InnoDB存储引擎笔记-索引与算法

索引是应用程序设计和开发的一个重要方面。若索引太多,应用程序的性能可能会收到影响。而索引太少,对查询性能又会产生影响。要找到一个合适的平衡点,这对应用程序的性能至关重要。InnoDB存储引擎索引概述InnoDB存储引擎支持以下几种常见的索引:B+树索引全文索引哈希索引前文已经提到过,InnoDB存储

InnoDB存储引擎笔记-表

本章将从InnoDB存储引擎表的逻辑存储及实现开始进行介绍,然后将重点分析表的物理存储特征,即数据在表中是如何组织和存放的。简单来说,表就是关于特定实体的数据集合,这也是关系型数据库模型的核心。索引组织表在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表称为索引组织表(inde

Zookeeper阅读笔记-分布式架构

随着计算机系统规模变得越来越大,将所有的业务单元集中部署在一个或若干个大型机上的体系结构,已经越来越不能满足当今计算机系统,尤其是大型互联网系统的快速发展,各种灵活多变的系统架构模型层出不穷。同时,随着微型计算机的出现,越来越多廉价的PC机成为了各大企业IT架构的首选,分布式的处理方式越来越受到业界

mysql运行原理笔记-事务隔离级别和MVCC

事务隔离级别和MVCC事务隔离级别我们知道,MySQL是一个客户端/服务端架构的软件。对于同一个服务器来说,可以有多个客户端与之连接。每个客户端与服务端建立连接之后,就形成了一个会话。每个客户端都可以在自己的会话中向服务器发送请求语句,一个请求语句可能是某个事务的一部分。服务器可以同时处理来自多个客

高性能MySQL阅读笔记

慢查询基础:优化数据访问查询性能低下最基本的原因是访问的数据太多。某些查询可能不可避免地需要筛选大量数据,但这并不常见。大部分性能低下的查询都可以通过减少访问的数据量的方式进行优化。对于低效的查询,我们发现通过下面两个步骤来分析总是很有效:确认应用程序是否在检索大量超过需要的数据。这通常意味着访问了

Java性能优化阅读笔记

HotSpot VM运行时HotSpot VM运行时幻境担当了许多职责,包括命令行选项解析、VM生命周期管理、类加载、字节码解释、异常处理、同步、线程管理、Java本地接口、VM致命错误处理和C++(非Java)堆管理。VM生命周期启动HotSpot VM组件是启动器。HotspotVM有若干个启动