前言 一边有一个经常引诱我让我"娱乐至死"的视频,还有一个不停"鞭策"我让我快点学习的大BOSS.正是有这两种极端的爱才让我常常在自信中明白自己努力的方向.嗯,"人间不值得"! SCHEMA.XML介绍 上一篇写了:数据库中间件DBLE学习(一) 基本介绍和快速搭建,主要介绍快速安装.在安装的过程中,我们配置了schema.xml文件.schema.xml是一个比较重要的文件.该文件提供了逻辑库,逻辑表,分片规则,数据分片,物理数据库等配置.它主…
淘宝JAVA中间件Diamond详解(二)---原理介绍 大家好,通过第一篇的快速使用,大家已经对diamond有了一个基本的了解.本次为大家带来的是diamond核心原理的介绍,主要包括server集群的数据同步.client获取server地址.client从server获取数据.client运行时感知server的数据变化,这四部分. 一.server集群数据同步 diamond-server将数据存储在mysql和本地文件中,mysql是一个中心,diamond认为存储在mysql中的数…
一般对于业务记录类随时间会不断增加的数据,当数据量增加到一定量(一般认为整型值为主的表达到千万级,字符串为主的表达到五百万)的时候,性能将遇到瓶颈,同时调整表结构也会变得非常困难.为了避免生产遇到这样的问题,在做系统设计时需要预估可能产生的数据量:预估记录主体个数*预估记录主体产生的记录数(e.g.用户订单表预估数据量=预估用户数*单用户产生订单数),预估达到一定量时,就不得不考虑分库分表了,目前国内比较成熟的开源数据库中间件有sharding-jdbc.mycat:而drds是阿里云最近推出的…
Mycat下载地址:http://mycat.io/ Mycat安装:解压缩即可.   Mycat作为一个中间件,实现mysql协议,是可以不依赖数据库单独运行的. 对前端应用连接来说就是一个数据库,也就有数据库的配置,mycat的数据库配置是在schema.xml中配置,配置好后映射到server.xml里面的用户就可以了.   如下一个简单的配置就可以单独启动mycat了.   conf/schema.xml <?xml version="1.0" encoding=&quo…
dble基本架构简介 dble是上海爱可生信息技术股份有限公司基于mysql的高可用扩展性的分布式中间件.江湖人送外号MyCat Plus.开源地址 我们首先来看架构图,外部应用通过NIO/AIO进行连接操作.这里首先我们得介绍一下NIO/AIO是什么概念. BIO 即传统的Blocking I/O,是JDK1.4之前的唯一选择.同步阻塞I/O模式,并发处理能力低. NIO 也叫Non-Blocking I/O,在JDK1.4版本之后发布的新功能,同步非阻塞模式. AIO 也叫Asynchron…
转:http://blog.csdn.net/anhuidelinger/article/details/70314744 大家好,通过第一篇的快速使用,大家已经对diamond有了一个基本的了解.本次为大家带来的是diamond核心原理的介绍,主要包括server集群的数据同步.client获取server地址.client从server获取数据.client运行时感知server的数据变化,这四部分. 一.server集群数据同步 diamond-server将数据存储在mysql和本地文件…
Mycat是一个分库分表的基于java开发的数据库中间件,使用过程中需要有一个监控系统,mycat-web应运而生.mycat-web是一个使用SpringMVC + Mybatis的监控平台,使用常用的监控系统协议SNMP-简单网络管理协议(Simple Network Management Protocol),和RRD来进行监控界面的展示.相信用过catci的IT运维监控人员对于RRD再熟悉不过. RRDtool是指Round Robin Database 工具(环状数据库).Round r…
为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代.如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷. MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到"云"端,解决数据存储和业务规模迅速增长情况下的数据瓶颈问题.2014年MyCat首次在上海的<中华架构师>大会上对外宣讲引发围观,更多的人参与进来,随后越来越多的项目采用了MyCat. MyCat截至到2015年4月,保守估计已经有超过60…
在学习数据库中间件前,我们先抛出三个问题 1.数据库数据量不大,但并发读写操作很大,应该怎么办? 此时我们首先考虑使用缓存中间件来减轻读压力,如果不能满足则考虑数据库读写分离,此时就会引入新的问题,这会对我们的应用代码dao产生影响,如何隔离呢 2.应用数据模块很多,总的数据量很大,并发读写超过了单个数据库服务器的能力? 这时候我们可以按业务将数据库拆分为多个数据库,此时就面临如果管理多数据源的问题以及跨库联表查询等问题 3.单表数据量很大,超过了单表的存储上线,例如mysql单表数据量超过10…
MyCat是当下很火的开源分布式数据库中间件,特意花费了一些精力研究其实现方式与内部机制,在此针对某些较为重要的源码进行粗浅的分析,希望与感兴趣的朋友交流探讨. 本源码分析系列主要针对代码实现,配置.操作和相关概念解释不作为重点. MyCat源码分析系列之——配置信息与启动流程 MyCat源码分析系列之——前后端验证 MyCat源码分析系列之——BufferPool与缓存机制 MyCat源码分析系列之——SQL下发 MyCat源码分析系列之——结果合并 备注: 本源码分析基于目前稳定版本MyCa…