什么是SQL数据库?
关系型数据库是依据关系模型来创建的数据库。而所谓的关系模型就是“一对一、一对多、多对多”等关系模型,这是一种二维表格模型,因此一个关系型数据库就是由二维表及其之间的联系组成的一个数据组织。
关系型数据库可以很好地存储一些关系模型的数据,比如一个老师对应多个学生的数据(“多对多”),一本书对应多个作者(“一对多”),一本书对应一个出版日期(“一对一”)。
关系模型包括数据结构(数据存储的问题,二维表)、操作指令集合(SQL语句)、完整性约束(表内数据约束、表与表之间的约束)。
关系型数据库介绍:
Oracle数据库:甲骨文公司研发的一款关系型数据库管理系统。目前是最流行的,可靠性好,移植性好,性能效率高
DB2:IBM公司研发的一款关系型数据库管理系统。适用于大型应用系统
SQL Server:由Microsoft公司推出的关系型数据库管理系统。具有可伸缩性好与软件集成度高。
PostgreSQL:由加州大学伯克利分校计算机系开发的ORDBMS(对象关系型数据库管理系统),支持大部分SQL标准并提供了新特性
什么是NoSQL数据库?
非关系型数据库主要是基于“非关系模型”的数据库。
非关系模型有:
1、列模型:存储的数据是一列列的。关系型数据库以一行作为一个记录,列模型数据库以一列作为一个记录(这种模型,数据即索引,IO很快,主要是一些分布式数据库)
2、键值对模型:比如Hbase。存储的数据是一个个“键值对”,比如key value
3、文档类模型:比如MongoDB,以一个文档来存储数据,有点类似“键值对”。
NoSQL 数据库专门构建用于特定的数据模型,并且具有灵活的架构来构建现代应用程序。NoSQL 数据库因其易于大规模开发、强大的功能和良好的性能而被广泛认可。它们使用各种数据模型,其中包括文档、图形、键值、内存和搜索。
用于应用程序开发的主要数据模型是由关系数据库(如 Oracle、DB2、SQL Server、MySQL 和 PostgreSQL)使用的关系数据模型。直到 21 世纪中后期,才开始大规模采用和使用其他数据模型。为了对这些新类别的数据库和数据模型进行区分和分类,创造了术语“NoSQL”。通常术语“NoSQL”与“非关系”可互换使用。
NoSQL 数据库使用各种数据模型来访问和管理数据,例如文档、图形、键值、内存和搜索。这些类型的数据库专门针对需要大数据量、低延迟和灵活数据模型的应用程序进行了优化,这是通过放宽其他数据库的某些数据一致性限制来实现的。
NoSQL数据库的四大优点
NoSQL 数据库非常适合许多现代应用程序,例如移动、Web 和游戏等应用程序,它们需要灵活、可扩展、高性能和功能强大的数据库以提供卓越的用户体验。
- 灵活性:NoSQL 数据库通常提供灵活的架构,以实现更快速、更多的迭代开发。灵活的数据模型使 NoSQL 数据库成为半结构化和非结构化数据的理想之选。
可扩展性:NoSQL 数据库通常被设计为通过使用分布式硬件集群来横向扩展,而不是通过添加昂贵和强大的服务器来纵向扩展。一些云提供商在后台将这些操作处理为完全托管服务。
高性能:NoSQL
数据库针对特定的数据模型(如文档、键值和图形)和访问模式进行了优化,这与尝试使用关系数据库完成类似功能相比可实现更高的性能。
强大的功能:NoSQL 数据库提供功能强大的 API 和数据类型,专门针对其各自的数据模型而构建。
NoSQL数据库与SQL关系型数据库的区别