关系型数据库,是指采用了“关系模型”来组织数据的数据库,它以“行和列”的形式存储数据,以便于用户理解。关系型数据库一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为“二维表格模型”,而一个关系型数据库,就是由二维表及其之间的关系组成的一个数据组织。

一、 关系型数据库的特点

1、存储方式:传统的关系型数据库采用表格的储存方式,数据以行和列的方式进行存储,读取和查询都十分方便。

2、存储结构:关系型数据库按照结构化的方法存储数据,每个数据表都必须对各个字段定义好(也就是先定义好表的结构),再根据表的结构存入数据,这样做的好处就是由于数据的形式和内容,在存入数据之前就已经定义好了,所以整个数据表的“可靠性”和“稳定性”都比较高,但带来的问题就是一旦存入数据后,如果需要修改数据表的结构就会十分困难。

3、存储规范:关系型数据库为了避免重复,以规范化数据和充分利用好存储空间,把数据按照最小关系表的形式进行存储,这样数据的管理就可以变得很清晰、一目了然,当然这主要是一张数据表的情况。如果是多张数据表,那么情况就不一样了,由于数据涉及到多张数据表,且数据表之间存在着复杂的关系,随着数据表数量的增加,数据的管理会越来越复杂。

4、扩展方式:由于关系型数据库将数据存储在数据表中,数据操作的瓶颈出现在多张数据表的操作中,而且数据表越多这个问题越严重,如果要缓解这个问题,只能提高处理能力,也就是选择速度更快、性能更高的计算机。这样的方法虽然可以拓展一定的空间,但这样的拓展空间是非常有限的,也就是关系型数据库只具备“纵向扩展能力”。

5.查询方式:关系型数据库采用“结构化查询语言(即SQL)”来对数据库进行查询,SQL早已获得了各个数据库厂商的支持,成为数据库行业的标准,它能够支持数据库的CRUD(增加,查询,更新,删除)操作,具有非常强大的功能。SQL可以采用类似索引的方法来加快查询操作。

6、规范化:在数据库的设计开发过程中,开发人员通常会面对同时需要对一个或者多个数据实体(包括数组、列表和嵌套数据)进行操作,这样在关系型数据库中,一个数据实体一般首先要分割成多个部分,然后再对分割的部分进行规范化。规范化以后再分别存入到多张关系型数据表中,这是一个复杂的过程。好消息是,随着软件技术的发展,有相当多的软件开发平台都提供了一些简单的解决方法,例如,可以利用ORM层(也就是对象关系映射)来将数据库中的对象模型,映射到基于SQL的关系型数据库中去,以及进行不同类型系统的数据之间的转换。

7、事务性:关系型数据库强调“ACID规则”,即:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)),这样可以满足对事务性要求较高或者需要进行复杂数据查询的数据操作,而且可以充分满足数据库操作的高性能和操作稳定性的要求。关系型数据库十分强调数据的“强一致性”,对于事务的操作有很好的支持。关系型数据库可以控制事务的原子性细粒度,并且一旦操作有误或者有需要,可以马上回滚事务。

8、读写性能:关系型数据库十分强调数据的一致性,并为此降低了读写性能。虽然关系型数据库存储数据和处理数据的可靠性很不错,然而一旦面对海量数据的处理时,效率就会变得很差,特别是遇到“高并发读写”的时候,性能就会下降得非常厉害。

9、授权方式:关系型数据库,常见的有: Oracle,SQL Server,DB2,MySQL等。除了MySQL的大多数关系型数据库,如果要使用都需要支付一笔价格高昂的费用。而免费的MySQL,性能受到了诸多的限制。

二、 常用的关系型数据库

1、Sybase

Sybase数据库是由Sybase公司于1987年推出的数据库产品,主要支持“UNIX、Windows、Novell Netware”等环境。

Sybase基于“客户/服务器”架构,应用被分配到多台机器上执行,一台机器既可以是客户机,也可以是服务机,从而充分利用了各种现有资源,并且平衡了各机器节点之间的负载。

