当前位置:首页 > 技术知识 > 正文内容

分布式存储架构详解(4大存储架构)

maynowei8个月前 (10-14)技术知识124

分布式是大型架构的基石,下面我重点详解分布式存储架构@mikechen

文章来源:mikechen.cc

分布式文件存储

分布式文件存储,是最核心的分布式存储形态,主要面向 文件读写场景

数据以文件形式存放在分布式节点上,对上层提供统一的文件系统视图。

最典型的代表,就是:HDFS(Hadoop Distributed File System)。

核心架构,如下图所示:

NameNode / Metadata Server:负责文件元数据(路径、大小、位置等)管理。

DataNode / Storage Node:存储实际文件数据块。

适合:海量文件存储、高吞吐量顺序读写、可扩展性好。


分布式对象存储

分布式对象存储:以“对象”为最小管理单元,数据和元数据一起存储。

分布式对象存储,将数据视为一个个独立的“对象”来管理,通过全局唯一的对象标识(ID)访问,常见的实现有:Ceph等。

通常采用去中心化的架构,没有单一的元数据管理节点,所有节点都可以处理请求。

适合:互联网应用、云存储、备份归档、CDN(内容分发网络)等。

尤其适合存储海量的图片、视频、日志等非结构化数据。


分布式块存储

以固定大小的块为单位,提供原始存储设备(类似磁盘分区),由上层文件系统或数据库直接管理。

客户端通过虚拟化层将这些块组合成块设备,提供类似硬盘的接口。

适用于需要高性能、低延迟的数据库、和虚拟机存储,典型实现有Ceph RBD等。


分布式键值存储

以键值对或列族为单位存储,强调低延迟、高并发读写。

典型代表有 Redis(内存 KV)、Cassandra、HBase、Dynamo、TiKV。

数据模型简单,数据被抽象为 Key 和 Value,没有复杂的关系或查询。

弹性扩展,依靠一致性哈希等算法,可以轻松地增加或减少节点,实现数据的自动迁移和负载均衡。

文章来源:mikechen.cc

相关文章

利用Axure+js创建可配置地图页面(axure嵌入地图)

编辑导语:如何利用Axure实现自定义地图展示?本篇文章里,作者结合Axure与高德地图,对如何在Axure中设置相应参数、进而预览时实现自定义地图展示效果的操作流程进行了示范和总结,一起来看一下。本...

机器人需求驱动导航新SOTA,成功率提升15%!浙大&vivo联手打造

CogDDN团队 投稿量子位|公众号QbitAI让机器人像人一样边看边理解,来自浙江大学和vivo人工智能实验室的研究团队带来了新进展。正如视频所展示的,机器人在复杂的室内环境中不仅能自主探索,还具备...

Xamarin.Android使用教程:列表视图和适配器(2)

昨天我们已经一起学习了第1部分,这是探索Xamarin.Android的列表视图和适配器的的第2部分。在今天的文章中我们将探讨列表视图项排列使用BaseAdapter,还有自定义布局。让我们深入到代码...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用...

btrace 3.0 重磅新增 iOS 支持!免插桩原理大揭秘!

重磅更新btrace 是由字节跳动抖音基础技术团队自主研发的面向移动端的性能数据采集工具,它能够高效的助力移动端应用采集性能 Trace 数据,深入剖析代码的运行状况,进而辅助优化提升移动端应用的性能...

如何正确理解Java领域中的并发锁,我们应该具体掌握到什么程度?

苍穹之边,浩瀚之挚,眰恦之美; 悟心悟性,善始善终,惟善惟道! —— 朝槿《朝槿兮年说》写在开头对于Java领域中的锁,其实从接触Java至今,我相信每一位Java Developer都会有这样的一个...