一. 数据分片和路由 <<大数据日知录>> 读书笔记
2024-10-08 06:24:56
本章主要讲解大数据下如何做数据分片,所谓分片,即将大量数据分散在不同的节点,同时每个存储节点还要做副本备份。
而一般的抽象分片方法是,
- 先将数据映射到一个分片空间,这是多对一的关系,即一个数据分片区间可能有多条数据
- 再将分片空间映射到物理node,这也是多对一的关系,即一个物理node对应多个分片空间
具体到实现,通过hash进行分片是比较常见方式,而常见的hash方法是:
- round robin,hash取模,即通过取模将数据分散到各个node,这种方法跳过了分片空间,数据直接映射到了物理node,简单,但是扩展差,如果要新增一个node,所有的数据都要重新计算映射
- virtual buckets,虚拟桶,即将数据映射到bucket,bucket再映射到物理node,这和上面的抽象方法很吻合。当新增一个物理node,只要将影响到的bucket的映射更改到新的node
- 一致性hash,一致性hash先把数据映射到一个圆上,然后将node也映射到圆上,每个node管理它和它之前node之间的数据。新增node时,只影响插入位置到最近的前个node之间的数据映射。删除node时,也只影响位置到最近的前个node之间的数据映射
另外,具体的分片实现上,还有范围分片:
总的来说,即将数据进行一个排序映射,排序后再进行范围划定,然后将某个范围映射到具体的node
最新文章
- CoreLocation定位技术
- leetcode 171
- Android中通过反射获取资源Id
- spring验证事务的代码,用到了mockito
- Unity 编辑器扩展自定义窗体
- 深入探讨MFC消息循环和消息泵
- 【学习笔记】锋利的jQuery(二)DOM操作
- HDU 1681 Frobenius(完全背包+标记装满)
- php Yii2使用registerJs或registerCss报错syntax error, unexpected end of file
- asp.net C# 实现阿里大鱼和云片网短信接口类
- ArcGIS API for JavaScript 4.x 本地部署之跨域问题解决法:CORS
- 使用免费 mongodb数据库 + 免费node.js服务器搭建小程序接口
- ngx_string()错误分析
- C#中将ListView数据导出为excel(转载)
- C# winform程序怎么打包成安装项目(VS2010图解)
- JavaScript面试技巧(一):基础知识
- AMD64 Instruction-Level Debugging With dbx
- 应用nslookup命令查看A记录、MX记录、CNAME记录和NS记录
- C# RedisRateLimiter
- [SCOI2018]游泳池(计算几何+分数规划+最大权闭合子图)