mongo 的安装与基本的认识 – 掘金

mongo 的安装与基本的认识 – 掘金这是我参与 11 月更文挑战的第 1 天 活动详情查看 2021 最后一次更文挑战 最近本人在学习云函数 云函数里面的云数据库 不管是腾讯云还是阿里云使用的数据库都是 monggoDB 阿里云使用的 mongoDB 数据库版本为 3 4 腾讯云使用的版本

大家好,欢迎来到IT知识分享网。

mongo 的安装与基本的认识 - 掘金

「这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战」

最近本人在学习云函数, 云函数里面的云数据库,不管是腾讯云还是阿里云使用的数据库都是monggoDB.
阿里云使用的mongoDB数据库版本为3.4,腾讯云使用的版本是4.0。 (来源)

安装

MongoDB官网:www.mongodb.com/zh

windows下安装mongodb

下载msi安装程序

一步一步安装即可

配置环境变量

mongo 默认是会安装到C盘的位置,如果你不改。那么就是和我的一样。在系统环境变量中加入:C:\Program Files\MongoDB\Server\5.0\bin

mongo 的安装与基本的认识 - 掘金

此时就可以在终端启动mongo了,如下:

mongo 的安装与基本的认识 - 掘金

如果出现上面的内容,那就证明你的windows的mongo就安装成功啦

MacOS下安装mongodb

安装流程:docs.mongodb.com/manual/tuto…

首先安装homebrew

注意事项:

在安装过程中如果出现权限不足的问题,输入命令:

sudo chown -R $(whoami) /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig 复制代码

添加开启自启动服务时需要使用sudo

安装robo 3T

类似于mysql的navicat

下载地址:robomongo.org/

基础概念

mongo 的安装与基本的认识 - 掘金

  • db:和mysql的概念一致
  • collection:集合,类似于mysql中的表
  • document:每个集合中的文档,类似于mysql中的记录 Primary Key:和mysql中的主键含义一致,每个document都有一个主键 field:文档中的字段

mongodb属于nosql中的文档型数据库,每个文档相当于是一个对象,它没有列的概念,也没有表关系

由于它是一个nosql数据库:

  • 无sql语句
  • 使用极其简单,学习成本非常低
  • 由于没有集合之间的关联,难以表达复杂的数据关系
  • 存取速度极快

由于它是一个文档型数据库:

  • 数据内容非常丰富和灵活
  • 对数据结构难以进行有效的限制

对比 Redis

大家可能会觉得,mongo 和 redis 都是nosql 的数据库,并且存取的速度也是非常快,那么两者对比的情况是怎样的呢?来一个经典的对比表格:

比较指标

MongoDB(v2.4.9)

Redis(v2.4.17)

比较说明

实现语言

c++

c/c++

协议

BSON,自定义二进制

类telnet

性能

依赖内存,TPS较高

依赖内存,TPS非常高

Redis优于MongoDB

可操作性

丰富的数据表达,索引;最类似于关系型数据库,支持丰富的查询语句

数据丰富,较少的IO

MongoDB优于Redis

内存及存储

适合大数据量存储,依赖系统虚拟内存,采用镜像文件存储;内存占用率比较高,官方建议独立部署在64位系统

Redis2.0后支持虚拟内存特性(VM) 突破物理内存限制;数据可以设置时效性,类似于memcache

不同的应用场景,各有千秋

可用性

支持master-slave,replicatset(内部采用paxos选举算法,自动故障恢复),auto sharding机制,对客户端屏蔽了故障转移和切片机制

依赖客户端来实现分布式读写;主从复制时,每次从节点重新连接主节点都要依赖整个快照,无增量复制;不支持auto sharding,需要依赖程序设定一致性hash机制

MongoDB优于Redis;单点问题上,MongoDB应用简单,相对用户透明,Redis比较复杂,需要客户端主动解决.(MongoDB一般使用replicasets和sharding相结合,replicasets侧重高可用性以及高可靠,sharding侧重性能,水平扩展)

可靠性

从1.8版本后,采用binlog方式(类似Mysql) 支持持久化

依赖快照进行持久化;AOF增强可靠性;增强性的同时,影响访问性能

一致性

不支持事务,靠客户端保证

支持事务,比较脆,仅能保证事务中的操作按顺序执行

Redis优于MongoDB

数据分析

内置数据分析功能(mapreduce)

不支持

MongoDB优于Redis

应用场景

海量数据的访问效率提升

较小数据量的性能和运算

MongoDB优于Redis

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/93456.html

(0)
上一篇 2024-10-26 14:15
下一篇 2024-10-27 14:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信