数据库分类:
关于数据库的分类其实可以从各个纬度来进行划分,但是我们最常使用的分类还是根据他们存取数据的特点来进行划分,主要分为关系型数据库和非关系型数据库。
1、关系型数据库
关系型数据库管理系统(Relational Database Management System:RDBMS)是指包括相互联系的逻辑组织和存取这些数据的一套程序 (数据库管理系统软件)。关系数据库管理系统就是管理关系数据库,并将数据逻辑组织的系统。
关系型数据库:如 MySQL、Oracle数据库、PostgreSQL、Access、 SQL Server、Sqllite、DB2、MariaDB、Percona Server、Google Fusion Tables、FileMaker、Sybase、dBASE、Clipper、FoxPro、foshub。
2、非关系型数据库(NoSQL)
NoSQL最常见的解释是“non-relational”, “Not Only SQL”也被很多人接受。NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性。
非关系型数据库:如 MongoDB、Redis、Memcache、BigTable、Cassandra、CouchDB、Apache Cassandra、Dynamo、LevelDB。
SQL(StructuredQueryLanguage,结构化查询语言)是一种数据库查询语言和程序设计语言,主要用于管理数据库中的数据,如存取数据、查询数据、更新数据等。
3、关系型数据库与非关系型数据库的区别
简介 | 优点 | 缺点 | |
---|---|---|---|
关系型数据库 | 关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。 | 1、易于维护:都是使用表结构,格式一致; 2、使用方便:SQL语言通用,可用于复杂查询; 3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。 |
1、读写性能比较差,尤其是海量数据的高效率读写; 2、固定的表结构,灵活度稍欠; 3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。 |
非关系型数据库 | 非关系型数据库严格上不是一种数据库,应该是一种数据结构化存储方法的集合,可以是文档或者键值对等 | 1、格式灵活:存储数据的格式可以是key-value形式、文档形式、图片形式等等,使用灵活,应用场景广泛,而关系型数据库则只支持基础类型。 2、速度快:nosql可以使用硬盘或者随机存储器作为载体,而关系型数据库只能使用硬盘; 3、高扩展性; 4、成本低:nosql数据库部署简单,基本都是开源软件。 |
1、不提供sql支持,学习和使用成本较高; 2、无事务处理; 3、数据结构相对复杂,复杂查询方面稍欠。 |