广告
返回顶部
首页 > 资讯 > 数据库 >MongoDB(1): 安装与配置及简介
  • 210
分享到

MongoDB(1): 安装与配置及简介

2024-04-02 19:04:59 210人浏览 八月长安
摘要

一.简介  mongoDB一种非关系型数据库(NoSQL),是一种强大、灵活、可扩展的数据存储方式,因为MonGoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量、高并发、

一.简介

  mongoDB一种非关系型数据库(NoSQL),是一种强大、灵活、可扩展的数据存储方式,因为MonGoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量、高并发、弱事务互联网应用,MongoDB可以应对自如,MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,还对mapReduce式聚合的支持,以及对地理空间索引的支持。


1.1、为什么需要NoSQL

简单的说,就是为了解决在WEB2.0时代,出现的三高要求:

 1:对数据库并发读写的需求

 2:对海量数据的高效率存储和访问的需求

 3:对数据库的高可扩展性和高可用性的需求

而RDB(关系型数据库)里面的一些特性,在web2.0里面往往变得不那么重要,比如:

 1:数据库事务一致性

 2:数据库的实时读写

 3:复杂的sql查询,特别是多表关联查询

1.2、CAP定理

CAP定理, 又被称作布鲁尔定理(Eric Brewer)它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

 1:强一致性(Consistency):系统在执行过某项操作后仍然处于一致的,在分布式系统中,更新操作执行成功后所有的用户都应该读取到最新的值,这样的系统被认为具有强一致性

 2:可用性(Availability):每一个操作总是能够在一定的时间内返回结果

 3:分区容错性(Partition tolerance):系统在存在网络分区的情况下仍然可以接受请求并处理,这里网络分区是指由于某种原因网络被分成若干个孤立区域,而区域之间互不相通


根据CAP原理将数据库分成了满足CA原则、满足CP原则和满足AP原则三大类:

 1:CA:单点集群,满足一致性,可用性,通常在可扩展性上不太强大,比如RDB

 2:CP:满足一致性和分区容错性,通常性能不是特别高,如分布式数据库

 3:AP:满足可用性和分区容错性,通常可能对一致性要求低一些,如大多数的NoSQL


BASE原理(Basically Available,Soft-state,Eventual consistency )

 1:基本可用(Basically Available):系统能够基本运行、一直提供服务。

 2:软状态(Soft-state):系统不要求一直保持强一致状态。

 3:最终一致性(Eventual consistency):系统需要在某一时刻后达到一致性要求

1.3、NoSQL的优缺点

优点

 1、扩展简单方便,尤其是水平横向扩展

  (纵向扩展是指用更强的机器;横向扩展是指把数据分散到多个机器)

 2、读写快速高效,多数都会映射到内存操作

 3、成本低廉,用普通机器,分布式集群即可

 4、数据模型灵活,没有固定的数据模型

NoSQL的缺点

 不提供对SQL的支持

 现有产品还不够成熟稳定,功能也还有待加强

1.4、mongodb的特点

高性能、易于使用、易于扩展、功能丰富

面向集合存储,模式自由

支持动态查询,支持javascript表达式查询

支持完全索引,包含内部对象

支持复制和故障恢复

支持副本集复制和自动故障恢复

自动处理分片

使用高效的二进制数据储存,包括大型对象

文件存储格式为BSON(一种JSON的扩展)

二.基本概念

数据库

 MongoDB的一个实例可以拥有一个或多个相互独立的数据库,每个数据库都有自己的集合


文档(document):是MongoDB中数据的基本单元

非常类似于关系型数据库系统中的行(但是比行要复杂的多)

注意:

每一个文档都有一个特殊的键”_id”,它在文档所处的集合中是唯一的,相当于关

系数据库中的表的主键

 

集合(collection):就是一组文档

类似于关系型数据库系统中的表


_id

  每个文档都有个特殊的“_id”,在文档所属集合中是唯一的

JavaScript shell

  MongoDB自带了一个功能强大的JavaScript shell,可以用于管理或操作MongoDB


MongoDB的单个计算机可以容纳多个独立的数据库,每一个数据库都有自己的集合和权限。

