MongoDB入门

简介

MongoDB是一个开源、高性能、支持海量数据存储的文档型数据库

是NoSQL数据库产品中的一种,是最像关系型数据库(MySQL)的非关系型数据库

内部采用BSON(二进制JSON)格式来存储数据,并支持水平扩展。

MongoDB本身并不是完全免费的,它对于一些商业场景是收费的。

MongoDB的收费条款和价格因版本、支持类型和付费周期而异。

特点

数据存储量较大,甚至是海量

对数据读写的响应速度要求较高

某些数据安全性要求不高,可以接受一定范围内的误差

内部实现

与redis和mysql对比

与Redis的对比

Redis纯内存数据库,内存不足触发淘汰策略

结构化存储格式(Bson),方便扩展
与MySQL的对比

MongoDB不支持事务和多表操作

MongoDB支持动态字段管理
查询效率对比

Redis > MongoDB > MySQL

使用场景

游戏装备数据、游戏道具数据

特征:修改频度较高
物流行业数据

特征:地理位置信息,海量数据
直播数据、打赏数据、粉丝数据

特征:数据量大,修改频度极高
日志数据

特征:数据量巨大,结构多变

docker安装mongoDB

bash 复制代码
docker pull mongo

docker run -itd --name mongo -p 27017:27017  -v ~/data/mongodata:/data  mongo --auth

-p 27017:27017 :映射容器服务的 27017 端口到宿主机的 27017 端口。外部可以直接通过 宿主机 ip:27017 访问到 mongo 的服务。
--auth:需要密码才能访问容器服务。
相关推荐
初听于你几秒前
高频面试题解析:算法到数据库全攻略
数据库·算法
BTU_YC6 小时前
Neo4j查询计划完全指南:读懂数据库的“执行蓝图“
数据库·neo4j
非极限码农6 小时前
Neo4j图数据库上手指南
大数据·数据库·数据分析·neo4j
mit6.8246 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
苏打水com7 小时前
数据库进阶实战:从性能优化到分布式架构的核心突破
数据库·后端
shan~~8 小时前
linux达梦数据库操作
linux·数据库·chrome
武文斌778 小时前
项目学习总结:LVGL图形参数动态变化、开发板的GDB调试、sqlite3移植、MQTT协议、心跳包
linux·开发语言·网络·arm开发·数据库·嵌入式硬件·学习
CoderIsArt9 小时前
SQLite架构
数据库·sqlite
lixora9 小时前
银河麒麟高级服务器操作系统(ADM64 版)V10(SP1)搭建 Oracle 19c RAC
数据库
郝学胜-神的一滴9 小时前
使用Linux的read和write系统函数操作文件
linux·服务器·开发语言·数据库·c++·程序人生·软件工程