Sybase提供了应用程序接口,鼓励编写第三方应用程序接口,由于该接口在不同的平台可以使用相同的调用,因而具有很好的平台移植性。加上对“存储过程、触发器、多线索化”的支持,Sybase无疑成为一种高性能的数据库。

Sybase主要由三部分组成:数据库管理系统“Sybase SQL Server”;一组前端工具“Sybase SQL Toolset”用于支持数据库系统的建立与开发;接口“Sybase Open Client/ Open Server”用于与其他数据进行连接。

2、 SQL Server

SQL Server是微软公司推出的,应用于Windows操作系统的关系型数据库产品。由于SQL Server是微软公司从Sybase公司购买技术而开发的产品,因此,SQL Server数据库与Sybase数据库完全兼容,也支持“客户/服务器”结构。

目前,SQL Server的最新版本是2017年推出的“SQL Server 2017”。SQL Server易操作性强,很多开发环境都支持SQL Server,因此深受广大用户喜爱。

SQL Server通过以“SQL Server Management Studio”为中心的工具,来实现对数据库的管理、查询等,提供多个SQL Server多个拷贝之间,以及与其他数据库系统的复制服务。SQL Server还提供了一个图形化工具集和向导,引导数据库管理员执行各种任务。

在SQL Server中,为了有效管理数据库中的空间,将其中的文件划分为一个或多个组,称为“文件组”。文件组的空间管理,主要是通过分配系统来进行的。分配系统将文件组中的数据文件,划分为固定大小的、称为“页”的单元,通常以若干个连续页为单位进行分配,来降低空间浪费和碎片数量。当文件组中有不止一个文件时,分配系统通过“proportional fill”算法来进行盘区的分配(也就是刚刚说的连续页)。

3、 Oracle

Oracle是甲骨文公司的一款关系数据库管理系统,其在数据库领域一直处于领先地位。

1984年,Oracle首先将关系数据库转到了桌面计算机上,然后Oracle 5率先推出了“分布式数据库”、“客户/服务器结构”等新的概念。Oracle 6首创“行锁定”模式,以及对“对称多处理计算机”的支持,Oracle 8增加了对象技术,成为“关系 — 对象数据库系统”。

目前,Oracle产品覆盖了大中、小型机等几十种机型,Oracle数据库成为世界上广泛使用的关系数据系统之一。

Oracle认为,一个数据库是由存储在文件中的信息组成,并通过一个实例来访问。这个实例是共享存储区和一组进程的集合,主要有“用户进程、服务器进程、后台进程”三种类型。Oracle的逻辑结构是由一个或者多个表空间组成的,每个表空间又由一个或者多个数据文件组成,表空间又可以进一步被划分为若干个单元,成为段。段又可分为四种类型:数据段、索引段、临时段、撤销段。Oracle还支持多种索引,以及对这些索引和表的划分。这使得Oracle具备更加快速的备份恢复能力(可以单独的对分区划分,更加细粒度)以及更加优化的查询性能。

4、 MySQL

MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前是oracle旗下的产品。MySQL是目前流行的关系型数据库管理系统之一,在Web应用方面,MySQL是最好的“关系型数据库管理系统”应用软件。

MySQL将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,从而提高了速度与灵活性。

MySQL所使用的SQL语言,是用于访问数据库的常用标准化语言。MySQL软件采用了“双授权”政策,分为“社区版”和“商业版”。由于其“体积小、速度快、总体拥有成本低”,尤其是“开放源码”这一特点,一般中小型网站的开发,都选择MySQL作为网站数据库。

亿速云在今年春节期间,新上线了三款“云数据库”的产品和服务,分别为:云数据库MySQL、云数据库Redis以及云数据库Memcached。其中,亿速云的云数据库MySQL,是一种即开即用、稳定可靠的在线数据库服务,具有多重的安全防护措施和完善的性能监控体系,支持“纯SSD云盘全闪存、双节点数据互为备份同步、跨节点自动备份以及可弹性扩展”等强劲功能,为用户提供专业的数据库备份、恢复及优化方案。