zoukankan      html  css  js  c++  java
  • MongoDb 学习笔记(一) --- MongoDb 数据库介绍、安装、使用

    1、数据库和文件的主要区别

    1、 数据库有数据库表、行和列的概念,让我们存储操作数据更方便
    
    2、 数据库提供了非常方便的接口,可以让 nodejs、php java .net 很方便的实现增加修改删除功能。

    2NoSql 介绍

         2.1 NoSQL 介绍

     由于互联网的迅速发展,云计算与 Web2.0。这样大量的交互给数据库提出了更高的性能要求,传统的数据库(本文泛指 SQL 数据库),即关系数据库虽然具备良好的事物管理, 但在处理大量数据的应用时很难在性能上满足设计要求。 NoSQL 就是主要为了解决当下大量高并发高要求的数据库应用需求,关系数据库具有严格的参照性,一致性,可用性,原子性,隔离性等特点,因此会产生一些例如表连接等操作,这样会大大降低系统的性能。而在当前很多应用场景下对性 能的要求远远强于传统数据库关注的点, NoSQL  就是为了解决大规模数据与多样数据种类等问题,尤其是其中大数据的相关问题。 
     NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是 SQL”, 它指的是非关系型的数据库,是以 key-value形式存储,和传统的关系型数据库不一样, 不一定遵循传统数据库的一些基本要求,比如说遵循 SQL 标准、ACID 属性、表结构等等。 NoSQL 最早被提出是在 20 世纪 80 年代,在当时更多是强调的是与关系数据库区别对待, 最近这些年被提及的更多是强调协助解决大数据等相关问题。 NoSQL 在大数据时代有自己的意义。 

          2.2  NoSQL 应用情况介绍

    国内的互联网蓬勃发展,不仅涌现出 BAT(百度,阿里巴巴,腾讯)之类的巨头,也带动了整个互联网行业的发展,大量的创业型公司如春笋般的涌出,在国家层面也提出了“互联网+”和“万众创业”的口号。更多传统的行业也开始拥抱互联网。但是无论是做所谓的生态平台还是传统业务的转型,涉及到的业务是多种多样的。这个时候企业架构师对于应用系统的核心——数据库管理 不仅有传统的 SQL 选项也有了NoSQL 这种适合特定场景需求的选项。 

    NoSQL 数据库在以下的这几种情况下比较适用:

    1、数据模型比较简单;
    
    2、需要灵活性更强的 IT 系统;
    
    3、对数据库性能要求较高;
    
    4、不需要高度的数据一致性;
    
    5、对于给定 key,比较容易映射复杂值的环境。

    NoSQL 发展现状

    国外: Google 的 BigTable 和 Amazon 的 Dynamo 使用的就是NoSQL 型数据库。
    
    国内: 百度、阿里、腾讯、新浪微博、视觉中国、优酷运营数据分析、飞信空间、豆瓣社区等..

    3、什么时候建议使用 NoSql

    1、对数据库高并发读写的需求
    
    2、对海量数据的高效率存储和访问的需求
    
    3、对数据库的高可扩展性和高可用性的需求
    
    4、NoSql 和传统数据库简单对比。

    4NoSql 和传统数据库简单对比

    1、非结构型数据库。没有行、列的概念。用 JSON 来存储数据。
    
    2、集合就相当于“表”,文档就相当于“行”。 

    5NoSql 种类

    6MongoDb 介绍

    MongoDB  是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高性能、易部署、易使用,存储数据非常方便

    MongoDB是开源,高性能的NoSQL数据库;支持索引、集群、复制和故障转移、各种语言的驱动程序丰富;高伸缩性;
    MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
    MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的。

    主要特点

    • 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安装简单。

    7MongoDb 安装

    官网:https://www.mongodb.com/

    手册:https://docs.mongodb.org/manual/

    github: https://github.com/mongodb/

    nodejs驱动:https://github.com/mongodb/node-mongodb-native

    MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

    在高负载的情况下,添加更多的节点,可以保证服务器性能。

    MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

     

    7.1 下载地址

    https://www.mongodb.com/download-center/v2/community

     7.2 文件目录
    下载好后的压缩文件,解压后文件可以直接使用,无需安装,下图中我将解压后的文件默认装到C盘

     7.3 添加到path环境变量中

    如何添加环境变量  https://jingyan.baidu.com/article/b24f6c82cba6dc86bfe5da9f.html

    以我文件放置的路径为例,需要将 C:Program Files (x86)mongodbin 添加到path环境变量中去 

    7.4 创建数据目录

    MongoDB将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该放在根目录下((如: C: 或者 D: 等 )。

    在本案例中,我在 C 盘安装了 mongodb,现在我在C盘创建一个 data 的目录然后在 data 目录里创建 db文件和log文件。

     7.5 命令行下运行 MongoDB 服务器

    打开cmd

    windows+ R

     

    输入 

     mongod --dbpath c:datadb

     7.6 连接MongoDB

    mongo

     

     7.7 配置 MongoDB 服务

    创建配置文件

    创建一个配置文件位于 C:Program Files (x86)mongodbmongod.cfg,其中指定 systemLog.path 和 storage.dbPath。具体配置内容如下:

    systemLog:
        destination: file
        path: c:datalogmongod.log
    storage:
        dbPath: c:datadb

    安装 MongoDB服务

    通过执行mongod,使用--install选项来安装服务,使用--config选项来指定之前创建的配置文件。

    mongod --config "C:Program Files (x86)mongodbmongod.cfg" --install

    启动MongoDB服务

    net start MongoDB

    关闭MongoDB服务

    net stop MongoDB

    8、MongoDb 使用

    显示所有数据库

    show dbs

    使用数据库

    use xxx

     

  • 相关阅读:
    js格式化输出json对象
    webpack打包优化
    设置了responseType:Blob之后,如果返回json错误信息,如果获取?
    Webpack打包之后[-webkit-box-orient: vertical]样式丢失
    如果axios请求失败,如何获取后端接口返回的状态码及错误信息
    查看端口被占用情况
    用python编写简单爬虫
    python下载指定页面的所有图片
    Vue路由懒加载原理及实现
    PnpWebpackPlugin解析
  • 原文地址:https://www.cnblogs.com/chenyablog/p/9732193.html
Copyright © 2011-2022 走看看