《大规模分布式存储系统:原理解析与架构实现》 读书笔记 =================================================================================================================== Google 是分布式技术应用相对成熟的公司,代表技术产品: 分布式文件系统:GFS 分布式计算系统:MapReduce 分布式表格系统:Bigtable 分布式存储分为文件存储、对象存储和块存储 =================================================================================================================== 第一章 概述 1、定义 分布式存储是大量廉价的普通服务器通过高速网络连接,进而对外提供存储服务。 2、特点 可扩展。集群..... 低成本。 高性能。 3、面临及存在问题 数据分布。如何保证相同的数据副本存在于多个服务器上? 一致性。存在于多个服务器上的副本数据的一致性问题? 容错。如何检测服务器故障?即健康状态检测? 负载均衡。如何实现负载均衡问题? 事务和并发控制。 易用性。 4、数据类型 结构化数据。能够存储在关系型数据库中 非结构化数据。图片、文档、音频、视频 半结构化数据。例如:HTML 5、分布式存储类型 分布式文件系统 存储非结构化数据(Binary Large Object,二进制大数据)。Facebook Haystack、File System(TFS)、GFS、EBS (Elastic Block Store)、RDB 分布式键值存储系统 一致性哈希算法是分布式键值存储的中常用的数据分布技术,支持CRUD功能。Memcache、Redis、Tair(淘宝) 分布式表格存储系统 存储半结构化数据。Google Bigtable、Megastore、Microsoft Azure Table Store、Amzaon DynamoDB 分布式数据库 用于存储结构结构化数据。MySQL Sharding、RDB =================================================================================================================== 第二章 单机存储系统 一、硬件基础 1、CPU架构 由于单颗CPU的性能局限性,为了提高CPU的计算能力,出现了SMP的CPU架构。(对称多处理器结构 Symmetric Mulit- Processing),由于SMPNUMA(Non-Uniform Memory Access)架构由多个SMP架构组成,每个SMP享有独立的硬件资源。 二、单机存储引擎 哈希存储:支持随机访问。例如键值