1. 存储的简介和基本概念
存储系统(定义):一个提供了读写、控制类接口,能够安全有效地把数据库持久化的软件,就可以称为存储系统。 系统特点:作为后端软件的底座,性能敏感;存储系统软件架构,容易受硬件影响;存储系统代码,既“简单”又“复杂”。
存储系统-RAID技术:
RAID 0:多块磁盘简单组合;数据条带磁化,提高磁盘带宽;没有额外的容错设计;
RAID 1:一块磁盘对应一块额外镜像盘;真实空间利用率仅50%;容错能力强;
RAID 2:结合了RAID 0和RAID 1;真实空间利用率仅为50%;容错能力强,写入带宽好;
存储器层级结构
数据存储的流程
存储:就是根据不同的应用环境通过采取合理、安全、有效的方式将数据保存到某些介质上并能保证有效的访问。当前存储的主要体系结构有三种:DAS、NAS、SAN。
存储硬件
机械硬盘的主要参数: 硬盘容量(Volume); 缓存(Rotatinoal speed):磁盘转动圈数/分钟; 缓存; 平均访问时间; 平均访问时间由平均寻道时间和平均等待时间构成; 数据传输率(Data Transfer Rate); 内部传输率(Internal Transfer Rate); 外部传输率(External Transfer Rate); IOPS(Input/Output per Second)每秒的输入输出量(或读写次数),是衡量磁盘性能的主要指标之一; Throughput吞吐量:值单位时间内可以成功传输的数据数量。对于大量数据读写的应用,如电视台的视频编辑,视频点播VOD(Video On Demand),则更关注吞吐量指标;
SSD硬盘的特点:无高速旋转部件,性能高,功耗低; 多通道并发,通道内Flash颗粒复用时序; 支持TCQ/NCQ,一次响应多个IO请求; 典型响应时间低于0.1ms;
2. 数据库的简介和基本概念
数据库(关系型数据库)
关系型数据库是存储系统,但在存储系统之外,又发展出其他能力:
结构化数据友好;支持事务; 支持复杂查询语言;
非关系型数据库也是存储系统,但是一般不要求严格的结构化;
半结构化数据友好;可能支持事务;可能支持复杂查询语言;
结构化数据管理:写入关系型数据库,以表的形式管理;
数据库语言四大类:
DQL(Data Query Language):数据库查询语言。
DDL(Data Definition Language):数据库定义语言。定义关系模式、删除关系、修改关系模式。
DML(Data Manipulation Language):数据库操纵语言。插入元组、删除元组、修改元组。
DCL(Data Control Language):数据库控制语言。用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果。
数据库完整性包括:实体完整性:要求每个关系(表)有且仅有一个主键,每一个主键值必须唯一,而且不允许为“空”(NULL)或重复; 参照完整性:对于永久关系的相关表,在更新、插入或删除记录时,如果只改其一,就会影响数据的完整性。如删除父表的某记录后,子表的相应记录未删除,致使这些记录称为孤立记录。对于更新、插入或删除表间数据的完整性;
数据库的概念
1)结构化查询语言(Structured Query Language)简称SQL;
2)数据库管理系统(Database Management System)简称DBMS;
3)数据库管理员(Database Administration)简称DBA,功能是确保DBMS的正常高效运行;
SQL常用的3个部分
1)数据查询语言(DQL):其语句也称“数据库检索语句”,用以从表中获得数据,保留字SELECT经常使用,DQL也是所有SQL中用的最多的,其他保留字还有WHERE, ORDER BY, GROUP BY和HAVING这些保留字还与DML一起使用;
2)数据操作语言(DML):其余局包括动词INSERT,UPDATE和DELETE。他们分别用于添加,修改和删除表中的行。也称动作语言;
3)数据定义语言(DDL):DDL主要用于操作数据库。
基础操作
连接数据库
mysql -uroot -padmin;
查看数据库列表
show databases
创建数据库
create database 数据库名称;
删除数据库
drop database 数据库名称;;
修改数据库
alter database 数据库名称 charset=编码格式;
查看当前数据库中所有表
show tables;
创建关系
insert into 关系名 values