Mongodb介绍与部署应用

2022-11-21 20:55:45 浏览数 (1)

一.mongodb简介

1.什么是MongoDB :

1)MongoDB 是由C 语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。 2)MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。 3)MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。 4)2007年10月,MongoDB由10gen团队所发展。2009年2月首度推出。 5)MonggoDB支持Unix、linux、windows等系统平台。 6)在许多场景下用于代替传统的关系型数据库或键/值存储方式,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。是一个面向集合的,模式自由的文档型数据库。

2.mongodb的特点:

1)MongoDB的提供了一个面向文档存储,操作起来比较简单和容易,且安装简单。 2)mongodb支持:索引来实现更快的排序。 3)MongoDB有更强的扩展性,如果负载的增加,可以分布在计算机网络中的其他节点上这就是所谓的分片。 4)Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。 5)MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。 6)Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作,Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。 7)GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。 8)MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。 9)MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C ,PHP,C#等多种语言

二.mongodb结构与数据类型:

1.MongoDB适用领域:网站数据、分布式场景、缓存层、文档格式存储

2.逻辑结构: 1)文档( document):是 mongodb 核心概念也是逻辑存储的最小单元 2)集合( collection):多个文档组成集合 3)数据库( database):多个集合组成数据库

3.日志存储结构: 1)系统日志文件 2)journal日志文件 3)oplog复制操作日志文件 4)慢查询日志

4.数据类型: 1)BSON 是 Binary JSON,是二进制的格式,能将 mongdb 的所有文档表示为字节字符串。 2)JSON 是一种轻量级的数据交换格式。它基于 JavaScript 的一个子集。 5.BSON 的数据类型:null,代表空或者不存在;布尔,只有 true 和 false;数字, 64 位浮点数;字符串, utf8 字符串;数组,值或者列表可表示为数组对象,对象的数据 6.BSON 的特点:优点:简单,简洁,容易理解、解析、记忆 7.mongodb的数据库、集合、文档命名规则: 1)支持UTF8的绝大多数字符 2)不支持如$开头 ; 空字符 ;特殊/.等

三.安装与管理mongodb

(一)理解mongodb安装

1.linux下安装mongodb:

代码语言:javascript复制
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb           
export PATH=/usr/local/mongodb/bin:$PATH

2.初始化操作:

1)MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。 2)启动mongodb: mongod -f 指定配置文件 3)连接mongodb数据库:mongo(javascript编写交互shell) 4)关闭mongodb数据库:mongod -f 配置文件 --shutdown

3.mongodb的基本操作: show dbs ##查看所有数据库 show users ##显示用户 use 数据库名 ##切换数据库,如果没有创建则创建数据库 db.help() ##显示数据库操作命令 show collections ##查看集合 db.mycoll.help() ##显示集合mycoll的操作命令 db.foo.find() ##对当前数据库中foo集合进行数据查找 ctrl d ##退出数据库 db.version(); ##查看mongodb的版本 db.stats(); db.t1.insert({“id”:1}) ##在t1集合中插入数据,多条数据用逗号隔开 typeof(变量.key) ##查看key的类型

4.数据备份方法: 导入: mongoimport 导出: mongoexport 逻辑备份: mongodump 物理备份:冷备 恢复: mongorestore

5.复制数据库 复制本地数据库: db.copyDatabase(“from_db”,”to_db”,”locolhost”) 复制远程数据库: db.copyDatabase(“from_db”,”to_db”,”192.168.200.101”) 克隆集合: db.runCommand({cloneCollection:”accp.t1”,from:”192.168.200.101”})

0 人点赞