相信作为互联网大数据时代的人员,对于数据库并不陌生。数据库实际上是文件的集合和用于存储数据的仓库。它本质上是一个文件系统。数据库以特定格式存储数据。用户可以添加,删除,修改和检查存储的数据。数据有两类即是关系型数据库和非关系型数据库。那么关系型数据库和非关系型数据库是什么?有什么优缺点?
一、关系型数据库是什么?
关系型数据库是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。简单说,关系型数据库是由多张能互相连接的表组成的数据库。
优点
1.都是使用表结构,格式一致,易于维护。
2.使用通用的SQL语言操作,使用方便,可用于复杂查询。
3.数据存储在磁盘中,安全。
缺点
1.读写性能比较差,不能满足海量数据的高效率读写。
2.不节省空间。因为建立在关系模型上,就要遵循某些规则,比如数据中某字段值即使为空仍要分配空间。
3.固定的表结构,灵活度较低。
常见的关系型数据库有Oracle、DB2、PostgreSQL、MicrosoftSQLServer、MicrosoftAccess和MySQL等。
二、非关系型数据库是什么?
非关系型数据库又被称为NoSQL(NotOnlySQL),意为不仅仅是SQL。通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
优点
1.非关系型数据库存储数据的格式可以是key-value形式、文档形式、图片形式等。使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。
2.速度快,效率高。NoSQL可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘。
3.海量数据的维护和处理非常轻松。
4.非关系型数据库具有扩展简单、高并发、高稳定性、成本低廉的优势。
5.可以实现数据的分布式处理。
缺点
1.非关系型数据库暂时不提供SQL支持,学习和使用成本较高。
2.非关系数据库没有事务处理,没有保证数据的完整性和安全性。适合处理海量数据,但是不一定安全。
3.功能没有关系型数据库完善。
三、关系型数据库V.S.非关系型数据库
关系型数据库的最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,如典型的银行系统。
但是,在网页应用中,尤其是SNS应用中,一致性却不是显得那么重要,用户A看到的内容和用户B看到同一用户C内容更新不一致是可以容忍的,或者说,两个人看到同一好友的数据更新的时间差那么几秒是可以容忍的,因此,关系型数据库的最大特点在这里已经无用武之地,起码不是那么重要了。
相反地,关系型数据库为了维护一致性所付出的巨大代价就是其读写性能比较差,而像微博、facebook这类SNS的应用,对并发读写能力要求极高,关系型数据库已经无法应付,因此,必须用新的一种数据结构存储来代替关系数据库。
关系数据库的另一个特点就是其具有固定的表结构,因此,其扩展性极差,而在SNS中,系统的升级,功能的增加,往往意味着数据结构巨大变动,这一点关系型数据库也难以应付,需要新的结构化数据存储。
于是,非关系型数据库应运而生,由于不可能用一种数据结构化存储应付所有的新的需求,因此,非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合。必须强调的是,数据的持久存储,尤其是海量数据的持久存储,还是需要一种关系数据库这员老将。
以上就是关于关系型数据库和非关系型数据库是什么,以及关系型数据库和非关系型数据库有什么优缺点的全部内容介绍,想了解更多关于数据库的信息,请继续关注。