it整体架构的复杂性日益增加,各种业务场景层出不穷。单纯的mysql数据库原生功能不足以全面高效支撑应用系统的性能及功能。数据库中间件mycat横空出世。
mycat出于ameoba及进阶版本cobar,并且社区活跃。功能丰富完备。支持读写分离;故障自动切换;负载均衡。各个行业的解决方案成熟度高,应用普及面广泛;对于事务及二进制事务支持也强劲;可配置性强;更为可贵的是,支持多种数据库类型,oracle,mysql,sql server,mongdb不一而足。还有其它的特性及功能,我们不再罗列。
mycat的一些基本重要概念
逻辑库
对于应用系统而言,不管后端到底最终操纵几个物理数据库,呈现于它而言是一个整体的数据库
逻辑表
逻辑库上面的表,参照上述逻辑理解即可
分片节点
1,分片表
是否分片,取决于多种因素;最为主要的因素就是数据量,再者业务场景使用类型也极为重要。
分片采用2种类型:垂直分片和水平分片;前者大库分多个小库;后者大表分多个小表。
鉴于存储父子表关系,如果使用了分片表,必须确保具备相关父子关系的数据位于同一个分片,规避跨分片操作及查询,提升数据库操作效率;mycat是采用表分组技术实现
说到一些字典表,可能数据变更不频繁,但其它业务表又依赖于它。可以通过在多个分片中存储它的副本,避免跨分片操作。
2,非分片表
与分片表相反。
节点主机
分片节点所属的主机
mycat的配置有几个方面
schema.xml
分片分库及详细规则配置
server.xml
mycat服务器自身优化及配置
log4j.xml
mycat日志信息的配置
mycat现在类似于apache开源生态圈,不止有mycat,围绕于此,产生诸多的优秀开源产品,众多相互关联的产品整合起来,形成巨大及强劲的解决方案。对于中国的IT技术推进及深化是极为富为意义的。
领取专属 10元无门槛券
私享最新 技术干货