分布式存储系统学习笔记(一)—什么是分布式系统(2)—数据分布
分布式存储系统中主要有以下两种分布方式:
a) 哈希分布
问题主要是散列特性好的哈希函数很难确定,而且按照主键散列和按照用户id散列的存在很多问题,还有大用户问题的方法。还存在一个问题即当服务器数量变化时会导致大量的数据迁移。
两种方法可以解决这个问题,一是将哈希值和服务器的对应关系作为元数据存储,另一种思路是一致性哈希(另一篇博客一天不学习我浑sen难受(一)—一致性哈希/Hash环学习笔记有介绍)。
b) 顺序分布
哈希散列破坏了数据的有序性,只支持随机读取而不能够顺序扫描。有一些系统在应用层做出妥协,根据用户id拆分并哈希到不同服务器上,对同一用户的数据支持顺序扫描,但是这样可能出现大用户问题,无法发挥分布式系统的多机并行处理优势。
在顺序存储中,一般将大表划分为多个连续的子表,可以通过root表meta表等等方式建立多级索引。当数据发生新增或者删除的时候,子表会进行分裂或者合并【像是一个B+树】。
c) 负载均衡
主副本对外提供服务,迁移备副本,整个过程对用户透明。
欢迎扫描二维码关注微信公众号 深度学习与数学 [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]
分布式存储系统学习笔记(一)—什么是分布式系统(2)—数据分布相关推荐
- 大规模分布式存储系统 - 读书笔记
文章目录 大规模分布式存储系统(原理解析与架构实战OceanBase) 第1章 概述 1.1 分布式存储概述 1.2 分布式存储分类 第一篇 基础篇 第2章 单机存储系统 2.1 硬件基础 2.1.1 ...
- HBase分布式存储系统学习
简介: hadoop的数据库,根据谷歌的bigtable论文实现的 分布式的可扩展的大数据存储技术 随机访问 实时读写海量数据 存储数'十亿行 百万例'的数据 高性能.高可靠.面向列.可伸缩的分布式存 ...
- 分布式文件与分布式存储系统学习总结(持续更新)
存储系统知识 Write Ahead Log 问题引入 存储系统在运行过程中,每时每刻都在发生数据更新.如对文件数据的CRUD. 对于中心控制节点来说,这些都会涉及到metadata的更新操作. 为了 ...
- 大数据存储系统学习笔记(一)
1. NFS 设计目标:服务器出现故障,可以简单快速地恢复 NFS Server不保持任何状态,每个操作都是无状态的 如果NFS崩了,只用重启,什么额外操作都不用,因为每个操作无状态 NFSv2 对于 ...
- torch分布式训练学习笔记
分布式通讯包 - torch.distributed 基本 初始化 TCP初始化 共享文件系统初始化 环境变量初始化 组 点对点通信 集体功能 torch.distributed提供了一种类似MPI的 ...
- 分布式协议学习笔记(一) Raft 选举
Raft官网 官方可视化动画1 官方可视化动画2 论文中文翻译 论文英文地址 感觉作为paxos的升级精简版 Raft在设计之初就以容易理解为目标 看完资料 脑海里都有了大概的轮廓. 有了这些详细的资 ...
- spring分布式事务学习笔记(2)
此文已由作者夏昀授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Model类如下:package com.xy.model 1 package com.xy.model;2 ...
- Nuth | Hadoop完全分布式运行 学习笔记
原始URL: hdfs://10.66.27.181:9000/user/hadoop/urldir url.txt -->http://blog.tianya.cn hdfs://10.66 ...
- 计算机存储系统的特点,分布式存储系统的特点和意义
严格来说,同一分布式系统中的计算机可以在空间部署中任意分布. 这些计算机可以放置在不同的机柜中,也可以放置在不同的计算机室中,甚至可以分布在不同的城市中. 无论如何,标准的分布式系统将具有以下特征,而 ...
- 小滴课堂-项目大课学习笔记(2)海量数据存储-分布式文件存储系统
在了解分布式文件存储之前,我们可以先来了解一下什么是分布式存储,分布式存储的系统又分为哪些 什么是分布式存储 在近些年来,随着各大的互联网公司的大数据应用的崛起,分布式系统被广泛的投入到实践当中.互联 ...
最新文章
- C++ 管理数据内存的方法
- python下载库报错_下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决...
- 网易云信今年发布的WE-CAN有哪些亮点?
- 音视频技术开发周刊 | 154
- vue 限制输入字符长度
- 微信(QQ)截图时,无法保留鼠标右键菜单选项内容
- m.2接口和nvme区别_NVMe/SATA SSD有啥不一样?萌新怎么选
- oracle util_mail,Oracle UTL_MAIL邮件包程序使用实践
- c++使用单向链表存储一组有序数据_数据结构笔试题基础
- [LeetCode]50.Pow(x, n)
- 如何将Blocs v2项目迁移到Blocs v3?
- 暗黑破坏神3网站设计欣赏
- 局部阈值matlab代码,matlab局部自适应阈值
- 天津滨海农商银行数据脱敏建设实践
- 怎么把小米手机通讯录导入苹果手机
- 一个圆周率的计算公式代码
- 合肥工业大学机器人技术期末_合肥工业大学 机器人技术 作业和实验
- html图片上方产生1像素间隙解决
- 【文献阅读】Proximal Policy Optimization Algorithms
- ICMP协议之tracert实现
热门文章
- 微星msi B450M+i5-8500+1060成功黑苹果
- ES6学习之Promise
- Python成长笔记 - 基础篇 (七)python面向对象
- phpmyadmin提示SELECT `prefs` FROM `phpmyadmin`.`pma_table_uiprefs` ······
- 《Advanced .NET Debugging》 读书笔记 Listing 5-6: Pining的简单示例
- 8个习惯让你减肥不用节食 - 生活至上,美容至尚!
- 35. 第一个只出现一次的字符(C++版本)
- 排序算法性能和使用场景总结
- 登录linux系统设置默认目录
- k8s部署jenkins