数据分片以及全局id的生成
来源:互联网 发布:nginx php error log 编辑:程序博客网 时间:2024/06/07 01:23
一. 数据分片
在分布式存储系统中,数据需要分散存储在多台设备上,数据分片(Sharding)就是用来确定数据在多台存储设备上分布的技术。数据分片要达到三个目的:
- 分布均匀,即每台设备上的数据量要尽可能相近;
- 负载均衡,即每台设备上的请求量要尽可能相近;
- 扩缩容时产生的数据迁移尽可能少。
但是数据分片后,各个数据库如何维护记录的唯一性id呢?
二. 全局唯一性id的生成
1.mogodb的唯一性id生成算法
|0|1|2|3|4|5|6 |7|8|9|10|11||时间戳 |机器ID|PID|计数器 |1. 时间戳:4个字节,标准纪元开始的以秒为单位的时间戳;2. 机器ID:3个字节,一般是主机名的散列值,保证机器的唯一性;3. PID:2个字节,进程id,保证了同一台机器上多个mongodb服务的唯一性;4. 计数器:3个字节,一个自动增加的计数器,保证了同一秒内不会出现相同的id;
2.Mysql的UUID() 函数
阅读全文
0 0
- 数据分片以及全局id的生成
- 分片(Sharding)的全局ID生成
- 分片(Sharding)的全局ID生成
- 分片(Sharding)的全局ID生成
- 分片(Sharding)的全局ID生成
- 生成全局唯一的ID,java 中
- 全局唯一ID的生成方式
- 基于mysql的全局ID生成方案
- 全局唯一ID的生成策略对比
- 生成全局唯一Id
- 生成全局ID
- ZK生成全局id
- elang 游戏 生成全局id
- DRDS生成全局唯一ID
- Mysql全局ID生成方法
- 全局唯一ID生成方案
- flickr 对于分布式系统生成全局唯一ID的解决方案
- mysql数据库分表后生成全局id的几种方式
- SQL Server阻塞原因与解决方法
- CountDownLatch和CyclicBarrier的区别
- css实现横向带箭头步骤流程效果兼容性ie6
- Android N(7.0) 被美翻的新特性!
- codepush热更新
- 数据分片以及全局id的生成
- c# datetime
- win 7安装node.js及web应用框架express
- http响应状态码大全
- Ajax 执行返回的服务器端返回的js
- 关于tomcat部署到服务器无法访问的问题
- YOLO v2之总结篇(linux+windows)
- JWS, JWE, JWK, JWA, JWT
- linux修改主机名永久生效