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

一个网站需要怎么做北京网站建设小程序开发

一个网站需要怎么做,北京网站建设小程序开发,郑州网站建设网站开发,郑州郑东新区网站建设目录 1. DML语句读流程概要 2. DML语句写流程概要 3. DDL 流程概要 4. SQL的Parse和Compile 5. 读取的执行 6. 写入的执行 7. DDL的执行 8. 小结 1. DML语句读流程概要 TiDB Server接收sql并处理#xff0c;TiKV负责持久化数据#xff0c;PD提供TSO和Region的数据字典…目录 1. DML语句读流程概要 2. DML语句写流程概要 3. DDL 流程概要 4. SQL的Parse和Compile 5. 读取的执行 6. 写入的执行 7. DDL的执行 8. 小结 1. DML语句读流程概要 TiDB Server接收sql并处理TiKV负责持久化数据PD提供TSO和Region的数据字典信息 Protocol Layer接收sqlPD Client到PD节点获取STOParse词法解析、语法解析将sql解析为AST语法树Compile区分点查和非点查生成执行计划Execute拿着执行计划问PD在哪个TiKV Region读取想要的数据读取数据后交由Execute返回给用户 2. DML语句写流程概要 Protocol Layer接收sqlPD Client到PD节点获取STOParse词法解析、语法解析将sql解析为AST语法树Compile区分点查和非点查生成执行计划Execute拿着执行计划问PD在哪个TiKV Region读取想要的数据读出来的数据放在memBuffer中进行修改当用户发起commit的时候进入两阶段提交 第一阶段prewrite将内存中修改的信息和锁信息写入TiKV第二阶段commit写提交信息将锁清理掉获取结束TSO二阶段提交完成后返回给用户提交成功数据不会丢了 3. DDL 流程概要 修改表定义、加索引等等都是DDL 用户发出DDL语句TIDB Server中的start job接收DDL语句将DDL放入TiKV中的job queue中(添加索引是放在 add index queue中)TIDB Server谁是owner角色谁就执行DDLowner中的worker去job queue(先进先出)中取DDL去执行执行完后把该job放入history queue中 4. SQL的Parse和Compile Protocol Layer接收sqlPD Client去PD异步获取TSOParse词法分析LEX语法分析YACC将sql转化成AST语法树compile preprocess检测sql合法性名称是否正确一些绑定信息等判断是否是点查如果是点查(PointGet)的话直接就执行节约了优化的工作如果是非点查的话进入优化流程 ①逻辑优化关系代数、等价交换等一些规则将sql语句进行一些逻辑的变换比如把外连接转化为内连接等等②物理优化基于逻辑优化的结果结合相关的统计信息(行数、列的选择度、直方图等等)选择最优的算子如何去TiKV中好的效率最高的取得数据编译完成后生成物理执行计划拿着物理执行计划去TiKV中取数据 5. 读取的执行 当Executor收到执行计划后Executor做两件事 ①从information schema缓存中是最新的中获得元数据表名、列名等②要修改的数据对应Key在所在的Region以及Region所在的TiKV第一次会从PD中获取Region的位置然后缓存在TiKV Client中的region Cache中如果region Cache的信息过期了(back off)访问的时候会再次从PD中读取最新的信息到region Cache中 经过了以上过程获得了表的元数据以及Key所在的Region和TiKV Executor读取数据 如果是点查KV模块就通过TiKV Client直接读取数据如果是非点查复杂sql语句DistSQl模块会将复杂的sql转换成多条对单表的查询语句然后通过TiKV Client去TiKV取数据 TiKV接收到请求后首先会构建一个快照snapshot 点查和非点查都会进入UnifyRead Pool线程池按照优先级执行查询到RocksDB kv去读取数据 一部分过滤和聚合在TiKV中做叫coptask还有一部分在TiDB中(比如三张表连接三张表散落在3个TiKV中先把数据读到TiDB内存中再做表连接)叫root task 6. 写入的执行 前面的读取流程是一样的从读出数据开始把需要修改的数据读到memBuffer中用户commit后进入两阶段提交 第一阶段prewriteTransaction从memBuffer中一行一行读取数据修改数据通过KV和TiKV Client写到TiKV中并加锁 写请求发送给Scheduler模块(协调事务并发写入的冲突并将收到的修改操作向下写入)同时写入同一个Key的时候谁持有Latch谁就可以写数据其他的需等待Latch然后到RaftStore将写请求转换为raft log此时会在本地RocksDB raft持久化raft log并把raft log发送给其他节点然后Apply模块把读取rocksdb raft log应用到rocksdb kv中持久化存储然后反馈写入成功。 第二阶段commit获取结束TSO写提交信息清理锁 7. DDL的执行 Protocol Layer接收DDL经过Parse和Compile到达start jobstart job会检查自己所在的TiDB Server是不是owner如果是owner则直接给workers执行如果不是就会把DDL做成一个job放到TiKV的job queue中持久化添加索引放在add index queue中Schema load将最新的表的元信息载入到TiDB Serverowner中的worker会定期去查看job queue当job queue中有job的时候workers就根据元信息执行DDLJob queue 和 add index queue 中的语句可以并行执行执行完毕后把job放在history queue中 owner节点是轮询的由PD节点控制 8. 小结 DML 语句读写流程DDL语句的执行流程 来自TiDB官方资料
http://www.dnsts.com.cn/news/280220.html

相关文章:

  • jsp网站建设美食优秀甜品网站
  • 江西做网站哪家好wordpress分表存储
  • 用户体验做的好的网站大连网站推广工具
  • 一级a做爰片不卡的网站行业网站建设详解
  • 岐山县住房和城市建设局网站坪山网站建设渠道
  • 黔西县住房和城乡建设局网站新手建网站教程
  • 企业网站带数据库手机网站 搜索优化 百度
  • wordpress 添加数据医疗网站怎么做优化
  • 专门做护肤品网站ssh网站怎么做
  • 网络营销的方法seo服务公司深圳
  • 建筑模型网站有哪些小男生和大人做的网站
  • 广东深广东深圳网站建设服务山西建设厅网站
  • 商务网站建设的应用it外包中心
  • 提供网站建设收益分录建设银行公积金预约网站
  • 长沙公司网站设计报价整合网络营销
  • 流媒体网站建设规划腾讯云如何注册域名
  • 想在网上做设计接单有没有网站万户做的网站安全吗
  • 网站的排版问题广州公司注册名称核名查询系统网页版
  • 福建省城乡住房建设厅网站wordpress 双模式
  • 百度权重查询入口福州seo公司网站
  • sns网站建设哪家公司好昆明企业网站建设一条龙
  • wordpress文字头像网站营销优化方案
  • wordpress怎么加快网站打开速度江西省建设厅官方网站
  • 西安商城网站建设vi设计是设计什么东西
  • 我做的网站服务器别人没法左键点击下载呢济南做网站建网站公司
  • 建设一个网站的好处柳州旅游网站建设
  • 怎么在百度做原创视频网站网站推广建站
  • 网站建设制作设计seo优化珠海在哪里找工厂采购信息
  • 域名注册网站搭建wordpress文件储存
  • 腾讯网站建设推广海兴做网站价格