初识MongoDB及安装
前言
传统的数据库如MySQL在应对三高场景时显得力不从心
三高:
High performance 对数据库高并发读写的需求
High Storage 对海量数据的高效率存储和 访问的需求
High Scalability && High Availability 对数据库的高可扩展行和高可用性的需求
MongoDB应用场景
- 社交场景:使用MongoDB存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人等功能
- 游戏场景:使用MongoDB存储游戏用户信息,用户的装备等直接以内嵌文档形式存储,方便查询、高效率存储与访问
- 物流场景:使用MongoDB存储订单信息,订单状态在运输过程中会不断更新,以MongoDB内勤数组的形式来存储,一次性查询就能将订单的所有变更读取处理
- 物联网场景:使用MongoDB存储所有接入智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度分析
- 视频直播:使用MongoDB存储用户信息、点赞互动信息等
这些场景中,数据操作方面的共同特点是:数据量大、读写操作频繁、价值较低的数据,对事务性要求不高
一、MongoDB核心概念
1、库
==mongodb中的库就类似于传统关系型数据库中库的概念,用来通过不同库隔离不同应用数据==。mongodb中可以建立多个数据库。每一个库都有自己的集合和权限,不同的数据库也放置在不同的文件中。默认的数据库为"test",数据库存储在启动指定的data目录中。
2、集合
==集合就是MongoDB文档组,类似于RDBMS(关系数据库管理系统: RelationalDatabase Management System)中的表的概念==。
集合存在于数据库中,一个库中可以创建多个集合。每个集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
3、文档
文档集合中一条条记录,是一组键值(key-value)对(即BSON)。MongoDB的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是MongoDB非常突出的特点。
一个简单的文档例子如下:
{ "site" : " www.gedeshidai.com" , "name":"哥的时代"}
4、关系总结
MySQL | MongoDB |
---|---|
数据库(DataBase) | 数据库(DataBase) |
数据表(Table) | 数据集合(Collection) |
数据行(Row) | 数据文档(Document) |
列/字段(Column) | 字段(Field) |
索引(Index) | 索引(Index) |
二、MongoDB的安装
博主这里推荐使用Docker进行安装MongoDB,既方便,又实用
使用Docker安装MongoDB的第一步是先进行拉取镜像:
sudo docker pull mongodb/mongodb-community-server
查看镜像情况
sudo docker images
然后创建容器
sudo docker run --name mongo -d mongodb/mongodb-community-server:latest
查看容器运行情况
sudo docker ps
连接到 MongoDB 部署mongosh
sudo docker exec -it mongo mongosh
查看数据库命令
show dbs
总结
以上就是MongoDB的基础知识及安装教程,希望对你有所帮助。
积跬步以至千里,积怠惰以至深渊。时代在这跟着你一起努力哦!
- 点赞
- 收藏
- 关注作者
评论(0)