1、 数据库分为关系型数据库和非关系型数据库。
关系型数据库(一表或多表):
- Oracle:是一个开放式商品化关系型数据库管理系统
- DB2:应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下
- Microsoft SQL Server:全面的数据库平台,使用集成的商业智能 (BI)工具提供了企业级的数据管理。
- MySQL:是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。(常用)
非关系型数据库(key->value):
- MongoDB:是一个面向文档的开源NoSQL数据库。(常用)
- Redis:是最著名的键值存储。Redis是用C语言编写的。它是根据BSD授权的。(常用)
- Memcached:是一个开源、高性能、分布式内存缓存系统,旨在通过减少数据库负载来加速动态web应用程序。(常用)
- Cassandra:Cassandra是一个用于处理大量结构化数据的分布式数据存储系统。
- HBase:是谷歌为BigTable数据库设计的分布式非关系数据库。
- Neo4j:称为原生图数据库,因为它有效地实现了属性图模型,一直到存储层。
- Oracle NoSQL:实现了从用户定义的键到不透明数据项的映射。
- Amazon DynamoDB:使用了一个NoSQL数据库模型,它是非关系型的,允许文档、图形和列在它的数据模型之间。
- Couchbase:是一个用于交互式web应用程序的NoSQL文档数据库。它具有灵活的数据模型,易于扩展,提供一致的高性能。
- CouchDB:是一个开源的NoSQL数据库,使用JSON存储信息,JavaScript作为查询语言。
2、关系型与非关系型数据库对比
关系型数据库
优点
- 复杂查询:可以在一表或者多表之间做非常复杂的数据查询(join链表查询,where)
- 一致性:事务处理数据对数据安全性能很高,冗余低,数据完整性好。
- 容易理解:逻辑类似常见的表格的方式展现出来。
缺点
- 每次操作都要进行SQL语句的解析,消耗较大
- 对于高并发项目无法满足需求,读写能力不足
- 进行加锁操作的时候,造成数据库的负担。
- 存储数据的不灵活。比如多表存储的时候。
非关系型数据库
优点
- 高并发,读写能力强
- 弱化数据数据结构一致性,更加灵活 <