SQL

关系型数据库

常见SQL

  • MySQL
  • Oracle
  • SQLServer
  • PostGreSQL

特点

  • 数据结构化存储在二维表中
  • 支持事务的原子性(A)、一致性(C)、隔离性(I)、持久性(D)
  • 支持使用SQL语言对存储在其中的数据进行操作

适用场景

  • 数据之间存在着一定关系,需要关联查询数据的场景
  • 需要事务支持的业务场景
  • 需要使用SQL语言灵活操作数据的场景

选型

  • 数据库使用的广泛性
  • 数据库的可扩展性
  • 数据库的安全性和稳定性
  • 数据库所支持的操作系统
  • 数据库的使用成本
    • 本身的成本
    • 学习、使用的成本

MySQL

可扩展性

  • 支持基于二进制日志的逻辑复制
  • 存在多种第三方数据库中间层,支持读写分离及分库分表

安全性和稳定性

  • MySQL主从复制集群可达到99%的可用性
  • 配合主从复制高可用架构可以达到99.99%的可用性
  • 支持对存储在MySQL的数据进行分级安全控制

支持的操作系统

  • 支持Linux系统
  • 支持Windows系统

使用成本

  • 社区版免费
  • 使用人员众多,社区活跃,可以方便的获取技术支持

NoSQL

Not only SQL

常见NoSQL

  • HBase
  • MongoDB
  • Redis
  • Hadoop

特点

  • 存储结构灵活,没有固定的结构
  • 对事务的支持比较弱,但对数据的并发处理性能高
  • 大多不使用SQL语言操作数据

适用场景

  • 数据结构不固定的场景
  • 对事务要求不高,但读写并发比较大的场景
  • 对数据的处理操作比较简单的场景