MongoDB的核心点是什么,选择是否使用!

MongoDB概述

  • 定义: MongoDB是一个文档数据库,设计目的在于简化应用程序的开发和扩展。
  • 起源: 由DoubleClick创始人Dwight Merriman和Kevin O'Connor于2007年启动,以应对大规模流量需求。

MongoDB发展历程

  • 开发背景: 由于关系型数据库无法满足DoubleClick的大规模数据存储需求,开发了自定义数据库。
  • 开源发布: MongoDB 1.0于2009年发布,提供文档模型、索引、复制功能和实验性分片功能。
  • 设计原则: 快速简单的数据模型,使用Java/JSON,无模式文档,支持水平伸缩和持久性/可用性。

MongoDB的核心优势

  • 基于JSON的数据模型,接近开发者的面向对象设计思维。
  • 灵活动态的模型,简化数据库设计流程。
  • 自动分片、多节点同步和跨中心能力,支持现代化复杂部署。
  • 加速上云能力,通过MongoDB Atlas。

MongoDB的适用场景

  1. 日志记录: 灵活查找和导出,减少开发工作。
  2. 监控数据存储: 无schema设计,方便增加字段,学习成本低。
  3. O2O快递应用: 存储位置信息,实现地理位置查询,方便骑手接单。

选择MongoDB的理由

  • 成本效益:以较低成本解决问题,包括学习、开发、运维成本。
  • 灵活性:适应新项目发展中的不确定性,提供容错性。
  • 特定需求:适合嵌套类型数据存储,简化复杂SQL操作。

MongoDB是否选择使用

  • 应用是否不需要事务和复杂join?
  • 数据模型是否不确定,需要快速迭代开发?
  • 应用是否需要高读写QPS?
  • 是否需要TB或PB级别数据存储?
  • 应用是否需要快速水平扩展?
  • 数据是否不能丢失?
  • 是否需要高可用性?
  • 是否需要大量地理位置或文本查询?

总结

  • MongoDB适合嵌套数据存储,简化关系型数据库中的复杂操作。
  • 实际产品中,不同数据库应相辅相成。
相关推荐
蜡笔小炘13 分钟前
LVS -- 利用防火墙标签(FireWall Mark)解决轮询错误
服务器·数据库·lvs
韩立学长17 分钟前
基于Springboot泉州旅游攻略平台d5h5zz02(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·旅游
Re.不晚1 小时前
MySQL进阶之战——索引、事务与锁、高可用架构的三重奏
数据库·mysql·架构
老邓计算机毕设1 小时前
SSM智慧社区信息化服务平台4v5hv(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·智慧社区、·信息化平台
麦聪聊数据1 小时前
为何通用堡垒机无法在数据库运维中实现精准风控?
数据库·sql·安全·低代码·架构
2301_790300961 小时前
Python数据库操作:SQLAlchemy ORM指南
jvm·数据库·python
m0_736919102 小时前
用Pandas处理时间序列数据(Time Series)
jvm·数据库·python
亓才孓2 小时前
[JDBC]PreparedStatement替代Statement
java·数据库
m0_466525292 小时前
绿盟科技风云卫AI安全能力平台成果重磅发布
大数据·数据库·人工智能·安全
爱学习的阿磊3 小时前
使用Fabric自动化你的部署流程
jvm·数据库·python