当前位置: 首页 > news >正文

《分布式技术原理与算法解析》学习笔记Day21

分布式数据存储三要素

什么是分布式数据存储系统?

分布式存储系统的核心逻辑,就是将用户需要存储的数据根据某种规则存储到不同的机器上,当用户想要获取指定数据时,再按照规则到存储数据的机器中获取。

分布式存储系统的三要素:

  • 数据生产者 / 数据消费者
  • 数据索引
  • 数据存储

数据生产者生产数据,将数据存储到分布式数据存储系统中,数据消费者是从分布式数据存储系统中获取数据进行消费;数据索引将访问数据的请求转发到数据所在的存储节点;存储设备用来存储数据。

分布式系统数据类型

分布式系统中存在大量不同类型的数据,根据数据的特征,我们可以将其分为三类:

  • 结构化数据,指关系模型数据,特征是数据关联较大、格式固定,一般采用分布式关系数据库进行存储和查询。
  • 半结构化数据,指非关系模型数据,有基本固定结构模式的数据,特征是数据之间关系比较简单,一般采用分布式键值系统进行存储和使用。
  • 非结构化数据,指没有固定模式的数据,特征是数据之间关联不大,这种数据一般存储到文档中,通过ElasticSearch等进行检索。

数据分片与数据复制

数据分片技术,是指分布式存储系统按照一定的规则,将数据存储到相应的存储节点中,或者到相应的存储节点中获取想要的数据。这种技术一方面可以降低单个存储节点的存储和访问压力,另一方面可以通过规定好的规则快速找到数据所在的存储节点,从而大大降低搜索延迟,提高用户体验。

数据分片可以采取不同的方式,包括:

  • 数据特征分片
  • 数据范围分片
  • 哈希分片
  • 一致性哈希分片

数据复制是指将数据进行备份,使得多个节点存储该数据。它可以通过主备方式存储的方式,提高分布式系统的可用性和可靠性。

在实际的分布式存储系统中,数据分片和数据复制通常是共存的:

  • 数据通过分片方式存储到不同的节点上,以减少单节点的性能瓶颈问题。
  • 数据的存储通过主备方式保证可靠性,即对每个节点上存储的分片数据,采用主备方式存储,来保证数据可靠性,其中主备节点上数据一致,是通过数据复制技术实现的。

数据存储

根据上述三种不同的数据类型,常采用的数据存储选型方案如下:

  • 分布式数据库,通过表格来存储结构化数据,方便查找。常见的方案包括:MySQL Sharding、Microsoft SQL Azure、Google Spanner、Alibaba OceanBase等。
  • 分布式键值系统,通过兼职对来存储半结构化数据。常见的方案包括:Redis、Memcache等。
  • 分布式存储系统,通过文件、块、对象等来存储非结构化数据。常见的方案包括:Ceph、GFS、HDFS、Swift等。

详细的分布式数据库比较如下。在这里插入图片描述
详细的分布式存储系统比较如下。
在这里插入图片描述

http://www.lryc.cn/news/19603.html

相关文章:

  • 开源shell脚本系列-检查etcd集群可用性
  • 资源限制类题目七大技巧 解决所有大数据资源限制类问题
  • adb命令导出手机已安装的android应用apk文件
  • 华为CT6100双千M路由记录
  • 【AcWing-Python-785】快速排序
  • 从 JDK 8 到 JDK 18,Java 垃圾回收的十次进化
  • 虚拟机VMware Workstation Pro环境搭建
  • 【华为OD机试模拟题】用 C++ 实现 - 敏感字段加密(2023.Q1)
  • 关于Java方法重写的一些反思
  • 【C语言进阶】文件的顺序读写、随机读写、文本文件和二进制文件、文件读取结束的判定以及文件缓冲区相关知识
  • 图形编辑器:拖拽阻塞优化
  • c++ 的 Eigen库写 AX=XB的矩阵求解代码
  • 正点原子linux驱动篇
  • MATLAB绘制雷达图/蜘蛛图
  • 算法入门,十字路口选择的案例,如果是南方,则向前行
  • 父传子与子传父步骤
  • Java concurrency - Task Execution
  • 浅谈BOM
  • 每日学术速递2.24
  • SpringBoot 面试问答总结(VIP典藏版)
  • CSS 定位网页元素【快速掌握知识点】
  • 构建Docker基础镜像(ubuntu20.04+python3.7.1+chrome101+chromedriver101)
  • 最新最全Java面试知识
  • 个人电脑需求严重疲软,联想集团财务前景仍不乐观
  • 软件测试面试在简历上写了“精通”后,拥有工作经验的我被面试官问到窒息...
  • 色环电容读数方法要点总结
  • C++函数新思想和标准的输入和输出
  • 华为OD机试真题Java实现【汽水瓶】真题+解题思路+代码(20222023)
  • WindownsPowershell中的单引号和双引号
  • 【华为OD机试模拟题】用 C++ 实现 - 数组组成的最小数字(2023.Q1)