NoSQL和MongoDb 数据库介绍
数据库和文件的主要区别
- 数据库有数据库表、行和列的概念,让我们存储操作数据更方便
- 数据库提供了非常方便的接口,可以让 nodejs、php java .net 很方便的实现增加修改删 除功能。
NoSql 介绍
由于互联网的迅速发展,云计算与 Web2.0。这样大量的交互给数据库提出了更高的性能要求,传统的数据库(本文泛指 SQL 数据库),即关系数据库虽然具备良好的事物管理,但在 处理大量数据 的应用 时很难 在性能 上满足 设计要求。NoSQL 就是主要为了解决当下大量高并发高要求的数据 库应用 需求,关系数 据库 具有严 格的参 照性,一致性 ,可用 性,原子性 ,隔离 性等特 点,因此会产生一些例如表连接等操作,这样会大大降低系统的性能。而在当前很多应用场景下对性能的要求 远远强 于传统 数据库 关注的 点,NoSQL 就是为了解决大规模数据与多样数 据种类 等问题,尤其是其中大数据的相关问题。 。NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是 SQL”,它指的是非关系型的数据库,是以 key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL 标准ACID 属性、表结构等等。NoSQL 最早被提出是在 20 世纪 80 年代,在当时更多是强调的是与关系数据库区 别对待 ,最近这些年被提及的更多是强调协助解决大数据等相关问题。NoSQL 在大数据时代有自己的意义。
NoSQL 应用情况
国内的互联网蓬勃发展,不仅涌现出 BAT(百度,阿里巴巴,腾讯)之类的巨头,也带动了整个互联 网行业的发展,大量的创业型公司如春笋般的涌出,在国家层面也提出了“互联网+”和“万众创业”的口 号。更多传统的行业也开始拥抱互联网。但是无论是做所谓的生态平台还是 传统业务的转型,涉及到的业 务是多种多样的。这个时候企业架构师对于应用系统的核心——数据库管理 SQL NoSQL NoSQL 数据库在以下的这几种情况下比较适用:
1、数据模型比较简单;
2、需要灵活性更强的 IT 系统;
3、对数据库性能要求较高;
4、不需要高度的数据一致性;
5、对于给定 key,比较容易映射复杂值的环境。
国内的互联网蓬勃发展,不仅涌现出 BAT(百度,阿里巴巴,腾讯)之类的巨头,也带动了整个互联 网行业的发展,大量的创业型公司如春笋般的涌出,在国家层面也提出了“互联网+”和“万众创业”的口 号。更多传统的行业也开始拥抱互联网。但是无论是做所谓的生态平台还是 传统业务的转型,涉及到的业 务是多种多样的。这个时候企业架构师对于应用系统的核心——数据库管理 SQL NoSQL 这种适合特定场景需求的选项。
NoSQL 发展现状
国内:百度、阿里、腾讯、新浪微博、视觉中国、优酷运营数据分析、飞信空间、豆瓣社区等..
什么时候建议使用 NoSql
1、对数据库高并发读写的需求
2、对海量数据的高效率存储和访问的需求
3、对数据库的高可扩展性和高可用性的需求
NoSql 和传统数据库简单对比
- 非结构型数据库。没有行、列的概念。JSON 来存储数据。
- 集合就相当于“表 ”,文档就相当于“行”。
MongoDb 介绍
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像 json 的 bson 格式,因此可以存储比较复杂的数据类 型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以 实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。它的特点是高 性能 、易部署 、 易使用 ,存储数据非常 方便 。
手册:https://docs.mongodb.org/manual/
下载地址:https://www.mongodb.com/download-center/enterprise
安装完成配置环境变量 C:\Program Files\MongoDB\Server\3.0\bin 加入到系统的path 环境变量中