MyCat数据库的基础配置及使用
writeHost和readHost是读写的配置,一个dataHost内可以配置多个读和写。但如果writeHost指定的后端数据库宕机,那么这个writeHost绑定的所有readHost也将不可用;另一方面,MyCat会自动检测到writeHost宕机,并切换到备用的writeHost上。 七、MyCat分片在MyCat中将表分为两种大的概念:数据量小且不需要做数据切分的表,称为非分片表;数据量大到单库性能、容量不足以支撑,数据需要通过水平切分均匀分布到不同的数据库中的表,称为分片表。而中间件最终需要处理的事情是对数据切分、聚合。 7.1 ER关系分片表ER模型是实体关系模型,广泛采用概念模型设计方法,基本元素是实体、关系和属性。MyCat将它引入数据切分规则中,使得有互相依赖的表能够按照某一规则切分到相同的节点上,避免跨库Join关联查询。具体详情配置内容在这里不做描述请参考官方文档。 八、功能与优势8.1 常用命令
8.2 局限性delete操作不支持没有主键的表。没有主键的表在不同节点的顺序不同,如果执行 select ...limit...,则将出现不同的结果集。 不支持XA事务,在提交上可能回滚。 由于集群是乐观的并发控件,事务commit可能在该阶段中止,所以如果有两个事务向集群中的不同节点的同一行写入并提交,则失败的节点将中止。对于集群级别的中止,集群返回死锁错误。 整个集群的写入吞吐量由最弱的节点限制,如果有一个节点变得缓慢,那么整个集群将变得缓慢。 集群内部按照id自增长机制写入数据,比如集群中有三台可能是3,6,9这样的递增。 8.3 与Sharding-JDBC对比Sharding-JDBCMyCat是一个中间件的第三方应用,sharding-jdbc是一个jar包。 因为MyCat是单独部署,所以使用MyCat就像是访问数据库一样,而sharding-jdbc的逻辑都是需要在工程里写的。 如果只是单独应用可以使用轻量级的Sharding-JDBC,如果多个服务都需要操作数据库则使用MyCat更合适。因为用Sharding-JDBC需要在每一个工程里边都配置上相应的分片等逻辑,而MyCat只需要配置一份单独部署。 【编辑推荐】
点赞 0 (编辑:广西网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |