项目使用Mongodb的理由 | 青训营笔记

216 阅读2分钟

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

为什么使用Mongodb

短视频中需要存储大量的视频数据、用户信息、评论、点赞等元数据。这些数据具有复杂的关系和结构,且随着业务的发展而变化。

在 MySQL 中,这些数据通常需要使用多张表来存储,并使用外键关联这些表,这样可以保证数据的完整性和一致性。但是这样的数据模型很难随着业务的变化进行调整,并且在处理大量数据时可能会有性能瓶颈。

而 MongoDB 是一个面向文档的数据库,它将所有数据存储在一个文档中,这样可以更好地适应短视频应用中的数据结构变化。并且 MongoDB 支持内嵌文档和数组类型,可以方便地存储和查询关联数据。

另外MongoDB 支持聚合查询,利用这个特性可以很方便的对数据进行统计分析

MySQL和mongodb一起使用的可能性:

MySQL和mongodb是可以一起使用的(我查阅的资料叫“多模型数据库”)

优点:

  1. 不同的数据模型使用不同的数据库进行存储和查询,能够更好地利用数据库的性能优势,提高应用程序的性能
  2. 使用不同的数据库能够更好地适应不同的数据模型,提高数据的灵活性
  3. 使用不同的数据库能够对数据进行分离,提高数据的安全性和可维护性
  4. 结合MySQL和MongoDB的高可用性和故障转移特性能够提供更高的可用性
  5. MongoDB 支持聚合查询和统计分析, 而MySQL 支持复杂的SQL查询,在数据分析上结合两者的优势能够提供更好的分析结果

缺点:

  1. 使用多种数据库需要维护多个数据库实例,增加系统的复杂性
  2. 使用多种数据库需要对不同的数据库进行维护和管理,增加了维护成本
  3. 在不同的数据库之间进行数据同步和关联查询时可能会出现数据一致性问题
  4. 在数据库之间进行数据迁移时会产生更多的问题
  5. 如果不能很好的管理和控制权限,使用多种数据库会导致数据安全性问题, 数据可能会被非法访问或篡改