NoSQL与MongoDB简介

2020-11-26 16:34:02 浏览数 (1)

互联网的迅速发展,这样大量的交互给数据库提出了更高的性能要求,传统的关系数据库虽然具备良好的事物管理,但在处理大量数据的应用时很难在性能上满足设计要求。NoSQL就是主要为了解决当下大量高并发高要求的数据库应用需求,由于关系数据库具有严格的参照性,一致性,可用性,原子性,隔离性等特点,因此会产生一些例如表连接等操作,这样会大大降低系统的性能。而在当前很多应用场景下对性能的要求远远强于传统数据库关注的点,NoSQL 就是为了解决大规模数据与多样数据种类等问题,尤其是中大数据的相关问题。

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它指的是非关系型的数据库,是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL 标准、ACID 属性、表结构等等。NoSQL 最早被提出是在20 世纪80 年代,在当时更多是强调的是与关系数据库区别对待,最近这些年被提及的更多是强调协助解决大数据等相关问题,NoSQL 在大数据时代有自己的意义。

NoSQL 数据库适用于哪些情况?

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

什么时候建议使用NoSQL ?

(1). 对数据库高并发读写的需求; (2). 对海量数据的高效率存储和访问的需求; (3). 对数据库的高可扩展性和高可用性的需求。

NoSQL 和传统数据库有什么区别?

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

NoSQL 有哪些种类?

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

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

(2). 列存储数据库

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

(3). 文档型数据库

文档型数据库的灵感来自于Lotus Notes办公软件,而且它与键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。如MongoDB,国内也有文档型数据库SequoiaDB,已经开源。

(4). 图形(Graph)数据库

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

MongoDB简介

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

MongoDB的安装

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

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

注意:部分 win7 系统需要安装补丁,KB2731284

(1). 双击 MongoDB 软件进行安装

(2). 安装完成配置环境变量 C:Program FilesMongoDBServer3.0bin 加入到系统的 path 环境变量中

(3). 打开 cmd 输入 :mongo命令看看是否成功。如果出来下图说明 mongodb配置成功。

MongoDB的使用

(1). 新建一个存放数据库的文件夹,注意:不能有中文和空格,建议不要放在 C 盘

(2). 服务端启动 MongoDB 服务

①. 启动服务:mongod

②. 开启数据库:mongod --dbpath C:mongodb

--dbpath 就是选择数据库文档所在的文件夹,C:mongodb 为第一步中新建的文件夹。

也就是说,mongoDB 中,真的有物理文件,对应一个个数据库,可以随时进行复制。

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

(3). 客户端输入 mongo 命令连接服务端

①. 连接本地数据:mongo

②. 连接远程数据库:mongo 使用数据库 ip 地址:端口号 ,如mongo 127.0.0.1:27017

0 人点赞