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

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
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配置中心来配置读写分离,可以一主多备实现读写分离   优点:1.数据库主备和动态切换   2.带权重的读写分离   3.单线程读重试   4.集中式数据源信息管理和动态变更   5.剥离的稳定jboss数据源   6.支持mysql和oracle数据库   7.基于jdbc规范,很容易扩展支持实现jdbc规范的数据源   8.无server,client-jar形式存在,应用直连数据库   9.读写次数,并发度流程控制,动态变更   10.可分析的日志打印,日志流控,动态变更   缺点:   1、读节点机制不明确   2、需要依赖diamond   3、已停止更新,有问题修改难度大   Mycat:数据库中间件产品,详细情况分库策略的时候会介绍   优点:   1、支持读写分离、双机热备,宕机自动切换   2、多线程读写   3、可提交bug,社区活跃   缺点:   1、独立的服务配置   2、Sql表不支持`号,即需要规避表名与系统关键字名相同的情况   分库分表解决方案:   1.大数据量的存储需要大量的数据库资源;   2.数据量的不断增长要求数据库存储具有可扩展性;   3.在保证大数据量的情况下,要保证性能、高可用性等质量要求;   4.现有框架中没有彻底解决大数据量的存储问题;   5.Oracle等海量存储方案价格不菲,采用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标准   

文档评论(0)

mmrs369 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档