Mycat&dble

项目中在dble源码的基础上进行扩展开发,于是对mycat和dble的功能及源码进行了一些了解;

概念

  • 定义:

    开源分布式数据库中间件

  • 作用:

    web应用连接大容量数据库时,为提升性能,对数据做分库分层操作,并整合结果到应用中;

  • 原理:

    Mycat的原理中最重要的一个动词是“拦截”,它拦截了用户发送过来的 SQL 语句,首先对SQL语句做了一些特定的分析:如分片分析、路由分析、读写分离分析、缓存分析等,然后将此SQL发往后端的真实数据库,并将返回的结果做适当的处理,最终再返回给用户。

  • 常用名词

    数据库中间件:mycat不是数据库系统,没有存储引擎,是应用与数据库之间的中间件;
    逻辑库:数据库中间件可以被看做是一个或多个数据库集群构成的逻辑库;
    ER表:关系型数据库是基于实体关系模型(Entity-Relationship Model)之上,通过其描述了真实世界中事物与关系;
    分片节点(dataNode):数据切分后,一个大表被分到不同的分片数据库上面,每个表分片所在的数据库就是分片节点(dataNode)。
    节点主机(dataHost):数据切分后,每个分片节点(dataNode)不一定都会独占一台机器,同一机器上面可以有多个分片数据库,这样一个或多个分片节点(dataNode)所在的机器就是节点主机(dataHost),为了规避单节点主机并发数限制,尽量将读写压力高的分片节点(dataNode)均衡的放在不同的节点主机(dataHost)。
    全局序列号(sequence):数据切分后,原有的关系数据库中的主键约束在分布式条件下将无法使用,因此需要引入外部机制保证数据唯一性标识,这种保证全局性的数据唯一标识的机制就是全局序列号(sequence)。

使用:

。。。

你可能感兴趣的:(大数据架构)