分布式学习前瞻

1.概念

分布式首先要关注如下几方面:一是分布式系统计算框架,二是分布式存储,三是分布式服务协调组织,四是分布式概念本身

  • 计算框架:目前来说基本上都是基于MapReduce的,可以说是开山鼻祖,后来为了处理更多其他的场景所面临的的问题,于是出现了Spark、Strom等计算框架

  • 存储:存储又分为两方面

    • 文件系统:决定了数据在磁盘上的存储模式,以及系统对文件数据的操作——比如GFS、HDFS等
    • 数据库(这里主要是K-V数据库):以结构化的形式存储数据、管理数据(因为对于文件系统而言存储的都是二进制数据,数据库相当于是对与存储他们的进一步抽象)——比如BigTable、HBase、OceanBase,国外的cockroachdb
      而对于kv数据库,我们需要熟悉基本常用的数据结构——btree,skiplist(跳表),LSM等。
  • 服务协调组织:封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户,它是一个为分布式应用(比如分布式计算框架Spark、分布式数据库HBase等)提供一致性服务的软件,会涉及到分布式的相关协议的具体实现,比如Zookeeper。

  • 分布式概念本身:分布式概念本身贯穿着整个系统,包括计算框架、存储都要使用到分布式的相关算法以及概念,比如一致性Hash,Raft、Paxos、CAP原理、lamport锁、强一致性、弱一致性等。不同的系统设计可能侧重点不同,选用的分布式策略也会不同,比如OceanBase使用Multi-Paxos,corckroachdb使用Raft,Zookeeper使用ZAB协议实现一致性,HBase不支持分布式事务等。

上面说的这些名词,后面都要专门一一学习。

你可能感兴趣的:(分布式,数据库)