免费预览已结束,剩余21页可下载查看
付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MyShard介绍,欢聚时代:喻先兵,1,MyShard是什么,MyShard是一个数据库中间件位于应用程序和MySQL之间截取用户SQL请求、SQLRewrite、转发到MySQLMyShard是一种高可用数据库实现在主主复制功能跨IDC部署,高可用系统,数据层,服务层,代理层,APP,高可用系统:透明的应用故障切换、消除单点故障应用程序故障发生时,可以自动透明地切换到其他服务器上应用程序和查询不会中断,用户感觉不到故障的发生代理层服务层高可用代理层智能路由服务层多点连接读写分离数据层集群容错技术磁盘备份技术多机房容灾技术,APP,为什么要开发MyShard,4,主数据库IDC1,从数据库IDC2,从数据库IDC3,数据服务,读写分离,主数据库IDC1,主数据库IDC2,主数据库IDC3,数据服务,写代理,高可用,可伸缩,数据服务,MyshardIDC1,Myshard,Myshard,MyshardIDC3,MyshardIDC2,MyshardIDC1,开源的NoSQL,5,mongoDB,HBase,为什么不采用这些NoSQL?跨IDC的高可用全局第二索引,MyShard部署模型,高可用性、分区容错性、最终一致性Multi-Master【主主服务】模型专业灵活高效的版本冲突检测解决机制可伸缩性灵活的分布式策略和路由能力海量存储能力高并发服务能力其他特性MySQL协议的服务能力和半关系型操作模型高效可靠数据同步能力,MyShardIDC1,服务代理,客户端,同步服务,MySQL分区,MyShardIDC3,服务代理,客户端,同步服务,MySQL分区,MyShardIDC2,服务代理,客户端,同步服务,MySQL分区,binlog同步原理,Myshard(g1),MySQL,MySQL,中继日志,Binlog,Binlog,Myshard(g2),MySQL,MySQL,中继日志,Binlog,Binlog,CAP原理,Consistency,Availability,ToleerancetonetworkPartitions,C:Consistency一致性A:Availability可用性P:ToleranceofnetworkPartition分区容错性,传统关系型数据库:CA非关系型数据库:AP,BASE模型,BasicallyAvailble基本可用Soft-state软状态/柔性事务EventualConsistency最终一致性,QuorumNRW,N:复制的节点数量R:成功读操作的最小节点数W:成功写操作的最小节点数W+RN,可以保证强一致性典型的场景:强一致性:W=N,R=1高可用性:W=1,HBase:W=N,R=1MyShard:W=1,R=1,最终一致性模型,机房A,机房B,机房C,最近版本值,最近版本值,最近版本值,(k:0),(k:1),(k:0),(k:2),(k:0),(k:3),w(k:2),w(k:3),(k:3),w(k:1),w(k:3),(k:3),w(k:1),w(k:2),(k:3),实现简单,优化资源,高效适用,w(k:1),w(k:2),w(k:3),第二索引,MySQL,MySQL,MySQL,MyShard,用户表uid分区,按用户名查询怎么办?,MySQL,MySQL,MySQL,数据,第二索引,用户索引按用户名分区,MyShard,Select*fromuserwhereuid=1andnamelike=%;Select*fromuserwherename=henry;,索引类型,全局第二索引,一致性第二索引,建表存储索引数据,存储所有字段,存储所有数据,createindexidx_order_uidonorderpartitionkeyuidsharding_rulehash_int_100;,CREATEQUICKINDEXidx_order_qONorderPARTITIONKEYuidSHARDING_RULEhash_int_100WITHtype=“10;selectcount(*)fromorderwhereuid=1andtype=10;,建表存储索引数据,存储主键、索引、版本字段,可存储部分数据,以空间换时间,以效率换一致性,本地索引,在原表上建索引,mysql的索引格式,以空间换时间,ALTERTABLEorderaddINDEXidx_order_local(prod_id,order_time);,sharding,MySQL,MySQL,MySQL,MyShard,数据,hash分区根据分区键查询,支持in语法范围分区根据范围查询,支持跨分片的范围查询,结构化数据模型和半关系操作模型,用户表,考分表,KV,HASETtable_nameSETV1=:v1,V2=:v2WHEREK1=:k1andK2=:k2HADELETEtable_nameWHEREK1=:k1andK2=:k2,读操作,Select*fromawherepartition_key=1and(其他条件);Selectf1,f2,f3fromawherepartition_key=1and(其他条件);Selectt1.f2,count(t1.f3),sum(t2.f1)fromat1,bt2wheret1.partition_key=t2.partition_keyandt1.partition_key=1and(其他条件)复杂条件可选,目前支持的其他条件有:i)关系型比较a=1,a1ii)between语法:abetweenv1andv2iii)like语法:alikeadfadfaiv)in语法:ain(v1,v2,v3)v)函数:mysql的函数基本上都能支持Selectt1.f2,count(t1.f3),sum(t2.f1)fromat1,bt2wheret1.partition_key=t2.partition_keyandt1.partition_key=1and(其他条件),DML,INSERTINTOT(f1,f2,f3)values(v1,v2,v3)UPDATETsetf2=v2wheref1=v1andf3v3;DELETEFROMTwheref1=v1andf3123;,对于数据进行批量更新和版本控制,对数据进行批量删除功能,批量插入主数据和第二索引,用于数据维护,快速的批量查询功能,批量SET,批量删除,批量插入,批量查询,批量处理功能,批量数据处理:1、通过扩展MySQL语句实现,不增加程序复杂性;2、把访问接口扩展为key-value访问,避免SQL解析;3、提供大规模数据的访问和存储能力;,统计查询功能,17,MySQL,MySQL导出文件格式(CSV格式)“1”,“abc”,“cde”rn”“2”,“cdf”,”ddd“,MySQL,MySQL,MetaData,Myshard,HiveMyshardHandler,Plugin,MySQLSerDe,Myshard订阅器,Myshard主库,Myshard生态,Myshard(g3),Myshard(g2),Myshard(g1),Myshard从库(g0),Myshard发布系统,Rabbitmq订阅器,内部队列订阅器,文件订阅器,可扩展订阅框架,MySQL订阅器,MyShard的安装,1、准备myshard_deploy.xml,business_namedefault_admin_port,default_sync_port,default_shard_port,redipdb_collate,db_charsetidcinformation,2、执行安装pythondeploy_myshard.py,MyShard维护,DDL创建/删除数据库创建/删除表创建/删除索引添加字段,其他管理SQL语句添加/删除红名单添加/删除服务器添加/删除分区规则,运维状态,1.节点故障,2.增删节点,工作状态,系统进入运维状态后,所有的请求都将会进行查询转移到其他的Myshard上执行。,系统状态模型,3.创建删除表,4.创建删除索引,故障转移,自动选取下一个GroupNo可以配置制定故障转移的GroupNo,MyShardIDC1,服务代理,客户端,同步服务,MySQL分区,MyShardIDC2,服务代理,客户端,同步服务,MySQL分区,MyShard之间的故障转移,数据导入/导出工具,23,Oracle,MySQL,标准格式文本文件,批量导入工具,MyShard,MySQL导出文件格式(CSV格式)“1”,“a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单片机原理及应用(第2版)张兰红课后习题答案解析
- 2026年山东省烟台市高考语文二模试卷
- 深度解析(2026)《GBT 35719-2017船舶中压直流电力系统通 用要求》
- 深度解析(2026)《GBT 35621-2017重大毒气泄漏事故公众避难室通 用技术要求》
- 深度解析(2026)《GBT 35651-2017突发事件应急标绘图层规范》
- 深度解析(2026)《GBT 35501-2017工业用甲基三甲氧基硅烷》
- 深度解析(2026)《GBT 35456-2017文体用品及零部件 对挥发性有机化合物(VOC)的测试方法》
- 2026新人教版二年级下册数学第四单元测试卷(二)
- 足球教练青少年训练题目及详解
- 《CBT 4528-2024船舶行业企业应急管理要求》(2026年)合规红线与避坑实操手册
- 嘉兴市海盐县百步镇社区工作者考试真题2022
- 优 2023年高考高中语文作文预测押题范文 青年成长 价值理念 指导与点评
- xxxx医院病历书写质控考核评分标准(在架病案标准)
- GB/T 13927-2022工业阀门压力试验
- 《中小学幼儿园应急疏散演练技术规程》
- GB/T 3469-1983文献类型与文献载体代码
- 做客待客礼仪课件
- 土建基本项检查评分表
- 机械设计基础课件:第10章 联接
- 度假型酒店服务质量提升策略
- 制药厂生产废水处理设计方案
评论
0/150
提交评论