MongoDB :第二章:系统归纳

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: MongoDB :第二章:系统归纳

什么是MongoDB ?

  • MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
  • 在高负载的情况下,添加更多的节点,可以保证服务器性能。
  • MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
  • MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

主要特点

MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。

你可以在MongoDB记录中设置任何属性的索引 (如:FirstName="Sameer",Address="8 Gandhi Road")来实现更快的排序。

你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。

如果负载的增加(需要更多的存储空间和更强的处理能力) ,它可以分布在计算机网络中的其他节点上这就是所谓的分片。

Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。

Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合操作。

Map和Reduce。Map函数调用emit(key,value)遍历集合中所有的记录,将key与value传给Reduce函数进行处理。

Map函数和Reduce函数是使用Javascript编写的,并可以通过db.runCommand或mapreduce命令来执行MapReduce操作。

GridFS是MongoDB中的一个内置功能,可以用于存放大量小文件。

MongoDB允许在服务端执行脚本,可以用Javascript编写某个函数,直接在服务端执行,也可以把函数的定义存储在服务端,下次直接调用即可。

MongoDB支持各种编程语言:RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

MongoDB安装简单。

MongoDB 工具

有几种可用于MongoDB的管理工具。

监控

MongoDB提供了网络和系统监控工具Munin,它作为一个插件应用于MongoDB中。

Gangila是MongoDB高性能的系统监视的工具,它作为一个插件应用于MongoDB中。

基于图形界面的开源工具 Cacti, 用于查看CPU负载, 网络带宽利用率,它也提供了一个应用于监控 MongoDB 的插件。

GUI

Fang of Mongo – 网页式,由Django和jQuery所构成。

Futon4Mongo – 一个CouchDB Futon web的mongodb山寨版。

Mongo3 – Ruby写成。

MongoHub – 适用于OSX的应用程序。

Opricot – 一个基于浏览器的MongoDB控制台, 由PHP撰写而成。

Database Master — Windows的mongodb管理工具

RockMongo — 最好的PHP语言的MongoDB管理工具,轻量级, 支持多国语言.

MongoDB 应用案例

下面列举一些公司MongoDB的实际应用:

Craiglist上使用MongoDB的存档数十亿条记录。

FourSquare,基于位置的社交网站,在Amazon EC2的服务器上使用MongoDB分享数据。

Shutterfly,以互联网为基础的社会和个人出版服务,使用MongoDB的各种持久性数据存储的要求。

bit.ly, 一个基于Web的网址缩短服务,使用MongoDB的存储自己的数据。

spike.com,一个MTV网络的联营公司, spike.com使用MongoDB的。

Intuit公司,一个为小企业和个人的软件和服务提供商,为小型企业使用MongoDB的跟踪用户的数据。

sourceforge.net,资源网站查找,创建和发布开源软件免费,使用MongoDB的后端存储。

etsy.com ,一个购买和出售手工制作物品网站,使用MongoDB。

纽约时报,领先的在线新闻门户网站之一,使用MongoDB。

CERN,著名的粒子物理研究所,欧洲核子研究中心大型强子对撞机的数据使用MongoDB。

MongoDB 下载

MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center#community

安装教程:https://www.runoob.com/mongodb/mongodb-window-install.html

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

先来三个命令:

"show dbs" 命令可以显示所有数据的列表。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
> 

有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。

admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合

config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

执行 "db" 命令可以显示当前数据库对象或集合。

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
> 

运行"use"命令,可以连接到一个指定的数据库。

> use local
switched to db local
> db
local
> 

"local" 是你要链接的数据库。

注意命名规范:

数据库也通过名字来标识。数据库名可以是满足以下条件的任意UTF-8字符串。

  • 不能是空字符串("")。
  • 不得含有' '(空格)、.、$、/、\和\0 (空字符)。
  • 应全部小写。
  • 最多64字节。
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1天前
|
存储 NoSQL MongoDB
MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储
MongoDB【部署 04】Windows系统实现MongoDB多磁盘存储
219 0
|
1天前
|
运维 NoSQL 关系型数据库
MongoDB助力西门子数字化工厂构建下一代制造执行系统
数据库的高可用性是保障工厂不停工、连续生产的关键所在
2156 3
MongoDB助力西门子数字化工厂构建下一代制造执行系统
|
10月前
|
NoSQL 前端开发 JavaScript
MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(8)-Ant Design Blazor前端框架搭建
MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(8)-Ant Design Blazor前端框架搭建
127 0
|
10月前
|
存储 NoSQL Ubuntu
linux系统中MongoDB数据库安装及分片集群搭建
史上最全的mongodb分片集群搭建,从介绍安装到集群搭建授权,你再也找不到比他更加详细的资料了,未经允许禁止转载!!
808 4
|
12月前
|
NoSQL 网络协议 安全
Linux系统:第十二章:AWS服务器X86架构安装配置Mysql与MongoDB
Linux系统:第十二章:AWS服务器X86架构安装配置Mysql与MongoDB
215 0
|
NoSQL Linux MongoDB
在centos系统上安装mongodb数据库
在centos系统上安装mongodb数据库
319 0
在centos系统上安装mongodb数据库
|
存储 运维 监控
阿里云MongoDB助力纵腾集团提升IT系统效率及开发优化
业务工单系统使用阿里云版MongoDB后,解决了查询效率低的问题,极大地提升了业务效率和用户体验,获得了显著的效果。
阿里云MongoDB助力纵腾集团提升IT系统效率及开发优化
|
存储 运维 监控
MongoDB助力纵腾集团提升IT系统效率及开发优化
更快的开发速度助力企业服务部署和落地
MongoDB助力纵腾集团提升IT系统效率及开发优化
|
存储 NoSQL Shell
M1芯片 MacOS系统如何完成MongoDB的相关配置
M1芯片 MacOS系统如何完成MongoDB的相关配置
M1芯片 MacOS系统如何完成MongoDB的相关配置
http://www.vxiaotou.com