NoSQL 之 MongoDB(一)

NoSQL 之 MongoDB

MongoDB 是一个基于分布式文件存储的数据库(支持海量数据存储),旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是所有非法关系型数据中,最像关系型数据库的一款NoSQL产品。MongoDB使用Bson(Json)表示一条记录,这就导致MongoDB的数据结构非常松散。

MongoDB常规概念

集合:MongoDB去除了传统数据库以表为单位对记录的管理模式,因为以表为单位管理,导致建立表单的时候,每一则记录都必须遵循建表的语法约束,极大降低了插入效率以及存储效率。MongoDB提倡建立一个无模式的表,不需要用户在建表的时候指定约束和字段,所以对MongoDB而言所谓表就是以一个集合数组而已[],没有任何语法约束,导致了集合中的元素(记录)可以无模式化存储。

文档:一个文档就表示集合中一条记录,类似于传统数据库中的一则Record。因为集合无模式,就导致了集合中的记录支持稀疏存储.因为稀疏存储可以有效的利用磁盘空间。

[   -- collection|{id:1,name:"zhangsan",sex:true,info:"..."},  -- document | 记录
    {id:2,name:"lisi",info:"..."},
    {id:3,name:"wangwu",hobbies:["TV","GAME"]},
]

数据库:用于管理和分类集合。MongoDB中的数据库类似于MySQL中的数据库,主要用于对集合管理。

MongoDB特性

  • 无模式存储 - schema less (没有表结构)
  • 不支持事务(推荐使用单个文档,不推荐表连接)
  • 单个Document最大存储16MB数据。
  • MongoDB支持GridFS存储,可以高效的存储大文件。
  • MongoDB不支持表连接,推荐单个document的查询。
  • MongoDB支持丰富索引类型,优化用户的查询和搜索

MongoDB使用场景

  • 网站数据存储-复制及高度伸缩性
  • 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。(不多)
  • 大尺寸、低价值的数据 :一些归档数据
  • 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库。

MongoDB使用

  • 基本安装(3.6版本)

参考:https://docs.mongodb.com/v3.6/tutorial/install-mongodb-on-red-hat/

[root@centos ~]# touch /etc/yum.repos.d/mongodb-org-3.6.repo #创建MongoDB下载源
[root@centos ~]# vi /etc/yum.repos.d/mongodb-org-3.6.repo

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/
gpgcheck=0
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

[root@centos ~]# yum install -y mongodb-org
  • 启动MongoDB服务
[root@centos ~]# mkdir -p /root/data/db  #创建mongodb的数据库目录
[root@centos ~]# mongod --dbpath /root/data/db --port 27017 --bind_ip 192.168.128.128 

Ctrl+c 终止数据库服务,可以尝试使用一下命令让mongodb后台运行

[root@centos ~]# mkdir -p /root/data/db
[root@centos ~]# mongod --dbpath /root/data/db --port 27017 --bind_ip 192.168.128.128 --fork --syslog
about to fork child process, waiting until server is ready for connections.
forked process: 9786
child process started successfully, parent exiting
  • 连接MongoDB服务
[root@centos ~]# mongo --port 27017 --host 192.168.128.128

在线访问Shell链接

https://mws.mongodb.com/?version=3.6

下一篇:MongoDB之数据库与集合常规操作(二)

猜你喜欢

转载自blog.csdn.net/qq_42806727/article/details/89092774