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

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

2、NoSql

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,比较容易映射复杂值的环境

2.3 NoSQL 发展现状

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

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

3、什么时候建议使用 NoSql

  • 对数据库高并发读写的需求
  • 对海量数据的高效率存储和访问的需求
  • 对数据库的高可扩展性和高可用性的需求

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

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

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

5、NoSql 种类

键值(Key-Value)存储数据库

这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。举例如:Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB。

列存储数据库

这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。如:Cassandra, HBase, Riak.

文档型数据库

文档型数据库的灵感是来自于Lotus Notes办公软件的,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值,在处理网页等复杂数据时,文档型数据库比传统键值数据库的查询效率更高。如:CouchDB, MongoDb. 国内也有文档型数据库SequoiaDB,已经开源。

图形(Graph)数据库

图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。如:Neo4J, InfoGrid, Infinite Graph。

不同分类特点对比:

分类 Examples举例 典型应用场景 数据模型 优点 缺点
键值(key-value) Tokyo Cabinet/Tyrant, Redis, Voldemort, Oracle BDB 内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 Key 指向 Value 的键值对,通常用hash table来实现 查找速度快 数据无结构化,通常只被当作字符串或者二进制数据
列存储数据库 Cassandra, HBase, Riak 分布式的文件系统 以列簇式存储,将同一列数据存在一起 查找速度快,可扩展性强,更容易进行分布式扩展 功能相对局限
文档型数据库 CouchDB, MongoDb Web应用(与Key-Value类似,Value是结构化的,不同的是数据库能够了解Value的内容) Key-Value对应的键值对,Value为结构化数据 数据结构要求不严格,表结构可变,不需要像关系型数据库一样需要预先定义表结构 查询性能不高,而且缺乏统一的查询语法。
图形(Graph)数据库 Neo4J, InfoGrid, Infinite Graph 社交网络,推荐系统等。专注于构建关系图谱 图结构 利用图结构相关算法。比如最短路径寻址,N度关系查找等 很多时候需要对整个图做计算才能得出需要的信息,而且这种结构不太好做分布式的集群方案。

6、MongoDb 介绍

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

7、MongoDb 安装

以windows系统为例

MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制包,你可以从MongoDB官网下载安装,MongoDB 预编译二进制包下载地址:https://www.mongodb.com/download-center/community

注意:在 MongoDB 2.2 版本后已经不再支持 Windows XP 系统。最新版本也已经没有了 32 位系统的安装文件。

1. 双击 MongoDB 软件下一步下一步安装

2、选择Custom,然后其他的按照默认配置,安装路径建议不要更改,网上说“Install MongoDB Compass”如果担心安装时间太长,可以取消勾选,这里我勾选了,安装时间没有很久

3、配置环境变量:依次选择 我的电脑》属性》高级系统设置》高级》环境变量

4、选择系统变量,找到“Path”,点击新建,将mongodb bin文件夹的路径添加到末尾,我的路径是C:\Program Files\MongoDB\Server\4.2\bin,然后点确定

5、打开cmd,输入mongo,输出类似以下信息,表示配置成功

8、使用MongoDb

前面我们选择了custom方式按照MongoDb,它给我们提供了默认的数据存储目录以及日志文件,如下箭头指向的位置

这张图是来自网络,我安装的时候忘记截图了,如果我们安装的时候使用默认路径,则

数据库目录为:C:\Program Files\MongoDB\Server\4.2\data

日志目录为:C:\Program Files\MongoDB\Server\4.2\log

我们可以使用默认的目录,也可以新建目录,这里推荐新建目录,请继续往后看

8.1 新建数据目录

MongoDB将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。

