当前位置: 首页 > news >正文

做淘客的网站名称seo研究协会

做淘客的网站名称,seo研究协会,南宁哪个网络公司建网站好,宜兴做网站MySQL逻辑架构 MySQL 服务器逻辑架构图 最上层的服务并不是MySQL所独有的#xff0c;大多数基于网络的客户端/服务器的工具或者服务都有类似的架构#xff0c;比如连接管理、授权认证、安全等等。 大多数MySQL的核心服务都在第二层#xff0c;包括查询解析、分析、优化、…MySQL逻辑架构 MySQL 服务器逻辑架构图 最上层的服务并不是MySQL所独有的大多数基于网络的客户端/服务器的工具或者服务都有类似的架构比如连接管理、授权认证、安全等等。 大多数MySQL的核心服务都在第二层包括查询解析、分析、优化、缓存一级所有内置函数所有跨存储引擎的功能都在这一层实现存储过程、触发器、视图等。 第三层包含了存储引擎存储引擎负责MySQL中数据的存储和提取。服务器通过API与存储引擎进行通信。这些接口屏蔽了不同存储引擎之间的差异使得这些差异对上层的查询过程透明。 连接管理与安全性 每个客户端连接都会在服务器进程中拥有一个线程这个连接的查询只会在这个单独的线程中执行该线程只能轮流在某个CPU核心中运行。服务器会负责缓存线程因此不需要为每一个新建的连接创建或者销毁线程。 当客户端连接到MySQL服务器时服务器需要对其进行认证一旦客户端连接成功服务器会继续验证该客户端是否拥有执行某个特定查询的权限。 优化与执行 MySQL会解析查询并创建内部数据结构然后对其进行优化包括重写查询、决定表的读取顺序、选择合适的索引等。 对于Select语句在解析查询之前服务器会先检查查询缓存如果能够在其中找到对应的查询服务器就不必再次执行查询解析、优化和执行的整个过程而是直接返回查询缓存中的结果集。 并发控制 读写锁 读锁是共享的或者说是相互不阻塞的。多个客户在同一时刻可以同时读取同一个资源互不干扰。 写锁是排他的只要有一个写锁存在就会阻塞其他的写锁和读锁这是出于安全策略的考虑只有这样才能确保在给定的时间里只有一个用户能执行写入并防止其他用户读取正在写入的同一资源。 在实际的数据库系统中每时每刻都在发生锁定当某个用户在修改某一部分数据时MySQL会通过锁定防止其他用户读取同一数据。大多数时候MySQL锁的内部管理都是透明的。 锁粒度 一种提高共享资源并发性的方式就是让锁定对象更有选择性。尽量只锁定需要修改的部分数据而不是所有资源。任何时候在给定的资源上锁定的数据量越少则系统的并发程度越高只要相互之间不发生冲突即可。 问题是加锁也需要消耗资源锁的各种操作包括获得锁、检查锁是否已经解除释放锁等如果系统花费大量的时间来管理锁而不是存取数据那么系统的性能反而受到影响。 所谓的 锁策略就是在锁的开销和数据的安全性之间寻求平衡。MySQL主要提供了两种最重要的锁策略。 1. 表锁 表锁是MySQL中最基本的锁策略并且是开销最小的策略。他会锁定整张表一个用户在对表进行写操作前需要先获得写锁这会阻塞其他用户对该表的所有读写操作只有没有写锁时其他读取的用户才能获取到锁读锁之间不相互阻塞。 尽管存储引擎可以管理自己的锁MySQL本身还是会使用各种有效的表锁来实现不同的目的。例如服务器会为alter table之类的语句使用表锁而忽略存储引擎的锁机制。 2. 行级锁 行级锁可以最大程度的支持并发处理同时也带来了最大的锁开销。行级锁只在存储引擎层实现。 事务 一个运行良好的事务处理系统必须具备这些标准特征。 原子性一个事务必须被视为一个不可分割的最小工作单元整个事务中所有操作要么全部提交成功要么全部失败。对于一个事务不可能只执行其中一部分操作这就是事务的原子性。一致性数据库总是 从一个一致性状态转换到另一个一致性状态。隔离性一个事务所做的修改在最终提交以前对其他事务是不可见得。持久性一旦事务提交则其所做的修改就会永久保存到数据库中。即使系统崩溃修改的数据也不会丢失。持久性是相对的概念不可能做到100%的持久型保证的策略。 一致性 数据完整性在事务执行前后需要满足所有的规则和约束。业务逻辑正确性事务执行结果符合预定的业务逻辑。状态一致性多个事务并发执行事务的一致性要保证并发执行的结果与这些事务按照某种顺序串行执行的结果是一样的。持久性一致性即使再系统发生故障后通过恢复机制数据库也能恢复到一个一致的状态。 隔离级别重要 在SQL标准中定义了四种隔离级别每一种级别都规定了一个事务中所做的修改哪些在事务内和事务间是可见的哪些是不可见的。较低级别的隔离通常可以执行更高的并发系统的开销也更低。 READ UNCOMMITED未提交读事务中的修改即使没有提交对其他事务都是可见的事务可以读取未提交的数据这也被称为脏读。从性能上来说READ UNCOMMITED也不会比其他级别好太多。READ COMMITTED (提交读) 大多数系统的默认隔离级别都是READ COMMITED但MySQL不是READ COMMITTED 满足隔离性的简单定义一个事务开始时只能“看见”已经提交的事务所做的修改这个级别有时候也叫“不可重复读”因为两次执行同样的查询可能会得到不同的结果。REPEATABLE READ (可重复读)该 级别保证了在同一个事务中多次读取同样记录的结果是一致的。但无法解决幻读问题。所谓幻读指的是当某个事务在读取某个范围内的记录时另一个事务在该范围内插入新的记录当之前的事务在此读取行数会增多。InnoDB存储引擎通过多版本并发控制MVCC解决了幻读问题。SERIALIBZABLE (可串行化)最高的隔离级别通过强制事务串行执行避免了前面说的幻读问题。 死锁 死锁指两个或者多个事务在同一个资源上相互占用并请求锁定对方占用的资源从而导致恶性循环的现象。 例如 如果凑巧两个事务都执行了第一条update语句同时也锁定了该行的数据接着两个事务都尝试去执行第二条update语句发现该行已经被对方锁定然后两个事务都等待对方释放锁同时又持有对方需要的锁则陷入死循环。除非有外部因素介入才能解除死锁。 事务日志 事务日志可以帮助提高事务的效率。使用事务日志存储引擎在修改表的数据时只需要修改其内存拷贝再把修改行为记录到硬盘上的事务日志中而不用每次都将修改的数据本身持久到磁盘。事务日志采用的是追加的方式因此写日志的操作是磁盘上一小块区域的顺序IO而不像随机IO需要在磁盘的多个地方移动磁头。所以采用事务日志的方式相对来说要快很多。事务日志持久以后内存中被修改的数据在后台可以慢慢的刷回磁盘。通常称为预写式日志修改数据需要写两次磁盘。 多版本并发控制 MVCC主要用于提高数据库的并发性能并减少读写操作之间的锁争用。 1. 核心概念 数据行的多个版本MVCC通过保存数据的多个版本来实现当一个事务修改数据时InnoDB不会直接修改原数据而是创建一个新的版本并保留旧版本。这样不同事务可以“看到”同一行数据的不同版本从而减少了读写冲突。隐藏列InnoDB为每行数据额外添加了几个隐藏列。Undo LogUndo Log记录了数据的旧版本信息当事务需要回滚或者为某个事务生成一致的读视图时会用到Undo日志中的信息。Read View读视图在可重复读的隔离级别下为每个事务生成一个读视图这个读视图决定了事务能看到哪些数据版本。 2. 可见性规则 事务只能看见在自己开始之前已经提交事务做的修改事务看不见在自己开始之后才提交的事务所做的修改如果一个事务可以看见某个数据行的一个版本那么该事务也能看见这个数据行的所有旧版本。 3.在REPEATABLE READ隔离级别下MVCC工作流程 SELECT InnoDB会根据以下两个条件检查每行记录 a. InnoDB只查找版本早于当前事务版本的数据行也就是行的系统版本号小于或等于事务的系统版本号这样可以确保事务读取的行要么是在事务开始前已经存在的要么是事务自身插入或者修改过的。b.行的删除版本要么未定义要么大于当前事务版本号这样可以确保事务读取到的行在事务开始之前未被删除。 只有符合上述两个条件的记录才能返回作为查询结果。 INSERT InnoDB为新插入的每一行保存当前系统版本号作为行版本号。 DELETE InnoDB为删除的每一行保存当前系统版本号作为行删除标识。 UPDATE InnoDB插入一行新纪录保存当前系统版本号作为行版本号同时保存当前系统版本号到原来的行作为行删除标识。 保存这两个额外系统版本号使大多数读操作都可以不用加锁这样设计使得读数据操作很简单性能很好。并且也能保证只会读取到符合标准的行。MVCC只在REPEATABLE READ 以及READ COMMITED两个隔离级别下工作。
http://www.dnsts.com.cn/news/91010.html

