分享

Java开发分库分表需要解决的问题及mycat是怎样实现分库分表的?

 昵称11935121 2018-05-03

公司做了自己的分库分表组件,下面就自己的经验来看下分库分表的优点和碰到的问题!

何为分库分表?采取一定的策略将大量的表数据分布在不同的数据库,表中实现数据的均衡存储!

分库分表的背景:随着信息数据的急剧增长,单点数据库会有宕机,或者单库单表性能低下,查询和存储效率低的问题,使用分库分表实现数据的分布存储,性能更好,适合现在数据量多,用户需求高的特点!

分库分表的优点:数据分布在不同的数据库中,单表数据量低,查询速度快!可以在每个节点搭建集群防止数据丢失!

分库分表遇到的问题:

1,多库多表需要不重复的ID生成策略,但是数据重复!

解决方案:UUID,全局序列号等等!

2,如果是按照hash等方式实现的分库分表,可能难以扩展

解决方案:1,使用时间段或者ID等进行划分,可持续扩展(会带来别的问题),2,数据重新迁移!

3,连接查询,统计等出现困难:

解决方案:1,按照某个指定的分库分表字段(ID)(分布在同一个库中)进行连接查询!2,将主要字段进行冗余,方便统计和连接查询!

分库分表的组件有很多,mycat是最流行的一个!

怎么使用mycat进行分库分表?

1,下载安装mycat,配置环境变量!

2,配置文件(启动内存等),使用命令行启动和停止!

3,创建多库多表!

4,选择分库分表策略(水平和垂直),算法等!

5,配置server.xml,schema.xml,rule.xml用于配置映射,规则等!

6,连接测试!

具体的mycat应用不是几句话可以说的清的,最好是自己搭建环境,自己写Demo测试,方能掌握!

我的Demo还在写,到时候分享,需要的朋友,敬请关注。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多