为什么要使用Mycat

  记得十多年前就开始用mysql开发系统了,那时只是单库在使用,哪管什么主从复制和读写分离。曾几何时,互联网行业兴起,阿里云这样的云平台直接将数据库进行组件化封装,并以云服务的方式(即RDS)提供给第三方使用。RDS在提供服务时,把主从复制、读写分离都做了封装,所以在互联网时代,中小型公司在使用mysql基本上只管花钱,不用操心这些技术上的事了。

   但是随着数据存储量的增大以及并发访问量的上升,即使是读写分离也越来越难支撑,在这样的情形下,如何保证业务的正常进行呢? 分库分表这样的技术也就自然应运而生,但事物的表现往往是多样化的,所以解决方案也不可能只是一种单一方案,业界近几年也现了专业的分布式数据库 TDSQL这样的解决方案 , 此外,Hadoop生态圈中的Hbase也可以解决海量数据的存储和实时查询,也是可以考虑的方案之一。

  但由于关系型数据库在业界已经使用了几十年了,在各方面都比较成熟,

  • RDBMS生态完善;
  • RDBMS绝对稳定;
  • RDBMS的事务特性;

    所以基于MySQL分库分表的解决方案目前还是业界的主流方案,专业的分布式数据库暂时还处于尝试和部分替代方案而出现。阿里云也提供DRDS这样的组件服务来支持分库分表的功能,但毕竟是商业产品,价格是个要考虑的因素,所以如果有提供了基于MySQL的读写分离、主从复制、分库分表的功能的开源产品,还是很受业界的欢迎的,Mycat也是在这样的背景下应运而生。

     Mycat是一个彻底开源的面向企业应用开发的大数据库集群,支持事务、ACID,是可以替代MySQL的加强版数据库。它的底层不但可以是MySQL,Mycat后端以JDBC方式支持Oracle、DB2、SQL Server、MongoDB、SequoiaDB 等多种数据库。我们前面提到的读写分离、主从复制、分库分表对Mycat而言也都不是问题,Mycat的官网地址:http://www.mycat.io/

       

posted @ 2020-02-27 11:13  杭州胡欣  阅读(1782)  评论(0编辑  收藏  举报