第一章-NoSQL数据库原理与应用
数据库系统
由数据库,数据库管理系统,应用程序,用户组成
数据库系统的基本概念
数据库DBS
是长期存储在计算机内,有组织,统一管理的,可以表现为多种形式的,可共享的数据集合
数据库根据不同的逻辑模型可以分为三种:层次型,网状型,关系型
层次型:简单,冗余度过高
网状型:随着应用范围的扩展,数据库的结构变得越来越复杂
关系型:二维表格来表示实体集合以及数据间的联系的一种模型
数据库管理系统DBMS
是一种操作和管理数据库的大型软件,用于建立,使用和维护数据库
数据定义
DBMS提供数据定义语言DDL,供用户定义,创建和修改数据库的结构
数据操纵
DBMS提供数据操纵语言DML,实现用户对数据的操纵功能,包括对数据库数据的插入,删除,更新等操作
数据库的运行管理
数据组织,存储与管理
数据库的维护
通信
应用程序
关系型数据库
关系型数据库的基本概念
在关系型数据库中,实体以及实体间的联系均由单一的结构类型表示,这种逻辑结构是一张二维表
结构化查询语言
关系型数据库的核心是其结构化查询语言SQL,SQL涵盖数据的定义,操纵,查询,控制,是一个综合的,通用的且简单易懂的数据库管理语言
数据定义语言DDL
CREATE,DROP,ALTER
数据查询语言DQL
SELECT
数据操纵语言
INSERT,DELETE,UPDATE
数据控制语言DCL
是对数据访问权进行控制的指令
关系型数据库的优缺点
优点
易于理解,使用方便,易于维护
缺点
高并发读写能力差,对海量数据的读写效率低,扩展性差
NoSQL数据库的特点
最初为满足互联网时代的业务需求而产生。互联网时代具有大量化,多样化,快速化等特点。数据不仅仅是传统的结构化数据,还包含大量非结构化和半结构化数据,关系型数据库无法存储此类数据
灵活的数据模型
可伸缩性强
关系型数据库:中心化,是纵向扩展而不是横向扩展的。这使得它们不适合那些需要简单且动态可伸缩性的应用
NoSQL数据库从一开始就是分布式,横向扩展的,因此非常适合互联网应用分布式的特性
自动分片
自动复制
分布式数据库的数据管理
分布式数据处理
CAP理论
CAP理论是指在一个分布式系统中,一致性C,可用性A,分区容错性P,三者不可兼得
基本概念
一致性C
是指更新操作成功后,所有节点在同一时间的数据完全一致
一致性在并发读写时才会出现的问题
可用性A
即用户访问数据时,系统能否在正常响应时间返回结果
在通常情况下,可用性与分布式数据冗余,负载均衡等有很大的关联
分区容错性P
即分布式系统在遇到某节点或网络分区故障的时候,仍然能够对外提供满足一致性和可用性的服务