mycat核心概念
一、逻辑库(schema)
业务人员一般是不需要知道数据库中间件的,他们只需要连接到数据库并使用数据库,一切复杂的细节都被中间件给隐藏了,对于业务人员来说中间件即是一个数据库。这里逻辑库的概念就是一个或者多个数据库集群构成的逻辑库。其实我们可以简单地理解为:mycat这样的中间件就是一个逻辑库。
二、逻辑表(table)
既然集群的数据库能够构造一个逻辑库,那么数据表也一样可以分布在不同的数据库里面,但是对于业务人员来说,逻辑上却是同一张表。
注意:逻辑表可以分片,也可以不分片。也就是说它可以分布在多个数据库里面,也可以只存在于一个数据库里面。
逻辑表分为四种:
1)分片表
2)非分片表
上面两种即是分片和非分片表,那么ER表是什么呢?
3)ER表
ER(entity relationship model)实体关系模型,其实我们可以理解为数据库表之间是存在关系的。但如果表分布在不同的数据库里面,我们的join操作就会出现夸库查询,这将会影响性能。而ER表,将依赖的表进行分组确保了夸库查询不会出现。
4)全局表
例如,我们经常用到的字典表。它会和很多表关联查询,也就会产生很多关联查询。mycat通过将该表进行冗余,也就是每个分片都复制一份以解决关联查询问题,也被称为全局表。
三、分片节点
将数据切分后(水平切分/垂直切分),一个大表被分到不同的数据库里面,每个分片所在的数据库就是分片节点。(这里注意,并不是一个数据库就是一个节点)
四、节点主机
分片节点会存在于一个节点主机中。但是分片节点和节点主机不是一对一关系,一个或者多个分片节点会存在于一个节点主机里面。节点主机和数据库实例也不是一对一关系,一个节点主机可能与一个或者多个数据库实例相关。
mycat核心概念的更多相关文章
- Mycat中的核心概念
Mycat中的核心概念 Mycat中的核心概念 1.数据库中间件 Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有 存储引擎,所以并 ...
- Mycat入门核心概念
Mycat中的核心概念 Mycat中的核心概念 1.数据库中间件 Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有 存储引擎,所以并 ...
- 领域驱动设计(DDD)部分核心概念的个人理解
领域驱动设计(DDD)是一种基于模型驱动的软件设计方式.它以领域为核心,分析领域中的问题,通过建立一个领域模型来有效的解决领域中的核心的复杂问题.Eric Ivans为领域驱动设计提出了大量的最佳实践 ...
- Javascript本质第一篇:核心概念
很多人在使用Javascript之前都至少使用过C++.C#或Java,面向对象的编程思想已经根深蒂固,恰好Javascript在语法上借鉴了Java,虽然方便了Javascript的入门,但要深入理 ...
- [程序设计语言]-[核心概念]-02:名字、作用域和约束(Bindings)
本系列导航 本系列其他文章目录请戳这里. 1.名字.约束时间(Binding Time) 在本篇博文开始前先介绍两个约定:第一个是“对象”,除非在介绍面向对象语言时,本系列中出现的对象均是指任何可以有 ...
- spring技术核心概念纪要
一.背景 springframework 从最初的2.5版本发展至今,期间已经发生了非常多的修正及优化.许多新特性及模块的出现,使得整个框架体系显得越趋庞大,同时也带来了学习及理解上的困难. 本文阐述 ...
- ElasticSearch学习笔记-01 简介、安装、配置与核心概念
一.简介 ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.支持通过HTTP使用JSON进 ...
- Playmaker Input篇教程之引入的核心概念
Playmaker Input篇教程之引入的核心概念 Playmaker Input引入的核心概念 Playmaker引入了4个核心概念:状态机.动作.变量和事件.了解它们是学习操作Playmaker ...
- Maven的几个核心概念
POM (Project Object Model) 一个项目所有的配置都放置在 POM 文件中:定义项目的类型.名字,管理依赖关系,定制插件的行为等等.比如说,你可以配置 compiler 插件让它 ...
随机推荐
- 转载-----Java Longest Palindromic Substring(最长回文字符串)
转载地址:https://www.cnblogs.com/clnchanpin/p/6880322.html 假设一个字符串从左向右写和从右向左写是一样的,这种字符串就叫做palindromic st ...
- django admin的自定制
from django.contrib import admin # Register your models here. from .models import * from django.util ...
- [ActionScript 3.0] 对数组中的元素进行排序Array.sort()的方法
对数组中的元素进行排序. 此方法按 Unicode 值排序. (ASCII 是 Unicode 的一个子集.) 默认情况下,Array.sort()按以下方式进行排序: 1. 排序区分大小写(Z优先于 ...
- P4093 [HEOI2016/TJOI2016]序列
题目链接 题意分析 我们假设每一个数都有一个变动范围\([L_i,R_i]\) 那么我们令\(dp[i]\)表示以\(i\)结尾的最长不下降子序列的长度 那么就是\(dp[i]=max\{dp[j]+ ...
- Alluxio学习
介绍 Alluxio(之前名为Tachyon)是世界上第一个以内存为中心的虚拟的分布式存储系统.它统一了数据访问的方式,为上层计算框架和底层存储系统构建了桥梁.应用只需要连接Alluxio即可访问存储 ...
- Java传参都是传引用变量的副本
最近做练习时碰到一个问题,Java到底是怎样传参的,经过查资料与实验,我发现Java传参都是传引用变量的副本值. 1 Java中的引用变量 1.1 字面值引用变量:即基本数据类型的引用变量 ,如 in ...
- 为什么要选择RabbitMQ ,RabbitMQ简介,各种MQ选型对比
原文:https://www.sojson.com/blog/48.html 前言: MQ 是什么?队列是什么,MQ 我们可以理解为消息队列,队列我们可以理解为管道.以管道的方式做消息传递. 场景: ...
- jieba和文本词频统计
---恢复内容开始--- 一.结巴中文分词涉及到的算法包括: (1) 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图(DAG): (2) 采用了动态规划查找最大 ...
- MonggoDB学习笔记
MongoDB MongoDB介绍:非关系型的文档数据库.MongoDB的数据模型是面向文档的,文档是一种类似于JSON的结构.简单理解MongoDB这个数据库中存的是各种各样的JSON.(BSON) ...
- epoll_wait 返回值学习以及epoll使用学习
https://blog.csdn.net/analogous_love/article/details/88721574