1 / 16
文档名称:

db,分库分表项目改造心得.docx

格式:docx   大小:23KB   页数:16页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

db,分库分表项目改造心得.docx

上传人:miao19720107 2019/2/16 文件大小:23 KB

下载得到文件列表

db,分库分表项目改造心得.docx

相关文档

文档介绍

文档介绍:db,分库分表项目改造心得分库分表或单库可行性调查研究区分单库or分库: 1、单表数据量是否超过1000万 2、整体是否对事务性有严格要求 3、执行的sql语句的灵活性单库支持解决方案: 数据量有限,单库支持性好,保持数据的一致性,可以进行join等复杂查询。通用化,技术成熟。缺点:数据读写必须经过sql解析,大量数据、高并发下读写性能不足 mysqlororacle? Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Oracle价格非常高。 Oracle支持大并发,大访问量,是OLTP最好的工具。安装所用的空间差别也是很大的,Mysql安装完后才152M而Oracle有3G左右,且使用的时候Oracle占用特别大的内存空间和其他机器性能。 Oracle也Mysql操作上的一些区别,大多数人对oracle不熟悉 tdd(转载于:写论文网:db,分库分表项目改造心得)l:并非独立的中间件,只能算作中间层,是以Jar包方式提供给应用调用。属于JDBCShard的思想,需要独立的diamond配置中心来配置读写分离,可以一主多备实现读写分离优点: ,很容易扩展支持实现jdbc规范的数据源 ,client-jar形式存在,应用直连数据库 ,并发度流程控制,动态变更 ,日志流控,动态变更缺点: 1、读节点机制不明确 2、需要依赖diamond 3、已停止更新,有问题修改难度大 Mycat:数据库中间件产品,详细情况分库策略的时候会介绍优点: 1、支持读写分离、双机热备,宕机自动切换 2、多线程读写 3、可提交bug,社区活跃缺点: 1、独立的服务配置 2、Sql表不支持`号,即需要规避表名与系统关键字名相同的情况分库分表解决方案: ; ; ,要保证性能、高可用性等质量要求; ; ,采用MySQL进行分库分表节约IT成本。 Cobra:关系型数据的分布式处理系统,它可以在分布式的环境下看上去像传统数据库一样为您提供海量数据服务。优点: 1、分布式 2、Ha 产品约束: 1、不支持跨库情况下的join、分页、排序、子查询操作。 2、SET语句执行会被忽略,事务和字符集设置除外。 3、分库情况下,insert语句必须包含拆分字段列名。 4、分库情况下,update语句不能更新拆分字段的值。 5、不支持SAVEPOINT操作。 6、暂时只支持MySQL数据节点。 7、使用JDBC时,不支持rewriteBatchedStatements=true参数设置(默认为false)。 8、使用JDBC时,不支持useServerPrepStmts=true参数设置(默认为false)。 9、使用JDBC时,BLOB,BINARY,VARBINARY字段不能使用setBlob()或setBinaryStream()方法设置参数。缺点: 1、会假死 2、就是假死以后,Cobra的频繁主从切换问题 3、只实现了一半的NIO 4、后端写入的的速度要大于前端消费的速度,在跨分片查询的情况下,这个现象更为明显, 于是写线程就在这里会被阻塞。 5、不支持读写分离 6、开发已停止更新 7、虽然Cobar也可以支持OrderBy、GroupBy、Limit语法,但是结果没有进行聚合,只是简单返回给前端,聚合功能还是需要业务系统自己完成 8、不支持全局主键 Mycat:,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的的Server,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。优点: 1、支持SQL92标准 2、支持MySQL集群,可以作为Proxy使用 3、支持JDBC连接Oracle、DB2、SQLServer,将其模拟为MySQLServer使用 4、支持GaleraforMySQL集群,PerconaCluster或者MariaDBcluster 5、提供高可用性数据分片集群,自动故障切换 6、支持读写分