1 第一层:连接处理、授权认证、安全

2 第二层:内置函数、解析、优化、跨存储引擎的功能:存储过程、触发器、视图

3 第三层:数据在存储和提取,底层函数(如开始事务)不解析sql、存储引擎之间不相互通信,只响应上层

客户端连接到服务器-需要认证:用户、原始主机、密码-然后验证特定操作权限

优化器:会请求存储引擎提供容量或某个具体操作的开销信息以及表数据的统计信息,在解析查询之前服务器会先检查查询缓存query cache,如果能找到,服务器就不必再执行查询解析、优化和执行 的整个过程,直接返回查询缓存中的结果集

并发控制:多个查询需要同一时间修改数据

使用锁防止数据损坏,但不支持并发处理

锁有:共享锁、排他销 也叫 读锁 、写锁

读锁是共享的,相互不阻塞

写锁是排他的,会阻塞其他的写锁和读锁

锁策略:在锁的开销和数据的安全性之间寻求平衡。每种mysql存储引擎都可以实现自己的锁策略和锁粒度。

表锁:table lock ,mysql中最基本的锁策略,且开销最小的锁策略

     写操作前需要先获得写锁,这会阻塞其他用户对该表的所有读写操作

       读锁之间是不相互阻塞的

      写锁比读锁有更高的优先级

    尽管存储引擎可以管理自己的锁,mysql本身还是会使用各种有效的表锁来实现 不同的目的。例如:服务器会为alter table之类的操作语句使用表锁

  行级锁:可以最大程序的地支持并发处理,同时也带来了最大的锁开销

    innoDB/XtraDB实现了行级锁。只在存储引擎层实现,而mysql服务器层没有实现

  事务:独立的工作单元,事务内的语句,要么全部执行成功,要么全部执行失败。strat transaction 开始事务 commit提示事务,rollback回滚事务

    属性:ACID 原子性、一致性、隔离性、持久性

mysql-笔记 架构的更多相关文章

  1. CentOS6.8下MySQL MHA架构搭建笔记

    转载请注明出处,本文地址:http://www.cnblogs.com/ajiangg/p/6552855.html 以下是CentOS6.8下MySQL MHA架构搭建笔记 IP资源规划: 192. ...

  2. 高性能MySQL笔记:第1章 MySQL架构

    MySQL 最重要.最与众不同的特性是他的存储引擎架构,这种架构的设计将查询处理(Query Precessing)及其系统任务(Server Task)和数据的存储/提取相分离.   1.1 MyS ...

  3. MySQL高级学习笔记(三):Mysql逻辑架构介绍、mysql存储引擎

    文章目录 Mysql逻辑架构介绍 总体概览 总体概览 mysql存储引擎 查看命令 看你的 mysql 现在已提供什么存储引擎 : 看你的 mysql 当前默认的存储引擎 : 各个引擎简介 MyISA ...

  4. MySQL提升笔记(1):MySQL逻辑架构

    深入学习MySQL,从概览MySQL逻辑架构开始. 首先来看一下MySQL的逻辑架构图: MySQL逻辑架构大概可以分为三层: 客户端:最上层的服务并不是MySQL所独有的,大多数基于网络的客户端/服 ...

  5. Mysql 笔记二

    Mysql 笔记二 Mysql 笔记二 Table of Contents 1. 前言 2. Master Thread 工作方式 2.1. 主循环(loop) 2.2. 后台循(backgroup ...

  6. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  7. MySQL笔记汇总

    [目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...

  8. MySQL 体系架构

    MySQL 体系架构 本篇文章是对mysql体系结构进行了详细的分析介绍,需要的朋友参考下 上面一图是mysql的概览图,我们从上往下看, 我们把上面一图一分为二,我们可以吧它分为两个部分, 1,是c ...

  9. MySQL 主从架构配置详解

    无论是哪一种数据库,数据的安全都是至关重要的,因此熟练掌握数据库的安全备份功能,是作为开发人员,特别是后端开发人员的一项必备技能.MySQL 数据库内建的复制功能,可以帮助我们对数据进行异地备份,读写 ...

  10. 高性能mysql主存架构

    原文:高性能mysql主存架构 MySQL Replication(Master与Slave基本原理及配置) 主从mysql工作原理: 1:过程: (1)Mysql的复制(replication)是一 ...

随机推荐

  1. springboot~内嵌redis的使用

    对于单元测试来说,我们应该让它尽量保持单一环境,不要与网络资源相通讯,这样可以保证测试的稳定性与客观性,对于springboot这个框架来说,它集成了单元测试JUNIT,同时在设计项目时,你可以使用多 ...

  2. Vue不能检测数组或对象变动问题的解决

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Asp.Net Core 轻松学-在.Net Core 使用缓存和配置依赖策略

    前言     几乎在所有的应用程序中,缓存都是一个永恒的话题,恰当的使用缓存可以有效提高应用程序的性能:在某些业务场景下,使用缓存依赖会有很好的体验:在 Asp.Net Core 中,支持了多种缓存组 ...

  4. Linux之用户和权限

    自从我大微软终于放下身段,决定给开源社区一个迟来的拥抱,追随多年的拥趸们像是突然得到了女神的垂青,各种茫然失措.痛哭流涕.欢欣鼓舞,纷纷唱了起来:“等了好久终于等到今天,梦了好久终于把梦实现……”唱完 ...

  5. Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)

    JVM运行时内存结构回顾 在JVM相关的介绍中,有说到JAVA运行时的内存结构,简单回顾下 整体结构如下图所示,大致分为五大块 而对于方法区中的数据,是属于所有线程共享的数据结构 而对于虚拟机栈中数据 ...

  6. 第三章 CLR如何解析引用类型

    C#编译器将代码打包成托管模块后,接着会将这些模块合并成程序集,然后统一加载到一个具体的目录,CLR在这个目录查找并且加载所需要的DLL或者exe. 程序集分类:弱命名程序集和强命名程序集,强命名程序 ...

  7. winform登录功能

    private void btnLogin_Click(object sender, EventArgs e) { string username = txtUserName.Text; string ...

  8. tomcat 控制台中文乱码问题

    1.找到${CATALINA_HOME}/conf/logging.properties2.添加语句:java.util.logging.ConsoleHandler.encoding = GBK 3 ...

  9. DevOps概述

    Devops概念 转载自 devops实践-开篇感想 DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和 ...

  10. HTML中块元素与内联元素的概念

    HTML中块元素与内联元素的概念 div就是一个块元素,所谓的块元素就是会独占一行的的元素,无论他的内容有多少,他都会独占一整行. p h1 h2 h3 ... div这个标签没有任何语义,就是一个纯 ...