这是我参与「第五届青训营 」伴学笔记创作活动的第 7 天
今天主要学习了分布式理论 - 现代架构基石。分布式计算是计算机科学中一个研究方向,它研究如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给多个计算机进行处理,最后把这些计算结果综合起来得到最终的结果。分布式是将数据分散地存储于多台独立的机器设备上。分布式网络存储系统采用可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,不但解决了传统集中式存储系统中单存储服务器的瓶颈问题,还提高了系统的可靠性、可用性和扩展性。
- 分布式系统定义:跨多个节点的计算机程序的集合;- 使用分布式系统的五大优势:去中心化、低成本、弹性、资源共享、可靠性高;- 分布式系统的挑战:故障、网络、环境、安全。 常见的分布式系统:- 分布式存储:GFS、Ceph、HDFS、Zookeeper。- 分布式数据库:Spanner、TiDB、HBase、MangoDB。- 分布式计算:Hadoop、YARN、Spark
CAP理论:- CAP的定义,分别代表一致性、可用性、分区容错性。三者无法同时达到
CAP诞生了三类系统:- CA系统:传统数据库的代表
- AP系统:放弃强一致性,保证高可用,不少nosql存储系统采用
- CP系统:放弃可用性,保证数据一致性
ACID理论
-
ACID理论是针对CA系统而言的,通常在数据库中具有广泛意义
-
事务是数据库系统中非常重要的概念,它是数据库管理系统执行过程中的一个逻辑单元,它能够保证一个事务中的所有操作要么全部执行,要么全都不执行
-
数据库事务拥有四个特性ACID:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)