「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:一

简介: 「读书笔记」《大规模分布式存储系统:原理解析与架构实战》:一

1.1 分布式存储概念

分布式存储系统特性:

  • 可扩展
  • 低成本
  • 高性能
  • 易用

主要挑战 :数据、状态信息的持久化,要求在自动迁移、自动容错、并发读写的过程中保证数据的一致性。

技术点:

  • 数据分布 :如何将数据分布到多台服务器才能保证数据分布均匀?数据分布到多台服务器后如何实现跨服务器读写操作?
  • 一致性 :如何将数据的多个副本复制到多台服务器,即使在异常情况下,也能够保证不同副本之间的数据一致性?
  • 容错 :如何检测到服务器故障?如何自动将出现故障的服务器上的数据和服务迁移到集群中的其他服务器?
  • 负载均衡 :新增服务器和集群正常运行过程中如何实现自动负载均衡?数据迁移过程中如何保证不影响已有服务?
  • 事务与并发控制 :如何实现分布式事务?如何实现多版本并发控制?
  • 易用性 :如何设计对外接口使得系统容易使用?如何设计监控系统并将系统的内部状态以方便的形式暴露给运维人员?
  • 压缩 / 解压缩 :如何根据数据的特点设计合理的压缩、解压缩算法?如何平衡压缩算法节省的存储空间和消耗的 CPU 计算资源?

1.2 分布式存储分类

分布式存储数据结构:

  • 非结构化数据 :办公文档、文本、图片、图像、音频、视频
  • 结构化数据 :关系数据库中,可以用二维关系表结构表示。结构化数据的模式(Schema,包括属性、数据类型以及数据之间的联系)和内容是分开的,数据的模式需要预先定义。
  • 半结构化数据 :如 HTML 文档。自描述的,结构和内容混在一起,没有明显的区分,也不需要预先定义数据的模式结构。

1.2.1 分布式文件系统

以对象形式组织,对象之间没有关联,一般称为 Blob(Binary Large Object,二进制大对象)数据。

分布式文件系统也常作为分布式表格系统 以及分布式数据库的底层存储。

总体看,分布式文件系统存储三种类型的数据:

  • Blob 对象
  • 定长块
  • 大文件

1.2.2 分布式键值系统

用于存储关系简单的半结构化数据,只提供基于主键的 CRUD 功能。

类似传统的哈希表。是分布式表格系统的一种简化实现,一般用作缓存。

** 常见的数据分布技术:** 一致性哈希。

1.2.3 分布式表格系统

用于存储关系较复杂的半结构化数据,支持 CRUD,支持扫描某个主键范围。如:DynamoDB

同一个表格的多个数据行也不要求包含相同类型的列。

1.2.4 分布式数据库

从单机关系数据库扩展而来,用于存储结构化数据。

  • MySQL Sharding 集群,
  • Amazon RDS,
  • 阿里巴巴 OceanBase,
  • 腾讯 TDSQL
  • Tidb
相关文章
|
5月前
|
数据采集 机器学习/深度学习 运维
量化合约系统开发架构入门
量化合约系统核心在于数据、策略、风控与执行四大模块的协同,构建从数据到决策再到执行的闭环工作流。强调可追溯、可复现与可观测性,避免常见误区如重回测轻验证、忽视数据质量或滞后风控。初学者应以MVP为起点,结合回测框架与实时风控实践,逐步迭代。详见相关入门与实战资料。
|
5月前
|
前端开发 JavaScript BI
如何开发车辆管理系统中的车务管理板块(附架构图+流程图+代码参考)
本文介绍了中小企业如何通过车务管理模块提升车辆管理效率。许多企业在管理车辆时仍依赖人工流程,导致违章处理延误、年检过期、维修费用虚高等问题频发。将这些流程数字化,可显著降低合规风险、提升维修追溯性、优化调度与资产利用率。文章详细介绍了车务管理模块的功能清单、数据模型、系统架构、API与前端设计、开发技巧与落地建议,以及实现效果与验收标准。同时提供了数据库建表SQL、后端Node.js/TypeScript代码示例与前端React表单设计参考,帮助企业快速搭建并上线系统,实现合规与成本控制的双重优化。
|
5月前
|
机器学习/深度学习 人工智能 缓存
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
本文提出面向边缘通用智能的多大语言模型(Multi-LLM)系统,通过协同架构、信任机制与动态编排,突破传统边缘AI的局限。融合合作、竞争与集成三种范式,结合模型压缩、分布式推理与上下文优化技术,实现高效、可靠、低延迟的边缘智能,推动复杂场景下的泛化与自主决策能力。
511 3
面向边缘通用智能的多大语言模型系统:架构、信任与编排——论文阅读
|
5月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
5月前
|
人工智能 自然语言处理 安全
AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教系统融合大语言模型、教育知识图谱、多模态交互与智能体架构,实现精准学情诊断、个性化辅导与主动教学。支持图文语音输入,本地化部署保障隐私,重构“教、学、评、辅”全链路,推动因材施教落地,助力教育数字化转型。(238字)
1014 23
|
5月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1067 2
Spring Boot 3.x 微服务架构实战指南
|
6月前
|
消息中间件 数据采集 NoSQL
秒级行情推送系统实战:从触发、采集到入库的端到端架构
本文设计了一套秒级实时行情推送系统,涵盖触发、采集、缓冲、入库与推送五层架构,结合动态代理IP、Kafka/Redis缓冲及WebSocket推送,实现金融数据低延迟、高并发处理,适用于股票、数字货币等实时行情场景。
938 3
秒级行情推送系统实战:从触发、采集到入库的端到端架构
|
6月前
|
设计模式 人工智能 API
AI智能体开发实战:17种核心架构模式详解与Python代码实现
本文系统解析17种智能体架构设计模式,涵盖多智能体协作、思维树、反思优化与工具调用等核心范式,结合LangChain与LangGraph实现代码工作流,并通过真实案例验证效果,助力构建高效AI系统。
807 7
|
5月前
|
存储 人工智能 搜索推荐
拔俗AI助教系统:基于大模型与智能体架构的新一代教育技术引擎
AI助教融合大语言模型、教育知识图谱、多模态感知与智能体技术,重构“教、学、评、辅”全链路。通过微调LLM、精准诊断错因、多模态交互与自主任务规划,实现个性化教学。轻量化部署与隐私保护设计保障落地安全,未来将向情感感知与教育深度协同演进。(238字)
646 0

推荐镜像

更多
  • DNS