数据库的选型 | 青训营笔记

110 阅读3分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 8 天

数据库是存储和管理数据的重要工具,下面是关于各种数据库的分类、优缺点和如何选择以及使用场景的文章。

数据库的分类及优缺点

主流的数据库分为三大类:关系型数据库(Relational Database)非关系型数据库(NoSQL Database)文件型数据库(File-based Database)

  • 关系型数据库是最常用的数据库,其中包括 MySQL、Oracle、Microsoft SQL Server等。它们支持SQL语言,使用表和关系模型存储数据。关系型数据库的优点是数据组织结构清晰,易于维护和查询;缺点是在高并发的情况下性能会受到影响,同时不适用于大量非结构化数据的存储。

  • 非关系型数据库是近年来较为流行的数据库类型,其中包括 MongoDB、Cassandra、Redis等。它们不支持SQL语言,以文档、图、键值对等形式存储数据。非关系型数据库的优点是可以高效处理大量非结构化数据,同时具有很好的扩展性和高可用性;缺点是数据组织结构不够清晰,查询难度较大。

  • 文件型数据库是一种使用文件存储数据的数据库。文件型数据库的数据通常以简单的文本文件或二进制文件的形式存储,例如 CSV(Comma-Separated Values)文件、XML文件等。这种数据库非常简单易用,适用于存储小量数据或需要简单的数据存储和读取功能的场景。然而,文件型数据库的缺点是不支持复杂的数据管理和操作,如数据的索引、排序、删除、修改等操作都需要自己编写代码实现。此外,文件型数据库在多用户访问、高并发访问等情况下容易发生数据冲突和数据完整性问题。因此,在规模较大、需要复杂数据管理和操作的场景中,通常不会选择文件型数据库,而是选择关系型数据库或非关系型数据库。

使用场景

  1. 关系型数据库(Relational Database):关系型数据库是最常用的数据库,适用于存储结构化的数据,如订单、客户、员工等信息。常见的关系型数据库有 MySQL、PostgreSQL、SQL Server等。
  2. 非关系型数据库(NoSQL Database):非关系型数据库适用于存储非结构化的数据,如用户评论、社交媒体信息、日志数据等。常见的非关系型数据库有 MongoDB、Cassandra、Redis等。
  3. 文件型数据库:文件型数据库适用于存储小量简单的数据,如客户信息、产品信息等。
  4. 图形数据库(Graph Database):图形数据库适用于存储关系数据,如用户关系、物品关系等。常见的图形数据库有 Neo4j、TigerGraph等。
  5. 时序数据库(Time Series Database):时序数据库适用于存储时间序列数据,如股票价格、气温数据等。常见的时序数据库有 InfluxDB、Prometheus等。
  6. 分布式数据库(Distributed Database):分布式数据库适用于存储大量数据,如互联网公司的用

总结

根据不同的使用场景选择合适的数据库,或者结合多种数据库存储不同类型的数据。在这次青训营的项目中采用关系型数据库存储用户信息等结构化的数据,使用Redis对数据进行缓存。