绪论
数据管理阶段
- 人工管理
- 文件系统
- 数据库系统
01 数据库系统
1.1 概念
- 数据库技术:研究数据库的结构、存储、设计、管理和使用的一门科学。
- 数据库系统(DataBase System,DBS):采用数据库技术的计算机系统,它由计算机硬件、软件和数据资源组成的系统。【多用户访问】
- 组成:用户→数据库应用程序→数据库管理系统→数据库
- 数据库:数据库是由长期存储在计算机内的、有组织的、统一管理的,可以表现为多形式的,可以共享的数据集合。
- 特点:略
- 数据模型(Data Model):层次型【树状】、网状型、关系型
- 数据库管理系统(Data Base Management System):用于建立、使用和维护数据库。
- 主要功能
①数据定义——DDL
②数据操纵——DML
③数据库的运行管理
④数据组织、存储与管理
⑤数据库维护
⑥通信
- 应用程序:面向用户,用户通过应用程序输入和处理数据库中的数据。
- 数据定义语言 DDL
包括CREATE,DROP,ALTER等动作 - 数据查询语言 DQL
- 数据操纵语言 DML
以INSERT,UPDATE,DETETE为主 - 数据控制语言 DCL
GRANK和REVOKE
- 关系型数据库的优缺点:
优点:①容易理解②使用方便③易于维护
缺点:①高并发读写能力差②对海量数据的读写效率低叁扩展性差
- NoSQL数据库的特点
①灵活的数据模型
②可伸缩性强
③自动分片
④自动复制
02 分布式数据库的数据管理
- 分布式系统的核心理念:让多台服务器协同工作,完成高并发或大数据量的任务
- 分布式数据库:通过网络技术将物理上分开的数据库连接在一起,进行逻辑层面上的集中管理。
2.1 分布式数据处理的基本特点
- 分布的透明管理
- 复制数据的透明管理
- 事务的可靠性【数据多备份,消除单点故障】
分布式数据处理存在的问题:副本更新,副本一致性
2.2 CAP理论【三者不可兼得】
- 一致性
即更新操作后,所有节点在同一时间的数据完全一致。分成客户端、服务端两个视角。
- 可用性
即用户访问数据时,系统是否在正常响应时间返回结果
- 分区容错性
即分布式系统在遇到某节点或网络分区故障时。仍然能够对外提供满足数据一致性和可用性服务。
CAP理论认为分布式系统只能同时兼顾两个特性
。
即CA、CP、AP三种情况。
- CA without P
不要求P,即不允许分区,则强一致性和可用性可以保证。
- CP without A
不要求可用性,即每个请求都需要在各服务器间强一致,而分区容错性会导致同步时间无限延长,但CP可以得到保证。
- AP without C
分区发生节点之间有失联的可能性,为了实现高可用,每个节点用本地数据提供服务,就会导致全局数据不一致。
03 ACID与BASE
在大数据应用中,数据海量,且不允许丢失,因而采用分布式、多副本的方式进行存储。容错性得兼顾。故需要在一致性与可用性间权衡。
3.1 ACID的特性
- 原子性
一个事务的所有系列操作步骤被看成一个动作,所有步骤要么全部完成,要么一个也不会完成。
- 一致性
在事务开始之前或结束之后,数据库的完整性约束没被破坏。
- 隔离性
确保并发执行的事务,按顺序一个接一个的执行。
- 持久性
一旦一个事务被提交,它应该持久保存,不会因为与其他操作冲突而取消这个事务。
事务的四个特征可以看出关系型数据库要求强一致性。但这在NoSQL数据库中是重点弱化机制。针对分布式数据存储管理提供弱一致性保证。即BASE原理。
3.2 BASE原理
- 基本可用
保证核心功能或当前最重要的功能可用。
- 软状态
允许系统数据在中间状态,但不影响系统的整体可用性,即允许不同节点的副本之间存在暂时不一致情况。
- 最终一致性
数据副本最终能够一致。
3.3 NoSQL分类
- 数值数据库
- 列族数据库
- 文档数据库(MongoDB、CouchDB)
- 图形数据库
对于这些知识点,本人仍停留在概念的表面,不能深入理解。因此笔记内容大多是老师PPT上概念性的语言,缺少了自己的所获所感!