MongoDB自带简介但功能强大的JavaScript shell,这个工具对于管理MongoDB实例和操作数据作用非常大

注意:MongoDB中没有主外键的概念

三.规则与数据类型

3.1、数据库名称定义规则

1、不能是空串

2、不得含有/、\、?、$、空格、空字符等等,基本只能使用ASCII中的字母和数字

3、区分大小写,建议全部小写

4、最多为64字节

5、不得使用保留的数据库名,比如:admin,local,config

注意:数据库最终会成为文件,数据库名就是文件的名称

3.2、集合名称定义规则

1、不能是空串

2、不能包含\0字符(空字符),这个字符表示集合名的结束,也不能包含”$”

3、不能以”system.”开头,这是为系统集合保留的前缀

3.3、文档的键的定义规则

1、不能包含\0字符(空字符),这个字符表示键的结束

2、“.”和“$”是被保留的,只能在特定环境下用

3、区分类型,同时也区分大小写

4、键不能重复

注意:文档的键值对是有顺序的,相同的键值对如果有不同顺序的话,也是不同的文档

3.4、数据类型

数据类型                描述                                     举例

null              表示空值或者未定义的对象                              {"x":null}

布尔值            真或者假:true或者false                               {"x":true}

32位整数            shell不支持该类型,默认会转换成64位浮点数,也可以使用NumberInt类,比如:     {“x”:NumberInt(“3”)}

64位整数            shell不支持该类型,默认会转换成64位浮点数,也可以使用NumberLong类,比如:     {“x”:NumberLong(“3”)}

64位浮点数          shell中的数字就是这一种类型                             {"x":3.14,"y":3}

字符串            UTF-8字符串                                     {"foo":"bar"}

符号             shell不支持,shell会将数据库中的符号类型的数据自动转换成字符串

对象id             文档的12字节的唯一id                               {"id": ObjectId()}

日期             从标准纪元开始的毫秒数                               {"date":new Date()}

正则表达式          文档中可以包含正则表达式,遵循JavaScript的语法                  {"foo":/foobar/i}

代码             文档中可以包含JavaScript代码                            {"x":function() {}}

未定义             undefined                                    {"x":undefined}

数组             值的集合或者列表                                 {"arr": ["a","b"]}

内嵌文档           文档可以作为文档中某个key的value                          {"x":{"foo":"bar"}}

您可能感兴趣的文档:

--结束END--

本文标题: MongoDB(1): 安装与配置及简介

