数据库的定义与含义

发表时间: 2022-02-18 10:45

数据库(Database)是按照数据结构来组织,储存和管理数据的仓库。数据库通常分为层次式数据库,网络式数据库和关系型数据库三种。而不同的数据结构是按照不同的数据结构来联系和组织的。如今常见的数据库模型分为关系型数据库(SQL)和非关系型数据库(NoSQL)两种

关系型数据库

关系型数据库是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

关系就是二维表,并且有如下性质:

  • 表中的行列次序并不重要
  • 行row:表中的每一行,又称为一条记录
  • 列column:表中的每一列,称为属性,字段 field域
  • 主键PK(Primary key):用于唯一确定一个记录的字段 外键是FK
  • 域domain:属性的取值范围,如,性别只能取“男”和“女”两个值

常见的关系型数据库:

  • 大型:Oracle,DB2等
    Oracl数据库(甲骨文) 大型数据库,收费的
  • 中型:SQL Server,MySQL
    MySQL数据库是中小型数据库,免费开源的,是java开发常见的数据库
  • 小型:Access等

关系型数据库的优缺点:
关系型数据库最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有所要求的系统中。
优点:容易理解,使用方便,易于维护
缺点:
1-数据读写必须经过sql解析,大量数据,并发下读写性能不足。硬盘I/O是一个很大的瓶颈
2-具有固定的表结构,因此扩展困难。
3-多表的关联查询导致性能欠佳。

非关系型数据库

NoSQL数据储存不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势
1-搜索键值存取数据库(key-value):可以通过key来添加,查询或者删除数据库,因为使用了key主键访问,所以获得很高的性能及扩展性。对于IT系统来说优势在于简单,易部署,高并发。
2-列存储数据库:将数据储存在列族中,一个列族储存经常被一起查询的相关数据,比如我们经常查询人类的名字和年龄,而非薪资,这种情况下年龄和姓名放在一个列族中,薪资会放到另外一个列族中。
3-面向文档数据库:可以看做键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。面向文档数据库会将数据以文档形式存储。

  • 特点:非结构化储存,基于多维关系模型,具有特有的使用场景
  • 优点:
    高并发,大数据下读写能力较强。(基于键值对的,可以想象成表中主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高)
    基于支持分布式,易于扩展可伸缩
    简单,弱结构化存储
  • 缺点:事务支持较弱,通用性差,无完整约束复杂业务场景支持交差