相关文章:

  • 网站规划与建设大作业答案怎么建设个人网站教程
  • 网站推广软件有哪些app开发公司怎么选
  • 网站加载模式建设机械网站公司
  • 个人备案网站可以做商城展示广东旅游网站建设
  • wordpress站内信群发各类网站排行
  • 苏州企业建设网站价格东莞石碣镇
  • 网站建设的pest分析重庆模板建站软件
  • 金华网站建设微信开发建造自己的网站
  • 郑州数码网站建设服务公司常用的网络推广方法有
  • 广东品牌网站制作公司2015网站建设源码
  • 做食品网站需要什么条件做问卷赚钱最好似网站
  • 集团公司网站怎么做品牌购买平台
  • 为什么上传网站模板网站上没有文字和图片做网站语言
  • 网络营销评价的名词解释北京网站建设 seo公司
  • 网站优化师负责干什么杭州好的vi设计公司
  • 自己怎么制作一个网站百度指数官网查询入口
  • 国内优秀网站设计师3 阐述网站建设的步骤过程 9分
  • 让自己的网站收录企业网站建设公司注意哪些问题
  • 网页版微信怎么加好友电商seo引流
  • 南京网站制作百家号湖州设计公司有哪些
  • 兼职做网站访问量和数据网站界面设计基础
  • php购物网站开发摘要杭州做网站推广公司推荐
  • 网站建设需要资质南城网站仿做
  • 营销型企业网站系统模板下载电子商务网站建设策划书 服装 有详细数据库设计
  • 做淘宝需要知道什么网站国外html模板网站
  • 品牌创意网站网站建设中的功能模块描述
  • 西红柿怎么做网站wordpress 数据库字段
  • 新浪云虚拟主机做电影网站wordpress 嵌入 php代码
  • 昆山网站维护模板网站建设报价
  • 做网站费用联系方式wordpress数字减1