本文链接: https://www.lsjlt.com/news/38193.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MongoDB(1): 安装与配置及简介
    一.简介  MongoDB一种非关系型数据库(NoSql),是一种强大、灵活、可扩展的数据存储方式,因为MongoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量、高并发、...
    99+
    2022-10-18
  • mongodb安装、配置与简单操作
    开发老司机有个需求让我安装一个mongodb,在网上查阅了一些资料测试了几种不是报错就是数据库命令不匹配,下面这种比较简单而且不易出错。获取二进制压缩包wget http://fastdl.mongodb....
    99+
    2022-10-18
  • Windows安装与配置—MongoDB
    1,下载安装   打开下载链接:http://dl.mongodb.org/dl/win32/x86_64,选择后缀是2008plus-ssl-3.6.15.zip的版本,32位和64位通用。 2,安装配置   第一步:解压到一个盘上,例如...
    99+
    2017-11-12
    Windows安装与配置—MongoDB
  • MongoDB的安装与配置
        Mongo DB ,是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式,备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO...
    99+
    2022-10-18
  • MongoDB数据库简介与安装方法
    1、简介 MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。旨在为WEB应用提供可扩展的高性能数据存储解决方案。在高负载的情况下,添加更多的节点(分布式)...
    99+
    2022-11-13
  • Node.js 学习笔记之简介、安装及配置
    简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。 Node.js是一个事件驱动I/O服务端JavaS...
    99+
    2022-06-04
    学习笔记 简介 Node
  • Linux下MongoDB安装与配置
    CentOS6上安装MongoDB3.0.3版本:mongodb-linux-x86_64-rhel62-3.0.5.tgz安装openssl#yum install -y openssl-devel op...
    99+
    2022-10-18
  • IDEA2022.2的简介、下载与安装、配置教程
    目录IDE工具之IDEA2022.2的简介、下载与安装、初步配置IDEA简介概述下载与安装IDEA 基本配置Appearance(显示)主题配置KeyMap(快捷键)配置Editor...
    99+
    2022-11-13
    idea2022.2下载安装 idea2022.2安装配置 idea2022安装
  • MongoDB-Manual-Master 读书笔记-简介及安装
    MongoDB介绍1.1 什么是MongoDBMongoDB 是开源的文档数据库,提供了高性能、高可用性、高扩展性。1.1.1 文档数据库在MongoDB中一条记录称之为文档,也可以理解成关系数据库中的行。...
    99+
    2022-10-18
  • MongoDB安装与副本集配置
    副本集是一组,由N个mongo节点组成并协同工作的,提供自动的故障集群转移。...
    99+
    2022-10-18
  • MongoDB 安装配置及用户权限
    参考: http://www.runoob.com/mongodb/mongodb-linux-install.html 介绍:   a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数...
    99+
    2022-10-18
  • 1小时快速上手RabbitMQ(简介及安装过程)
    目录1.MQ的介绍1.1 MQ的基本概念1.2 MQ的优缺点1.2.1 优点1:应用解耦1.2.2 优点2:异步提速1.2.3 优点3:削峰填谷1.2.4 缺点1.3常见的消息中间件...
    99+
    2023-01-04
    RabbitMQ快速上手 RabbitMQ快速上手
  • MongoDB 安装、主从配置、以及监控
    1、安装#添加安装源[mongodb] name=MongoDB Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/...
    99+
    2022-10-18
  • 【①MySQL】浅谈数据库系统:MySQL的简介与安装配置
    前言 欢迎来到小K的MySQL专栏,本节将为大家带来MySQL的简介与安装配置的详细讲解~ 目录 前言一、数据库系统概述数据(Data)数据库(Database)数据库管理系统(Data...
    99+
    2023-09-17
    数据库 mysql java
  • MyCat教程三:安装及配置介绍
    一、安装MyCat 1.安装准备环境 1.1 安装JDK   因为MyCat是java开发的,所以需要java虚拟机环境,在Linux节点中安装JDK是必须的。 1.2 放开相关端口   在主从节点上都放开对端口3306...
    99+
    2015-06-08
    MyCat教程三:安装及配置介绍
  • mysql安装及配置步骤详细介绍
    本文主要给大家简单讲讲mysql安装及配置步骤,相关专业术语大家可以上网查查或者找一些相关书籍补充一下,这里就不涉猎了,我们就直奔主题吧,希望mysql安装及配置步骤这篇文章可以给大家带来一些实际帮助。My...
    99+
    2022-10-18
  • CentOS系统下安装及配置JDK介绍
    目录前言检查并卸载 OpenJDK使用下载好的压缩包方式安装 JDKJDK 环境配置测试配置是否成功通过 yum 命令安装 JDK通过 rpm 命令安装 JDK前言 说到 JDK 就不得不提一下一道老掉牙的面试题: JD...
    99+
    2022-06-04
    CentOS配置JDK步骤 CentOS配置JDK教程
  • Mongodb的安装,配置,启动与相关操作
    mongodb简介:    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储...
    99+
    2022-10-18
  • 安装及配置mysql的详细步骤介绍
    下文给大家带来关于安装及配置mysql的详细步骤,感兴趣的话就一起来看看这篇文章吧,相信看完安装及配置mysql的详细步骤对大家多少有点帮助吧。一:安装mysql1.在web云服务器上安装mysql:yum...
    99+
    2022-10-18
  • 在mac系统下安装与配置mongoDB数据库
    mongo数据库的安装 mongo数据库安装的方式有很多种,接下来我们具体来介绍一下 官网下载 mongoDB中文网 windows用户可以参考这种安装方式,比较方便,mac用户可参...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作