mongodb

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 1、MongoDB介绍 MongoDB作为非关系型数据库的典型,广泛应用于分布式文件存储,成为NoSQL数据库中比较热门的一种。

1、MongoDB介绍

MongoDB作为非关系型数据库的典型,广泛应用于分布式文件存储,成为NoSQL数据库中比较热门的一种。
其复制集和分片的功能,可以作为WEB应用提高可扩展性的高性能数据存储解决方案之一。
在介绍MongoDB之前,首先介绍一下NoSQL,NoSQL泛指非关系型数据库,NoSQL通常用于超大规模数据的存储。(例如谷歌或FaceBook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
MongoDB作为NoSQL的典型代表,因其提供了一个面向文档存储以及操作起来比较容易等特点逐渐被大部分人所关注。

1.1、MongoDB主要特点

1.1.1、优点

面向文档存储,不需要严格的结构。
高性能、易部署、易使用,存储数据非常方便。
非结构化,基于文档。
具有强大的主流开发语言支持,如c#,java,PHP,Python等。
扩展方便,分片与复制集能够方便地实现冗余容灾与负载均衡。

1.1.2、缺点

吃内存,通常会做内存限制。
不支持事务操作,对于事务要求严格的系统不建议使用。

1.2、MongoDB相关概念:

1.2.1、数据库(database)

一个MongoDB中可以建立多个数据库。
MongoDB的默认数据库为test,该数据库存储在data目录中。
MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。
show dbs命令可以显示所有数据库的列表,若开启用户认证,则该操作需要先获取相应的权限。
db命令可显示当前所连接的数据库。
use dbname命令可实现切换数据库,同时也可用于新增数据库,dbname为数据库名。

1.2.2、集合(collections)

集合就是 MongoDB 的文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management
System)中的表格。
集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。
show collections命令可显示该数据库中所有的集合。

1.2.3、文档(document)

文档是一个键值(key-value)对(即BSON)。类似于RDBMS表中的数据,MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
RDBMS 与mongodb对应的术语关系:

这里写图片描述

1.3、MongoDB基本操作

使用公司平台提供的一键安装包安装完成后,默认端口是27017。
安装完成后开启mongod服务:service mongod start
关闭mongod服务:service mongod stop mongod服务已加入开机启动中,
首次安装需要手动开启(service mongod start),重启服务器后会自动开启。
查看mongod进程是否已开启:ps -ef | grep mongod

开启mongod之后才能进入mongo 进入mongo: /usr/local/mongodb/bin/mongo
该方法默认进入本地端口为27017的mongod /usr/local/mongodb/bin/mongo –host
192.168.xxx.xxx –port xxxx 可指定连接的主机ip和端口

相关实践学习
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
目录
相关文章
|
NoSQL 安全 数据库连接
MongoDB 常见使用
MongoDB 常见使用
416 0
MongoDB 常见使用
|
4天前
|
NoSQL Go 数据处理
MongoDB
MongoDB
20 6
|
9月前
|
存储
MongoDB-片键选择技巧
使用分片的目的是为了将数据存储到不同的服务器上, 所以在选择片键的时候,应该选择取值范围更广的字段作为片键,因为如果取值范围太小, 那么划分出来的数据段就太少, 那么分配到不同服务器的概率就越小, 例如:取值如果只有 true 或 false, 那么就只能划分出两个数据段, 那么也就最多只能保存到两台服务器上。
59 0
|
10月前
|
JSON NoSQL MongoDB
初学mongoDB(一)
初学mongoDB
49 0
|
10月前
|
消息中间件 分布式计算 NoSQL
MongoDB适用场景
MongoDB适用场景
|
SQL JSON NoSQL
老去的MongoDB,未来在哪里?
老去的MongoDB,未来在哪里?
149 0
|
存储 缓存 NoSQL
MongoDB 使用介绍
MongoDB 是由 C++ 语言编写的,是一个基于分布式文件存储的非关系型开源数据库系统。其优势在于可以存放海量数据,具备强大的查询功能,是一个独立的面向集合文档形式的。
307 0
MongoDB 使用介绍
|
存储 分布式计算 NoSQL
MongoDb的主要特点
MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易
224 0
|
NoSQL JavaScript 关系型数据库
MongoDB使用实际很简单
MongoDB是个文档型数据库,虽然前有CouchDB夹击,后有MySQL 8.x文档支持的追赶,但是丝毫不影响它在市场中占据的份额。
|
存储 NoSQL MongoDB
我们为什么选择使用mongodb?
定义:MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。
1917 0