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

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提供的拖拽式分析,可以快速完成各类分析报告和百亿级数据,秒级响应的用户体验。

原文地址:https://blog.51cto.com/14465598/2430052

时间: 2024-10-28 16:02:10

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

Google 分布式关系型数据库 F1

F1是Google开发的分布式关系型数据库,主要服务于Google的广告系统.Google的广告系统以前使用MySQL,广告系统的用户经常需要使用复杂的query和join操作,这就需要设计shard规则时格外注意,尽量将相关数据shard到同一台MySQL上.扩容时对数据reshard时也需要尽量保证这一点,广告系统扩容比较艰难.在可用性方面老的广告系统做的也不够,尤其是整个数据中心挂掉的情况,部分服务将不可用或者丢数据.对于广告系统来说,短暂的宕机服务不可用将带来重大的损失.为了解决扩容/高

基于TableStore的亿级订单管理解决方案

摘要: 一.方案背景 订单系统存在于各行各业,如电商订单.银行流水.运营商话费账单等,是一个非常广泛.通用的系统.对于这类系统,在过去十几年发展中已经形成了经典的做法.但是随着互联网的发展,以及各企业对数据的重视,需要存储和持久化的订单量越来越大. 一.方案背景订单系统存在于各行各业,如电商订单.银行流水.运营商话费账单等,是一个非常广泛.通用的系统.对于这类系统,在过去十几年发展中已经形成了经典的做法.但是随着互联网的发展,以及各企业对数据的重视,需要存储和持久化的订单量越来越大.数据的重视程

百亿级日访问量的应用如何做缓存架构设计?

微博日活跃用户 1.6 亿+,每日访问量达百亿级,面对庞大用户群的海量访问,良好的架构且不断改进的缓存体系具有非常重要的支撑作用. 本文由新浪微博技术专家陈波老师,分为如下四个部分跟大家详细讲解那些庞大的数据都是如何呈现的: 微博在运行过程中的数据挑战 Feed 平台系统架构 Cache 架构及演进 总结与展望 微博在运行过程中的数据挑战 Feed 平台系统架构 Feed 平台系统架构总共分为五层: 最上面是端层,比如 Web 端.客户端.大家用的 iOS 或安卓的一些客户端,还有一些开放平台.

日访问量百亿级的应用如何做缓存架构设计

微博日活跃用户1.6亿+,每日访问量达百亿级,面对庞大用户群的海量访问,良好架构且不断改进的缓存体系具有非常重要的支撑作用. 4月21日,中生代技术走进盒子科技的现场技术交流活动上,新浪微博技术专家陈波为大家讲解了微博Cache架构的设计实践过程. 刷微博吗?跟我们一起听听那些庞大的数据是如何呈现的吧! 数据挑战 Feed平台系统架构 总共分为五层,最上层是端层,比如web端,客户端,大家用的ios或安卓的一些客户端,还有一些开放平台,第三方接入的一些接口.下面是平台接入层,不同的池子,主要是为

百亿级数据10万字段属性的秒级检索解决方案以及实现

课程下载地址: https://pan.baidu.com/s/1zr5riwZtdRgnVQRetQnG7A 提取码: 5xg8 平台型创业型公司,会有多个品类,像生活信息服务类网站的有:58同城,赶集网等等,他们的类别非常多,每个垂直领域都会分为很多类别,每 个类别下又分很多子类别,每个类别或者子类别的属性都不一样,像这么庞大的数据,字段属性可以达到10万级别,同时数据量可以达到百亿级别 ,很多异构数据的存储需求.基于这么庞大的数据,我们需要达到秒级查询. 那么我们该怎么设计呢?本课程讲手把

Redis百亿级Key存储方案

1 需求背景 该应用场景为AdMaster DMP缓存存储需求,DMP需要管理非常多的第三方id数据,其中包括各媒体cookie与自身cookie(以下统称admckid)的mapping关系,还包括了admckid的人口标签.移动端id(主要是idfa和imei)的人口标签,以及一些黑名单id.ip等数据. 在hdfs的帮助下离线存储千亿记录并不困难,然而DMP还需要提供毫秒级的实时查询.由于cookie这种id本身具有不稳定性,所以很多的真实用户的浏览行为会导致大量的新cookie生成,只有

(转)日交易额百亿级交易系统的超轻量日志实现

逛园子的时候偶然发现了<日交易额百亿级交易系统的超轻量日志实现>,感觉博主的思路很强,可惜是一个JAVA版本,于是我将它翻译为C#. 开发环境VS2015+.net framework4. 原文地址,http://www.cnblogs.com/cyfonly/p/6139049.html 因为JAVA和C#语言的近似性,很多直接内容直接从原文COPY的,博主勿怪.. 使用方式:(直接Copy原文) /获取单例 FLogger logger = FLogger.getInstance(); /

从无到有构建日交易额百亿级交易系统的日志系统

课程下载地址:https://pan.baidu.com/s/1SZDjQKK6J24eFvgxElS1vA 提取码:6nlt 一套大型交易系统,交易标的价格为流式数据,采用价格触发成交方式,T+0交易制度(像股票,期货,贵金属交易等).系统需要记录大量价格数据.交易信息及订单流水,且系统对性能要求极高(敏感度达毫秒级),因此需要避免日志服务成为系统性能瓶颈.通过对几个通用型日志(如log4j.logback)的性能压测,以及考虑到它们作为通用型日志相对比较臃肿,就决定采用自己研发的日志系统,支

【转】百亿级实时大数据分析项目,为什么不用Hadoop?

百亿数量级的大数据项目,软硬件总体预算只有30万左右,需求是进行复杂分析查询,性能要求多数分析请求达到秒级响应. 遇到这样的项目需求,预算不多的情况,似乎只能考虑基于Hadoop来实施. 理论上Hadoop撑住百亿数量级没问题,但想要秒级响应各种查询分析就不行了.我们先大概分析一下Hadoop的优缺点. Hadoop Hadoop目前几乎是大数据的代名词,很多企业都基于Hadoop搭建自己的大数据业务. 以下是Hadoop的主要优点: 1. Hadoop集群的扩展性是其一大特点,Hadoop可以