公司做了自己的分库分表组件,下面就自己的经验来看下分库分表的优点和碰到的问题! 何为分库分表?采取一定的策略将大量的表数据分布在不同的数据库,表中实现数据的均衡存储! 分库分表的背景:随着信息数据的急剧增长,单点数据库会有宕机,或者单库单表性能低下,查询和存储效率低的问题,使用分库分表实现数据的分布存储,性能更好,适合现在数据量多,用户需求高的特点! 分库分表的优点:数据分布在不同的数据库中,单表数据量低,查询速度快!可以在每个节点搭建集群防止数据丢失! 分库分表遇到的问题: 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还在写,到时候分享,需要的朋友,敬请关注。。。 |
|
来自: 昵称11935121 > 《未命名》