数据库可以分为关系型数据库和非关系型数据库,常见的数据库如下
关系型数据库
关系型数据库是一种采用关系模型来组织数据的数据库,它以行和列的形式存储数据,以便于用户理解。关系型数据库中的数据以二维表的形式组织,被称为表,一组表组成了数据库。
关系型数据库的查询方式通常使用结构化查询语言(SQL)进行。SQL语言能够支持数据库的CRUD(增加,查询,更新,删除)操作,具有非常强大的功能。
Mysql是最常见的数据库,特点是常用,性能高,体积小,兼容性好。测试的大部分项目都是Mysql数据库。
SQL Server 是由微软开发的一款关系型数据库管理系统,特点是图形化界面操作方便,是大学的时候学习的一种数据库。
TiDB是能够承载海量数据的 OLTP 型数据库,支持完整的分布式事务,在架构上提供弹性水平扩展能力,兼容Mysql,现在被很多公司使用。
非关系型数据库
Redis是一个高速缓存数据库,是一种key-value(键值对)形式的存储系统,Redis的数据是放在内存里的,所以读写会很快,Redis才能实现持久化(两种实现方式)
Redis用作缓存,优点(1.可以减轻数据库压力 2.可以提高查询效率)2.点赞数,访问量
3.鉴权,cookie和session登陆成功后,将对应的可以和value放到redis里,下次如果再进来,先访问redis,如果说key存在,说明登陆过,鉴权通过了,如果key不存在,说明鉴权失败,去重新登陆。
MongoDB是一款开源、跨平台、分布式,具有大数据处理能力的文档存储数据库。
文档数据库MongoDB用于记录文档结构的数据,比如JSON、XML结构的数据。
MongoDB的主要特征
- 高性能。提供JSON、XML等可嵌入数据快速处理功能,提供文档的索引功能,以提高查询速度;
- 丰富的查询语言。为数据聚合、结构文档、地理空间提供丰富的查询功能;
- 高可用性。提供自动故障转移和数据冗余处理功能;
- 水平扩展能力。提供基于多服务器集群的分布式数据处理能力,具体处理时分「主从」和「权衡」(基于Hash自动推选)两种处理模式;
- 支持多种存储引擎。MongoDB提供多种存储引擎,
WiredTiger引擎
、MMAPv1引擎
是基于硬盘读写的存储引擎,In-Memory引擎
是基于内存的存储引擎;