分布式存储系统中主要有以下两种分布方式:

a)   哈希分布

问题主要是散列特性好的哈希函数很难确定,而且按照主键散列和按照用户id散列的存在很多问题,还有大用户问题的方法。还存在一个问题即当服务器数量变化时会导致大量的数据迁移。

两种方法可以解决这个问题,一是将哈希值和服务器的对应关系作为元数据存储,另一种思路是一致性哈希(另一篇博客一天不学习我浑sen难受(一)—一致性哈希/Hash环学习笔记有介绍)。

b)  顺序分布

哈希散列破坏了数据的有序性,只支持随机读取而不能够顺序扫描。有一些系统在应用层做出妥协,根据用户id拆分并哈希到不同服务器上,对同一用户的数据支持顺序扫描,但是这样可能出现大用户问题,无法发挥分布式系统的多机并行处理优势。

在顺序存储中,一般将大表划分为多个连续的子表,可以通过root表meta表等等方式建立多级索引。当数据发生新增或者删除的时候,子表会进行分裂或者合并【像是一个B+树】。

c)   负载均衡

主副本对外提供服务,迁移备副本,整个过程对用户透明。

欢迎扫描二维码关注微信公众号 深度学习与数学   [每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾]

分布式存储系统学习笔记(一)—什么是分布式系统(2)—数据分布相关推荐

  1. 大规模分布式存储系统 - 读书笔记

    文章目录 大规模分布式存储系统(原理解析与架构实战OceanBase) 第1章 概述 1.1 分布式存储概述 1.2 分布式存储分类 第一篇 基础篇 第2章 单机存储系统 2.1 硬件基础 2.1.1 ...

  2. HBase分布式存储系统学习

    简介: hadoop的数据库,根据谷歌的bigtable论文实现的 分布式的可扩展的大数据存储技术 随机访问 实时读写海量数据 存储数'十亿行 百万例'的数据 高性能.高可靠.面向列.可伸缩的分布式存 ...

  3. 分布式文件与分布式存储系统学习总结(持续更新)

    存储系统知识 Write Ahead Log 问题引入 存储系统在运行过程中,每时每刻都在发生数据更新.如对文件数据的CRUD. 对于中心控制节点来说,这些都会涉及到metadata的更新操作. 为了 ...

  4. 大数据存储系统学习笔记(一)

    1. NFS 设计目标:服务器出现故障,可以简单快速地恢复 NFS Server不保持任何状态,每个操作都是无状态的 如果NFS崩了,只用重启,什么额外操作都不用,因为每个操作无状态 NFSv2 对于 ...

  5. torch分布式训练学习笔记

    分布式通讯包 - torch.distributed 基本 初始化 TCP初始化 共享文件系统初始化 环境变量初始化 组 点对点通信 集体功能 torch.distributed提供了一种类似MPI的 ...

  6. 分布式协议学习笔记(一) Raft 选举

    Raft官网 官方可视化动画1 官方可视化动画2 论文中文翻译 论文英文地址 感觉作为paxos的升级精简版 Raft在设计之初就以容易理解为目标 看完资料 脑海里都有了大概的轮廓. 有了这些详细的资 ...

  7. spring分布式事务学习笔记(2)

    此文已由作者夏昀授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Model类如下:package com.xy.model 1 package com.xy.model;2 ...

  8. Nuth | Hadoop完全分布式运行 学习笔记

    原始URL: hdfs://10.66.27.181:9000/user/hadoop/urldir  url.txt -->http://blog.tianya.cn hdfs://10.66 ...

  9. 计算机存储系统的特点,分布式存储系统的特点和意义

    严格来说,同一分布式系统中的计算机可以在空间部署中任意分布. 这些计算机可以放置在不同的机柜中,也可以放置在不同的计算机室中,甚至可以分布在不同的城市中. 无论如何,标准的分布式系统将具有以下特征,而 ...

  10. 小滴课堂-项目大课学习笔记(2)海量数据存储-分布式文件存储系统

    在了解分布式文件存储之前,我们可以先来了解一下什么是分布式存储,分布式存储的系统又分为哪些 什么是分布式存储 在近些年来,随着各大的互联网公司的大数据应用的崛起,分布式系统被广泛的投入到实践当中.互联 ...

最新文章

  1. C++ 管理数据内存的方法
  2. python下载库报错_下载python中Crypto库报错:ModuleNotFoundError: No module named ‘Crypto’的解决...
  3. 网易云信今年发布的WE-CAN有哪些亮点?
  4. 音视频技术开发周刊 | 154
  5. vue 限制输入字符长度
  6. 微信(QQ)截图时,无法保留鼠标右键菜单选项内容
  7. m.2接口和nvme区别_NVMe/SATA SSD有啥不一样?萌新怎么选
  8. oracle util_mail,Oracle UTL_MAIL邮件包程序使用实践
  9. c++使用单向链表存储一组有序数据_数据结构笔试题基础
  10. [LeetCode]50.Pow(x, n)
  11. 如何将Blocs v2项目迁移到Blocs v3?
  12. 暗黑破坏神3网站设计欣赏
  13. 局部阈值matlab代码,matlab局部自适应阈值
  14. 天津滨海农商银行数据脱敏建设实践
  15. 怎么把小米手机通讯录导入苹果手机
  16. 一个圆周率的计算公式代码
  17. 合肥工业大学机器人技术期末_合肥工业大学 机器人技术 作业和实验
  18. html图片上方产生1像素间隙解决
  19. 【文献阅读】Proximal Policy Optimization Algorithms
  20. ICMP协议之tracert实现

热门文章

  1. 微星msi B450M+i5-8500+1060成功黑苹果
  2. ES6学习之Promise
  3. Python成长笔记 - 基础篇 (七)python面向对象
  4. phpmyadmin提示SELECT `prefs` FROM `phpmyadmin`.`pma_table_uiprefs` ······
  5. 《Advanced .NET Debugging》 读书笔记 Listing 5-6: Pining的简单示例
  6. 8个习惯让你减肥不用节食 - 生活至上,美容至尚!
  7. 35. 第一个只出现一次的字符(C++版本)
  8. 排序算法性能和使用场景总结
  9. 登录linux系统设置默认目录
  10. k8s部署jenkins