美文网首页我爱编程
MongoDB(1)安装和介绍

MongoDB(1)安装和介绍

作者: meetliuxin | 来源:发表于2018-05-03 17:07 被阅读0次

    1.什么是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安装简单。

    2.MongoDB的安装(OS X)

    sudo brew install mongodb  #Homebrew 将软件包分装到单独的目录(/usr/local/Cellar)mongodb最新版本3.6.4
    

    其他安装方法请谷歌。

    将mongodb的二进制命令文件目录添加到PATH路径中:

    export PATH=/usr/local/Cellar/mongodb/3.6.4/bin
    

    3.运行mongodb

    先创建两个文件夹放数据库和日志:

    sudo mkdir -p /usr/local/Cellar/mongodb/3.6.4/data/db #创建db文件夹
    sudo mkdir -p /usr/local/Cellar/mongodb/3.6.4/data/log
    

    在当前终端输入命令启动:

    sudo mongod --dbpath /usr/local/Cellar/mongodb/3.6.4/data/db   #此命令为启动服务端。
    

    cmd+n 启动一个新的终端用命令mongo即可开始使用。

    4.基本概念

    文档

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

    需要注意的是:
    文档中的键/值对是有序的。
    文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
    MongoDB区分类型和大小写。
    MongoDB的文档不能有重复的键。
    文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。

    集合

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

    Capped collections 就是固定大小的collection。
    它有很高的性能以及队列过期的特性(过期按照插入的顺序). 有点和 "RRD" 概念类似。
    Capped collections是高性能自动的维护对象的插入顺序。它非常适合类似记录日志的功能 和标准的collection不同,你必须要显式的创建一个capped collection, 指定一个collection的大小,单位是字节。collection的数据存储空间值是提前分配的。
    要注意的是指定的存储大小包含了数据库的头信息。

    db.createCollection("mycoll",{capped:true, size:100000})
    

    相关文章

      网友评论

        本文标题:MongoDB(1)安装和介绍

        本文链接:https://www.haomeiwen.com/subject/xvzkrftx.html