zoukankan      html  css  js  c++  java
  • 数据库

    MySQL====>

    逻辑架构-------->MySQL的逻辑架构可分为四层,包括连接层、服务层、引擎层和存储层

    连接层: 负责处理客户端的连接以及权限的认证。

    服务层: 定义有许多不同的模块,包括权限判断,SQL接口,SQL解析,SQL分析优化, 缓存查询的处理以及部分内置函数执行等。MySQL的查询语句在服务层内进行解析、优化、缓存以及内置函数的实现和存储。

    引擎层: 负责MySQL中数据的存储和提取。MySQL中的服务器层不管理事务,事务是由存储引擎实现的。其中使用最为广泛的存储引擎为InnoDB,其它的引擎都不支持事务。

    存储层: 负责将数据存储于设备的文件系统中。

     事务是MySQL区别于NoSQL的重要特征,是保证关系型数据库数据一致性的关键技术。事务可看作是对数据库操作的基本执行单元,可能包含一个或者多个SQL语句。这些语句在执行时,要么都执行,要么都不执行。事务的执行主要包括两个操作,提交和回滚。

    原子性(Atomicity) :语句要么全执行,要么全不执行,是事务最核心的特性,事务本身就是以原子性来定义的;实现主要基于undo log日志实现的。

    持久性(Durability  :保证事务提交后不会因为宕机等原因导致数据丢失;实现主要基于redo log日志。

    隔离性(Isolation) :保证事务执行尽可能不受其他事务影响;InnoDB默认的隔离级别是RR,RR的实现主要基于锁机制、数据的隐藏列、undo log和类next-key lock机制。

    一致性(Consistency) :事务追求的最终目标,一致性的实现既需要数据库层面的保障,也需要应用层面的保障。

    锁机制----事务之间的隔离,是通过锁机制实现的。当一个事务需要对数据库中的某行数据进行修改时,需要先给数据加锁;加了锁的数据,其它事务是不运行操作的,只能等待当前事务提交或回滚将锁释放。

    按照粒度划分:行锁、表锁、页锁按照使用方式划分:共享锁、排它锁按照思想划分:悲观锁、乐观锁

  • 相关阅读:
    获取枚举Description的Name
    MVC 3 RequiredIf validator for multiple values
    js关闭页面(兼容浏览器)
    js实现复制到剪切板
    Reverse Integer
    303. Range Sum Query
    326.Power of Three
    328. Odd Even Linked List
    面试基础知识点
    javaSE学习博客与笔记
  • 原文地址:https://www.cnblogs.com/KL2016/p/14609777.html
Copyright © 2011-2022 走看看