基于分布式关系型数据库,实现轻松应对百亿级数据分析场景解决方案

发布时间:2020-06-24 17:49:06 作者:wx5d37d5fd4aa62
来源:网络 阅读:421

MyCat是什么?

从定义和分类来看,它是一个开源的分布式数据库系统,是一个实现了MySQL协议的服务器,前端用户可以把它看作是一个数据库代理,用MySQL客户端工具和命令行访问,而其后端可以用MySQL原生协议与多个MySQL服务器通信,也可以用JDBC协议与大多数主流数据库服务器通信,其核心功能是分表分库读写分离,即将一个大表水平分割为N个小表,存储在后端MySQL服务器里或者其他数据库里。也可以指定多个写库多个读库。

MyCat发展到目前的版本,已经不是一个单纯的MySQL代理了,它的后端可以支持MySQL、SQL Server、Oracle、DB2、PostgreSQL等主流数据库,也支持MongoDB这种新型NoSQL方式的存储,未来还会支持更多类型的存储。而在最终用户看来,无论是那种存储方式,在MyCat里,都是一个传统的数据库表,支持标准的SQL语句进行数据的操作,这样一来,对前端业务系统来说,可以大幅降低开发难度,提升开发速度。

MyCat可以干什么?

单纯的读写分离,此时配置最为简单,支持读写分离,主从切换

分表分库,对于超过 1000 万的表进行分片,最大支持 1000 亿的单表分片

多租户应用,每个应用一个库,但应用程序只连接 Mycat,从而不改造程序本身,实现多租户化

报表系统,借助于 Mycat 的分表能力,处理大规模报表的统计

替代 Hbase,分析大数据

作为海量数据实时查询的一种简单有效方案,比如 100 亿条频繁查询的记录需要在 3 秒内查询出来结果

MyCat分布式架构设计:
基于分布式关系型数据库,实现轻松应对百亿级数据分析场景解决方案

基于分布式关系型数据库,实现轻松应对百亿级数据分析场景方案
百亿级数据横向分片存储于数据分析架构

整体思路:

(1)利用mycat的分库分表规则,将百亿级数据横向分摊到不同的节点上;

(2)每个节点上实现一主多备,实现数据备份与读写分离;

(3)所有的写操作首先会在mycat中根据规则计算,路由到指定的节点上写操作;

(4)聚合查询mycat会分摊到各个节点上去计算之后,再基于节点的结果进行汇总处理;

(5)利用NBI大数据可视化分析工具与Mycat无缝连接;

(6)通过NBI大数据可视化分析工具(http://nbi.easydatavis.com:8033)提供的拖拽式分析,可以快速完成各类分析报告和百亿级数据,秒级响应的用户体验。

推荐阅读:
  1. 轻松应对多层JSON数据计算与入库
  2. Python响应对象text属性乱码解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

大数据 可视化 数据分析

上一篇:sql与mysql的区别是什么

下一篇:MySQL事务中的ACID特性是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》