大规模分布式存储系统原理解析与架构实战-读书笔记1-概述

 ̄綄美尐妖づ 提交于 2020-01-09 16:19:25

大规模分布式存储系统原理解析与架构实战-读书笔记1-概述

Google、Amazon、Alibaba等互联网公司的成功催生了云计算大数据这两个热门领域。而无论是云计算,大数据还是其他互联网应用,其后台基础设施的建设主要目标都是构建低成本、高性能、可扩展、易用的分布式系统。

分布式存储的概念

  • 大规模分布式存储系统的概念:
    “分布式存储系统是大量普通PC服务器通过Internet互联,对外作为一个整体提供服务”
  • 分布式存储系统的主要挑战:
    数据,状态信息的持久化。要求在自动迁移,自动容错,并发读写的过程中保持一致性。
  • 分布式存储的两个主要技术:
    分布式系统数据库
    几个问题:
    1 数据分布:如何将数据分布到多个服务器而且要数据分布均匀?如果进行跨服务器操作?
    2 一致性:如何将数据的多个副本复制到不同服务器?且在异常情况下也能保持数据一致?
    3 容错:如何检测到服务器故障?如何自动将出现错误的服务器的数据迁移到其他服务器?
    4 负载均衡:新增服务器和集群正常运行中如何实现自动负载均衡?数据迁移过程中如何保证不影响已有服务?
    5 事务与并发控制:如何实现分布式事务?如何实现多版本并发控制?
    6 易用性:如何设计对外接口使系统容易使用?如何设计监控系统并将系统内部状态暴露给运维人员?
    7 如何根据数据的特点设计合理的压缩/解压缩算法?如何平衡压缩算法节省的存储空间和消耗的CPU计算资源?

分布式存储系统挑战大,研发周期长,涉及知识面广。如果一个工程师能深入理解分布式存储系统,理解其他互联网后台架构不会再有任何问题

分布式存储分类

大致分为三类:结构化数据,非结构化数据,半结构化数据。
本书将分布式存储系统分为四类:

  • 分布式文件系统
    图表,视频,等非结构化数据,以对象的形式组织,对象之间没有关联,一般称为Blob(Binary Large Object)
    分布式文件系统用于存Blob对象,典型的有Facebook Haystack以及Taobao File System(TFS)。另外,也常作为分布式表格系统和分布式数据库的底层存储。
  • 分布式键值系统
    用于存储结构简单的半结构化数据,提供基于主键的CRUD。
  • 分布式表格系统
    用于存储结构较为复杂的半结构化数据
  • 分布式数据库
    从单机关系数据扩展而来。关系型数据库(如Mysql)最成熟,NoSQL现在也很火。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!