分布式数据库等其它一些基本概念(三)
来源:互联网 发布:数据预处理与数据清洗 编辑:程序博客网 时间:2024/06/13 22:49
ShardingRelating
拆分
在集中式数据库中是一个大表,在分布式数据库中则创建多个分片表。
1、水平拆分
万言不如一例。
设表Customer
Id
Name
1
A
2
B
3
C
4
D
5
D
假设有2个虚拟分片,按字段Id进行分片则有
Id
Name
拆分算法
所在分片
1
A
1%2
B
2
B
2%2
A
3
C
3%2
B
4
D
4%2
A
5
D
5%2
B
于是数据以行为单位拆分到不同的分片数据库中去
Shard A 数据库
Id
Name
2
B
4
D
Shard B 数据库
Id
Name
1
A
3
C
5
D
同理,若按字段Name进行分片则有
Id
Name
拆分算法
所在分片
1
B
B.hashCode %2 = 66 %2
A
2
C
C.hashCode %2 = 67 %2
B
3
C
C.hashCode %2 = 67 %2
B
4
D
D.hashCode %2 = 68 %2
A
5
D
D.hashCode %2 = 68 %2
A
综合
类型
描述
例子
Global
每个分片都存储着相同的copy
Table Customer: 5 recs. Shard 1: 5 recs, shard 2: 5 recs.
Random
简单地随机分片
Table Customer: 5 recs. Shard 1: 1 recs, shard 2: 4 recs.
水平拆分
按各种分片算法及拆分字段,把数据按行拆分
算法如:
虚拟ShardId = shardingKeyValue%虚拟分片数(long)
虚拟ShardId = shardingKeyValue.hashCode%虚拟分片数 (string)
垂直拆分
把数据按列拆分
(后补)
0 0
- 分布式数据库等其它一些基本概念(三)
- 分布式数据库等其它一些基本概念(一)
- 分布式数据库等其它一些基本概念(二)
- htable基本概念(分布式数据库)
- 数据库的一些基本概念(二)
- 数据库的一些基本概念
- Oracle数据库一些基本概念
- 数据库的一些基本概念
- 数据库的一些基本概念
- 数据库的一些基本概念
- MongoDB基本概念(三)数据库 Database
- MongoDB基本概念(三)数据库 Database
- 回复一些数据库的基本概念
- Oracle数据库的一些基本概念
- oracle数据库的一些基本概念
- 数据库相关的一些基本概念
- oracle 11g RAC 的一些基本概念(三)
- oracle 11g RAC 的一些基本概念(三)
- Java NIO系列教程(三) Buffer
- [dp]Piggy-Bank 完全背包
- android 指定apk安装位置
- request.getParameter 和 request.getAttribute 的功能作用详解.
- 酷派 手机 stop charging
- 分布式数据库等其它一些基本概念(三)
- MyEclipse环境下添加MySql数据库失败的解决方法
- http.keepAlive
- 修改JEECMS_v5后台路径
- 基督徒可以吃血吗?
- js正则表达式replace
- iOS 证书
- MAXSTORE OPENCART 2.X 自适应主题模板 ABC-0653
- MyEclipse环境下删除项目不干净的问题的解决