• 大老耗时90天完成,带你从实践出发,深入学习Mycat中间件,拥抱Mycat


    前言

    MyCat简介

    如今随着互联网的发展,数据的量级也是成指数式的增长,从GB到TB到PB。对数据的各种操作也是愈加的困难,传统的关系性数据库已经无法满足快速查询与插入数据的需求,这个时候NoSQL的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,来获取性能上的提升。但是,在有些场合NoSQL一些折衷是无法满足使用场景的,就比如有些使用场景是绝对要有事务与安全指标的。这个时候NoSQL肯定是无法满足的,所以还是需要使用关系性数据库。
    如何使用关系型数据库解决海量存储的问题呢?此时就需要做数据库集群,为了提高查询性能将一个数据库的数据分散到不同的数据库中存储,为应对此问题就出现了——MyCat 。

    MyCAT的目标是:低成本的将现有的单机数据库和应用平滑迁移到"云"端,解决海量数据存储和业务规模迅速增长情况下的数据存储和访问的瓶颈问题 。

    对于DBA来说,可以这么理解Mycat:
    Mycat就是MySQL Server,而Mycat后面连接的MySQL Server,就好象是MySQL的存储引擎,如InnoDB,MyISAM等。因此,Mycat本身并不存储数据,数据是在后端的MySQL上存储的,因此数据可靠性以及事务等都是MySQL保证的,简单的说,Mycat就是MySQL最佳伴侣,它在一定程度上让MySQL拥有了能跟Oracle PK的能力。

    对于软件工程师来说,可以这么理解Mycat:
    Mycat就是一个近似等于MySQL的数据库服务器,你可以用连接MySQL的方式去连接Mycat(除了端口不同,默认的Mycat端口是8066而非MySQL的3306,因此需要在连接字符串上增加端口信息)。大多数情况下,可以用你熟悉的对象映射框架使用Mycat,但建议对于分片表,尽量使用基础的SQL语句,因为这样能达到最佳性能,特别是几千万甚至几百亿条记录的情况下。

    对于架构师来说,可以这么理解Mycat:
    Mycat是一个强大的数据库中间件,不仅仅可以用作读写分离、以及分表分库、容灾备份,而且可以用于多租户应用开发、云平台基础设施、让你的架构具备很强的适应性和灵活性,借助于即将发布的Mycat智能优化模块,系统的数据访问瓶颈和热点一目了然,根据这些统计分析数据,你可以自动或手工调整后端存储,将不同的表映射到不同存储引擎上,而整个应用的代码一行也不用改变。

    另外
    当前是个大数据的时代,但究竟怎样规模的数据适合数据库系统呢?对此,国外有一个数据库领域的权威人士说了一个结论:千亿以下的数据规模仍然是数据库领域的专长,而Hadoop等这种系统,更适合的是千亿以上的规模。所以,Mycat适合1000亿条以下的单表规模,如果你的数据超过了这个规模,请投靠Mycat Plus吧!

    在这里笔者为大家带来一篇由企业实践出发,深入学习Mycat中间件的分布式数据库架构实战,希望能帮到大家更好的拥抱Mycat~~~

    主要内容

    本篇总计8章,涵盖了Mycat入门、进阶、高级技术实战、企业运维、架构剖析、核心技术分析、多数据库支持原理与实现等内容,内容详尽、图文并茂,几乎囊括了Mycat所涉及的方方面面,无论是对于软件工程师、测试工程师、运维工程师、软件架构师、技术经理,还是对于资深IT人士来说,本篇都极具参考价值。

    第1章:数据库中间件与分布式数据库的实现

    本章介绍了分布式系统和分布式数据库系统的原理,介绍Mycat的起源和发展状况,并对各种数据库中间件做了简要介绍和对比。

    第2章:Mycat入门

    本章讲解了Mycat的入门知识,介绍了Mycat的安装环境、核心概念和分库分表的原理,以及Mycat源码开发调试的过程。

    第3章:Mycat进阶

    本章稍微深入一点,讲解了Mycat的进阶知识,主要介绍Mycat的各种配置和分片算法。

    第4章:Mycat高级技术实战

    本章由实战出发,讲解了Mycat和MySQL实战案例,由拥有丰富的Mycat线上实战经验的专家和DBA共同编写而成,有很高的参考价值。

    第5章:Mycat企业运维

    本章简要介绍了用于Mycat性能监控的工具——Mycat-web,详细讲解了Mycat和MySQL的优化技术,是DBA的亲身总结和经验之谈。

    第6章:Mycat架构剖析

    第6章重点阐述了Mycat的架构,包括网络、线程、连接池、内存管理及缓存实现等,是了解Mycat框架的基础。

    第7章:Mycat核心技术分析

    本章介绍了Mycat的核心技术,包括分布式事务的实现、跨库Join的三种实现方式等,介绍了多节点数据汇聚和排序的原理,并详细阐述了在Mycat 1.6版本中实现的一致性分布式事务的功能。

    第8章:Mycat多数据库支持原理与实现

    本章介绍了MySQL和PostgreSQL的通信协议及Mycat对这些通信协议的实现,然后介绍了Mycat对JDBC及多种数据库的支持,例如Oracle、SQL Server、MongoDB 等。

    随着技术的进步,现在的分布式数据库产品越来越多,呈百花齐放的态势,但Mycat无疑是这些中间件中的佼佼者。

    支持百亿级别的数据分片和并行计算,支持高可用和MySQL的读写分离,并随着版本的更新进一步 支持Oracle、DB2、MongoDB等后端数据库,随着周边产品的进一步成熟,在越来越多的分布式或者非分布式(仅用它的读写分离或者高可用)生产环境中得到部署,受到越来越多的企业的关注。

  • 相关阅读:
    四、Shiro认证
    详解:程序部署在服务器上,localhost可以访问Tomcat,但是外网ip无法访问
    2023年10月16日-10月22日,(光追+ue+osg继续按部就班进行即可。)
    Docker容器技术
    基金的募集,交易与登记
    小型数据库系统开发作业
    CF1152F Neko Rules the Catniverse(状压 DP)
    自适应模糊神经网络与bp神经网络的区别
    利用msg_msg实现任意地址读写
    kafka 调优
  • 原文地址:https://blog.csdn.net/m0_57042151/article/details/127599079