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

、 数据库有数据库表、行和列的概念,让我们存储操作数据更方便

、 数据库提供了非常方便的接口,可以让 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 数据库在以下的这几种情况下比较适用:

、数据模型比较简单;

、需要灵活性更强的 IT 系统;

、对数据库性能要求较高;

、不需要高度的数据一致性;

、对于给定 key,比较容易映射复杂值的环境。

NoSQL 发展现状

国外: Google 的 BigTable 和 Amazon 的 Dynamo 使用的就是NoSQL 型数据库。

国内: 百度、阿里、腾讯、新浪微博、视觉中国、优酷运营数据分析、飞信空间、豆瓣社区等..

3、什么时候建议使用 NoSql

、对数据库高并发读写的需求

、对海量数据的高效率存储和访问的需求

、对数据库的高可扩展性和高可用性的需求

、NoSql 和传统数据库简单对比。

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

、非结构型数据库。没有行、列的概念。用 JSON 来存储数据。

、集合就相当于“表”,文档就相当于“行”。 

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)\mongodb\bin 添加到path环境变量中去 

7.4 创建数据目录

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

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

7.5 命令行下运行 MongoDB 服务器

打开cmd

windows+ R

输入

 mongod --dbpath c:\data\db

7.6 连接MongoDB

mongo

7.7 配置 MongoDB 服务

创建配置文件

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

systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db

安装 MongoDB服务

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

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

启动MongoDB服务

net start MongoDB

关闭MongoDB服务

net stop MongoDB

8、MongoDb 使用

显示所有数据库

show dbs

使用数据库

use xxx

MongoDb 学习笔记(一) --- MongoDb 数据库介绍、安装、使用的更多相关文章

  1. MongoDB 学习笔记(一):安装及简单shell操作

    一.说明 1.该系列MongoDB学习笔记的学习环境采用的MongoDB版本为mongodb-win32-i386-2.4.6,操作系统为win7. 二.安装 1.新建两个目录,分别是D:\Insta ...

  2. Mongodb学习笔记一(Mongodb环境配置)

    Mongodb学习 说明: MongoDB由databases组成,database由collections组成,collection由documents组成,document由fileds组成.Mo ...

  3. MongoDB学习笔记(一) MongoDB介绍及安装(摘)

    MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式.Mongo使用C++开发.Mongo的官方网 ...

  4. MongoDB学习笔记一(MongoDB介绍 + 基本指令 + 查询语句)

    什么是MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩 ...

  5. Mongodb学习笔记二(Mongodb基本命令)

    第二章 基本命令 一.Mongodb命令 说明:Mongodb命令是区分大小写的,使用的命名规则是驼峰命名法. 对于database和collection无需主动创建,在插入数据时,如果databas ...

  6. Mysql的学习笔记(一)--检验数据库是否安装成功以及一些入门的简单的dos命令

    一:如何检验数据库是否安装成功: 1:以管理员的身份打开命令提示符,具体如何用管理员的身份打开请参考下面 https://jingyan.baidu.com/article/e73e26c0f87c2 ...

  7. mysql学习笔记之mysql数据库的安装

    1.执行mysql安装包选择自己定义安装(安装路径不要带中文,否则安装会出错! ) 2.一个mysql想要操作成功须要有三部分:server端,数据段,数据. 3.server软件文件夹: 4.数据文 ...

  8. MongoDB学习笔记(一) MongoDB介绍及安装

    转自:http://database.51cto.com/art/201103/247882.htm http://baike.baidu.com/link?url=b6B3dVSCnQauCX-Ep ...

  9. MongoDB学习笔记二:使用Docker安装MongoDB

    目录 Docker安装MongoDB Docker给MongoDB设置用户密码 NoSQL Manager for MongoDB连接 为admin赋权限 上一个笔记介绍了Windows下安装Mong ...

随机推荐

  1. 如何获得Android设备名称(ADB命令详细介绍)

    豌豆荚.360手机管家等软件可以获取android设备名称,显示在界面上,如下图: 我们自己如何来获取设备名称 呢?答案如下: 在命令行中输入“adb shell”进入shell之后,再输入“cat ...

  2. docker运行nginx

    docker run --name nginx(容器名) -p 80:80 -v 项目文件路径:/usr/share/nginx/html -v 配置文件路径:/etc/nginx/nginx.con ...

  3. 接口测试:添加header信息

    一.获取所有学生信息的接口文档内容 二.使用postman进行测试 选择请求方式.填写URL.填写Headers下的参数值(key是Referer.value是接口文档中的value值) 三.使用jm ...

  4. mysql 代价

    mysql cbo cost base optimizer 基于代价,数据是一直变化的oracle8 以前是rbo rule base optimizer 基于规则, 如果sql使用了索引,必须使用索 ...

  5. Shell基本知识

    Shell是什么 Shell是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以使用Shell来启动.挂起.停止甚至编写一些程序. Shell还是一个功 ...

  6. SpringBoot学习(一)

    一.Spring Boot Spring是JavaEE轻量级代替品.无需开发重量级的(EJB),Spring为企业级Java开发提供了一种相对简单的方法,通过依赖注入和面向切面编程,用简单的POJO对 ...

  7. $bzoj1025-SCOI2009$游戏 群论 $dp$

    题面描述 \(windy​\)学会了一种游戏.对于\(1​\)到\(N​\)这\(N​\)个数字,都有唯一且不同的1到N的数字与之对应.最开始\(windy​\)把数字按顺序\(1,2,3,\cdot ...

  8. Bellman-Ford(BF)和Floyd算法

    以下只是本人的笔记,想法我自己都怀疑,内容不作为参考, Floyd算法就比较暴力了,算法思想是三重循环,直接枚举所有的顶点,再两次for循环枚举所有点,验证以第一个点为中转点的两个点是否路径更短,具体 ...

  9. vue 2.0创建新项目

    参考链接  https://segmentfault.com/a/1190000011275993 背景在安装完node的基础上,机器什么都没安装参考上述链接 一.下载vue $ cnpm insta ...

  10. uipath接入Python

    安装UiPath.Python.Activities,然后会有五个.Activities,他们的功能分别如下: 本人原创,转发或引用请注明出处.