数据库介绍

数据库介绍

1. 什么是数据库

       数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
       简单来说是本身可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、截取、更新、删除等操作。

       严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。
       这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

2. 什么是数据

       数据就是数值,也就是我们通过观察、实验或计算得出的结果。数据有很多种,最简单的就是数字,也可以是文字、图像、声音等等。另外数据也可以指对客观事件进行记录并用以鉴别区分的符号,是对客观事物的性质、状态以及相互关系等进行记载的物理符号或这些物理符号的组合。它是可识别的、抽象的符号。

 

3. 数据库适合存储什么数据?

1) 重要
2) 非二进制的,文本形式的更适合于存放到数据库中
3) 有关系,有复杂逻辑的数据
4) 数据管理复杂的

 

4. DBA

4.1 什么是DBA

       DBA即数据库管理员(Database Administrator),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。

4.2 DBA的职责

       DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。

4.3 DBA分类

       在国外,也有公司把DBA称作数据库工程师(Database Engineer),两者的工作内容基本相同,都是保证数据库服务7×24小时的稳定高效运转,但是需要区分一下DBA和数据库开发工程师(Database Developer):
       1)  数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;
       2)  DBA的主要职责是运维和管理数据库管理系统,侧重于运维管理。

4.4 运维DBA各等级大致工作范畴

官方对DBA工作范畴规划:

一、初级DBA:
1) 安装部署
2) 基本参数配置
3) 备份策略设计与实现

PS:这一级别的能力需要Linux运维人员必须要掌握的

二、中级DBA:
1) 故障处理能力(备份或者其他手段)
2) MySQL监控
3) 基本优化能力(索引、执行计划、慢日志分析)----->隐含条件:有一定的SQL能力
4) 主从复制的基本管理、应用、故障处理

三、高级DBA:
1) MySQL性能调优:对整体架构、“业务”、“用户行为”深入了解,要有很扎实的SQL能力
2) 高性能、高可用架构:对整体架构、“业务”、“用户行为”深入了解

5. DBMS

5.1 什么是DBMS

       DBMS一般指数据库管理系统。

       数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过dbms进行数据库的维护工作。它可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。大部分DBMS提供数据定义语言DDL(Data Definition Language)和数据操作语言DML(Data Manipulation Language),供用户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。
       数据库管理系统是数据库系统的核心,是管理数据库的软件。数据库管理系统就是实现把用户意义下抽象的逻辑数据处理,转换成为计算机中具体的物理数据处理的软件。有了数据库管理系统,用户就可以在抽象意义下处理数据,而不必顾及这些数据在计算机中的布局和物理位置。

5.2 DBMS的作用

1) 更有条理的存储和查询数据
2) 提供更高级的数据管理方式(备份、恢复、优化、安全等等)

5.3 DBMS分类及简介

DBMS分为关系型数据库(RDBMS)和非关系型数据库(NoSQL)

一、RDBMS:关系型数据库

关系型数据库的特点:
1) 二维表
2) 典型产品:传统企业一般使用 Oracle,互联网企业一般使用MySQL
3) 数据存取是通过SQL
4) 最大特点,数据安全性方面强(ACID)

二、NoSQL:非关系型数据库(Not only SQL)

不是否定关系型数据库,而是做为关系型数据库的的补充。

三、RDBMS与NoSQL对比

1) web1.0时代

    企业提供内容,用户浏览,所以关系型数据库够用,并发并不高,所以不需要NoSQL。

2) web2.0时代

    核心是企业提供平台,用户参与提供内容。这时关系型数据库无法满足需求了。

3) 2003 NoSQL出现

    memcached诞生,关注的点是性能,而安全性关注比较低。随着安全性需求不断提升,所以有了redis。

四、非关系型数据库 redis 特点:

 

1) 依然高性能高并发
2) 数据持久化的功能
3) 支持多数据类型,主从复制和集群
4) 管理不再使用SQL了

五、NoSQL特性总览

1) 不是否定关系型数据库,而是作为补充,现在也有部分替代的趋势。
2) 关注高性能,高并发,灵活性,忽略和上述无关的功能。
3) 现在也在提升安全性和使用功能。
4) 典型产品:Redis(持久化缓存,两个半天)、MongoDB(最接近关系型数据的NoSQL)、Memcached。
5) 管理不适用SQL管理,而是用一些特殊的 API 或 数据接口。

六、NoSQL的分类、特点、产品

键值(KV)存储:Memcached、Redis
列存储(column-oriented):HBASE(新浪,360)、Cassandra(200台服务器集群)
文档数据库(document-oriented):MongoDB(最接近关系型数据库的NoSQL)
图形存储(Graph):Neo4j

6. 数据库常见产品

 

Oracle
MySQL
MariaDB
perconaDB
微软:SQL Server
IBM:DB2
PostgreSQL
MongoDB
Redis
最后三个目前广泛应用于大型互联网公司

 

 

 

posted @ 2018-05-08 15:32  迷失方向の風  阅读(170)  评论(0)    收藏  举报