这是我参与「第五届青训营」伴学笔记创作活动的第 7 天
分布式理论
介绍:
分布式系统是计算程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算,分布式存储,分布式数据库等。
优势:去中心化,低成本,弹性,资源共享,可靠性高
挑战:普遍的节点故障,不可靠的网络,异构的机器和硬件环境,安全
常见的分布式系统:
分布式存储:
1 . Google File System (GFS) : google 分布式文件系统
2 . Ceph: 统一的分布式存储系统
3 . Hadoop HDFS: 基于 G FS 架构的开源分布式文件系统
4 · zookeeper: 高可用的分布式数据管理与系统协调框架
分布式数据库:
1 . TiDB: 开源分布式关系型数据库 2 . HBase: 开源 Nosq | 数据库 3 . MongoDB: 文档数据库
分布式计算:
1 · Hadoop: 基于 Ma p Red uce 分布式计算框架
2 · Spark: 在 Hadoop 基础之上 , 使用内存来存储数据
3 · YARN : 分布式资源调度
CAP理论:
CAP 理论往往运用于数据库领域 , 同样可以适用于分布式存储方向
CA : 放弃分区容错性 , 加强一致性和可用性 , 其实就是传统的单机数据库的选
AP: 放弃一致性 ( 这里说的一致性是强一致性 ) , 追求分区容错性和可用性 , 例如一些注重用户体验的系统
CP: 放弃可用性 , 追求一致性和分区容错性 , 例如与钱财安全相关的系统
ACID理论:
原子性 (A) 。 原子性旨事务包含的所有操作要么全部成功 , 要么全部失败回滚 。
一致性 (c) 。 一致性是指事务必彡页使数据库从一个一致性状态奂到另一个一致性状态 , 也就是说一个事务执行之前和执行之后都必彡页处于一致性状态
隔离性 (I) 。 隔离性是当多个用户并发访问数据库时 , 库为每一个用户开启的事务 , 不能被其他事务的操亻乍所干扰 , 多个并发事务之间要相互隔离
持久性 (D) 。 扌寺久性旨一个事务一旦被提交了 , 那么对数据库中的娄唾的改变就是永久性的 , 即便是在数据库系统遇到故障的情况下也不会丢失交事务的操作 。