注意:数据目录应该放在根目录下((如: C:\ 或者 D:\ 等 ),不建议放在C盘,因为重装系统后C盘的数据会丢失

这里,我在E盘新建MongoDB,并在MongoDB目录下新建db文件夹

8.2 启动 MongoDb 服务(8.4章节有更简便的服务启动方式,推荐按照8.4中的配置启动服务)

打开cmd,输入mongod --dbpath E:\MongoDB\db(即我们刚才创建的数据目录),按回车。

--dbpath 就是选择数据库文档所在的文件夹。 也就是说,mongoDB 中真的有物理文件,对应一个个数据库,U 盘可以拷走。

注意:一定要保持,开机这个 CMD 不能动了,不能关,不能 ctrl+c。 一旦这个 cmd 有问题了,数据 库就自动关闭了。

这样我们就开启了MongoDb服务

8.3 客户端输入 mongo 命令连接服务端

首先,新开一个cmd窗口,刚才开启的服务要一直保持打开状态

假设我们的客户端和服务端都在本机,我们可以直接输入mongo按下回车即可连接上本地数据库服务

输入show dbs即可查看本地数据集合

如果我们要连接一个远端的数据库,则输入mongo ip:port,如

8.4 配置日志文件

在我们刚才创建db文件夹的目录,创建一个log文件夹

管理员身份运行cmd,切换到

输入

mongod --dbpath "E:\MongoDB\db" --logpath "E:\MongoDB\log\mongod.log" --install --serviceName "MongoDB"

这里可以理解为要保存一个名为MongoDB的服务配置,它的数据库目录是E:\MongoDB\db,该数据库产生的日志将输出在E:\MongoDB\log\mongod.log中

最后,我们通过以下命令代替8.2中的方式启动服务,就可以开启、关闭、重启服务

注意:以管理员身份运行,否则可能会启动不成功

启动:net start MongoDB

关闭:net stop MongoDB

NoSql、MongoDb 数据库介绍及MongoDb安装、使用相关推荐

  1. Mongodb数据库介绍

    Mongodb数据库介绍 一种非关系型数据库mongodb,mongodb数据库主要用于海量存储,常被用在数据采集项目中. mongodb官方文档 https://docs.mongodb.com/ ...

  2. MongoDB数据库的简介与安装步骤

    MongoDB数据库的简介与安装步骤 简介 特点 安装步骤 简介 MongoDB是一个基于分布式文件存储的数据库,可为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB介于关系数据库和非关系 ...

  3. MongoDB 数据库(一):MongoDB的介绍与安装

    目录 一.MongoDB数据库的介绍与安装 1.1 NoSQL数据库简介 1.2 MongoDB 简介 1.2.1 再议业务应用场景 1.2.2 为什么要使用 MongoDB 1.2.3 适用场景 二 ...

  4. java连接mongodb_第78天: Python 操作 MongoDB 数据库介绍

    MongoDB 是一款面向文档型的 NoSQL 数据库,是一个基于分布式文件存储的开源的非关系型数据库系统,其内容是以 K/V 形式存储,结构不固定,它的字段值可以包含其他文档.数组和文档数组等.其采 ...

  5. Windows 平台安装 MongoDB数据库(检测是否安装成功、启动和关闭MongoDB数据库)

    参考: 菜鸟教程: Windows 平台安装 MongoDB | 菜鸟教程 windows平台mongoDB安装配置 - ymwangel - 博客园 1.安装: 去官网下载MongoDB Commu ...

  6. MongoDB数据库(了解MongoDB及基础命令,备份数据库)

    文章目录 MongoDB数据库(了解MongDB及基础命令,备份数据库) 什么是MongoDB ? 主要特点 配置mongdb数据库 多实例配置 数据库操作 备份数据库 MongoDB数据库(了解Mo ...

  7. Database Clinic: MongoDB 数据库诊所:MongoDB Lynda课程中文字幕

    Database Clinic: MongoDB 中文字幕 数据库诊所:MongoDB 中文字幕Database Clinic: MongoDB Database Clinic系列针对一系列相同的挑战 ...

  8. mongodb数据库的下载、安装、配置与使用

    一:下载.安装.配置.使用 为了方便下载,我把当时下载的这个解压包,放在百度的云盘上. 1.百度链接:https://pan.baidu.com/s/1xhFsENTVvU-tnjK9ODJ7Ag 密 ...

  9. Mysql学习总结(71)——数据库介绍(MySQL安装 体系结构、基本管理)再回顾

    1.1 数据库简介 数据库,简而言之可视为电子化的文件柜--存储电子文件的处所,用户可以对文件中的数据运行新增.截取.更新.删除等操作.所谓"数据库"系以一定方式储存在一起.能予多 ...

最新文章

  1. Mybatis复习笔记:1
  2. 通过RunLoop监听主线程的卡顿
  3. 在ubuntu下搭建Android的开发环境
  4. 封装绑定以BaseDataList , ListControl 为基类的函数库
  5. MySQL亿级数据数据库优化方案测试-银行交易流水记录的查询
  6. C语言hmacsha1,在C中执行hmac sha1
  7. UE4之脚本导入fbx
  8. Linux之FTP服务、NFS服务、RPC服务及案例
  9. Java事件的垃圾回收机制和跳出多重循环
  10. 人工智能(ai)和专家系统(expert system)的区别
  11. 不可重复读和幻读有什么区别区别?
  12. 关于Excel2003行数(65535)和列数(255)限制问题解决
  13. 《打造Facebook》 读书报告
  14. 回溯算法-八皇后问题
  15. Linux Kernel Patched
  16. 田野调查手记·浮山摩崖石刻(一)
  17. bugku:简单的套娃
  18. Tapdata 创始人唐建法:以秒级响应速度,为企业提供实时数据服务 | 阿里云云原生加速器特别报道
  19. Ubuntu18.04双网卡配置内外网
  20. 自动驾驶汽车的车道检测

热门文章

  1. SpringCloud(9)— Elasticsearch聚合和自动补全
  2. 欢迎使用CSDN-markdown编辑器范德萨发盛大发售发放时防守是大
  3. 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
  4. Lit:介绍、项目搭建
  5. gsoap参数老是记不住,岁月不饶人
  6. 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数
  7. 查看loam的三维点云地图
  8. Elasticsearch:如何在搜索时得到精确的总 hits 数
  9. java 求tan的角度_Java StrictMath tan()用法及代码示例
  10. 创业失败欠债一千多万,身无分文、妻离子散,靠父母的工资过活,怎么翻身?