一、nosql的简介

   Nosql的全称是Not Only Sql,这个概念早起就有人提出,
而我们常用的都是关系型数据库。就像我们常用的mysql,sqlserver一样,
这些数据库一般用来存储重要信息,应对普通的业务是没有问题的。
但是,随着互联网的高速发展,传统的关系型数据库在应付超大规模,
超大流量以及高并发的时候力不从心。而就在这个时候,Nosql得到的告诉的发展。

二、Nosql和关系型数据库的区别
1.存储方式

  关系型数据库是表格式的,因此存储在表的行和列中。他们之间很容易关联协作存储,
通常存储在数据集中,就像文档、键值对或者图结构。

2.存储结构

关系型数据库对应的是结构化数据,数据表都预先定义了结构(列的定义),
结构描述了数据的形式和内容。这一点对数据建模至关重要,
虽然预定义结构带来了可靠性和稳定性,但是修改这些数据比较困难。
而Nosql数据库基于动态结构,使用与非结构化数据。
因为Nosql数据库是动态结构,可以很容易适应数据类型和结构的变化。

3.存储规范

关系型数据库的数据存储为了更高的规范性,把数据分割为最小的关系表以避免重复,
获得精简的空间利用。虽然管理起来很清晰,但是单个操作设计到多张表的时候,
数据管理就显得有点麻烦。而Nosql数据存储在平面数据集中,
数据经常可能会重复。单个数据库很少被分隔开,而是存储成了一个整体,
这样整块数据更加便于读写

4.存储扩展

这可能是两者之间最大的区别,关系型数据库是纵向扩展,也就是说想要提高处理能力,
要使用速度更快的计算机。因为数据存储在关系表中,操作的性能瓶颈可能涉及到多个表,
需要通过提升计算机性能来克服。虽然有很大的扩展空间,
但是最终会达到纵向扩展的上限。而Nosql数据库是横向扩展的,
它的存储天然就是分布式的,可以通过给资源池添加更多的普通数据库服务器来分担负载。

5.查询方式

关系型数据库通过结构化查询语言来操作数据库(就是我们通常说的SQL)。
SQL支持数据库CURD操作的功能非常强大,是业界的标准用法。
而Nosql查询以块为单元操作数据,使用的是非结构化查询语言(UnQl),
它是没有标准的。关系型数据库表中主键的概念对应Nosql中存储文档的ID。
关系型数据库使用预定义优化方式(比如索引)来加快查询操作,
而Nosql更简单更精确的数据访问模式。

6.事务

 关系型数据库遵循ACID规则(原子性(Atomicity)、一致性(Consistency)、
(基本可用(Basically Availble)、软/柔性事务(Soft-state )、最终一致性(Eventual Consistency))。由于关系型数据库的数据强一致性,
所以对事务的支持很好。关系型数据库支持对事务原子性细粒度控制,
并且易于回滚事务。而Nosql数据库是在CAP(一致性、可用性、分区容忍度)中任选两项,因为基于节点的分布式系统中,很难全部满足,所以对事务的支持不是很好,
虽然也可以使用事务,但是并不是Nosql的闪光点。

7.性能

 关系型数据库为了维护数据的一致性付出了巨大的代价,读写性能比较差。
而Nosql存储的格式都是key-value类型的,并且存储在内存中,非常容易存储,
而且对于数据的 一致性是 弱要求。Nosql无需sql的解析,提高了读写性能。

8.授权方式

 关系型数据库通常有SQL Server,Mysql,Oracle。主流的Nosql数据库有redis,
成本较大,而Nosql数据库通常都是开源的。

三、为什么使用NoSQL ?

今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。
用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。
我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了,NoSQL数据库的发展也却能很好的处理这些大的数据

【nosql】NoSql是什么?相关推荐

  1. http://sebug.net/paper/databases/nosql/Nosql.html

    NoSQL数据库笔谈 databases , appdir , node , paper 颜开 , v0.2 , 2010.2 序 思想篇 CAP 最终一致性 变体 BASE 其他 I/O的五分钟法则 ...

  2. php 量 高并发 nosql,nosql - 高并发下Apache+mongodb的php驱动不稳定

    我的环境 : Apache/2.2.21 (Win32) PHP/5.4.3 测试代码 : selectDB("npm")->selectCollection("u ...

  3. Redis初学:1(NoSQL的简介和Redis的安装)

    什么是NoSQL NoSQL数据库意即:Not Only SQL 不仅仅是SQL,它区别于传统的关系型数据库,储存方式按照的是key-value的形式存储数据,这个我们可以联想到我们以前学过的Hash ...

  4. 三藏一面:为什么要用 NoSQL

    本文来自我的一次真实面试经历. 这家公司的真名就叫做"三藏",和我的名字"悟空"很契合,唐三藏给悟空面试,合情合理,还带有一丝趣味,所以我就去面试了.三藏公司是 ...

  5. 图解|什么是高并发利器NoSQL

    1.迷茫的小黑 小黑最近有点郁闷. 手头的工作不是特别喜欢,技术退步有点严重,于是想出去看看机会. 小黑通过朋友内推,前几天去北京CBD附近的一家名叫宇节蹦跶的公司面试,被一些问题三连击直接跪掉了. ...

  6. 非关系型数据库-NoSQL(Redis)

    文章目录 一.什么是 NoSQL? 二.NoSQL 的特性? 三.什么是 Redis? 四.Redis 安装部署 4.1 下载安装包 4.2 编译安装 4.3 修改配置文件 4.4 启动服务 4.5 ...

  7. C#写的NoSQL开源项目/系统(系列)

    闲扯 好久没写开源项目了,也没写对新开源项目的介绍,今晚看了几个项目,写一下. 前言 一直推崇纯C#的解决方案,无论是多年写的各种文件格式的读写(如office系列的xls/xlsx/doc/docx ...

  8. 《Spark大数据分析:核心概念、技术及实践》一1.5 NoSQL

    本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1.5节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问云栖社区& ...

  9. [转载]C#写的NoSQL开源项目/系统(系列)

    闲扯 好久没写开源项目了,也没写对新开源项目的介绍,今晚看了几个项目,写一下. 前言 一直推崇纯C#的解决方案,无论是多年写的各种文件格式的读写(如office系列的xls/xlsx/doc/docx ...

  10. nosql数据库学习总结

    大数据时代的数据库选择:SQL还是NoSQL? 执行大数据项目的企业面对的关键决策之一是使用哪个数据库,SQL还是NoSQL?SQL有着骄人的业绩,庞 大的安装基础;而NoSQL正在获得可观的收益,且 ...

最新文章

  1. 支持手机版网站的We7CMS
  2. 请问:这里的空应怎么填呀?
  3. 453. Minimum Moves to Equal Array Elements (python)
  4. python提交post请求payload webkit_python爬虫实现POST request payload形式的请求
  5. matlab中利用princomp实现PCA降维
  6. 解决eclipse中tomcat无法识别maven web项目问题
  7. 实验七 不同网段的dhcp
  8. 04737 c++ 自学考试2019版 第六章课后练习 程序设计题 1
  9. 数据通过蓝牙传输中...70.46k/s
  10. 对超级计算机的认识有关论文,计算机科与技术专业的认识与思考.docx
  11. ACM程序设计选修课——1024: 末位零(求末尾0的方法+可有可无的快速幂)
  12. 强制 Google.com 域名使用 HTTPS(SSL)
  13. 排除包_冷水机压缩机压缩机常见故障和排除方法
  14. 反恐精英ol永恒python厉害吗_【CS】Python高阶
  15. 备战数学建模10-主成分分析模型与因子分析模型
  16. 【大数据时代】前端数据可视化利器D3.js、highcharts、echarts(毕设调研)
  17. Polar SC的C++实现
  18. 用大智慧实现大数据的大价值
  19. Linq 的使用方法
  20. C语言 程序 素数圈圈

热门文章

  1. 公司支付给临时工的劳务费,无法取得发票如何做账?
  2. 一步步实现SDDC-部署VC后的配置
  3. Linux学习总结(54)——Red Hat Enterprise Linux与CentOS的区别
  4. Java基础学习总结(104)——多线程、并发、工具类相关的面试题
  5. android 玩pc游戏,Shield掌机试玩: Android系统 可玩PC单机游戏
  6. 默认栅格大小为多少_用于创建空栅格的ST_MakeEmptyRaster函数
  7. python企业微信特定用户_python3调用企业微信api!开发一款属于自己的企业微信...
  8. python writelines_Python文件writelines()方法
  9. win7分区软件_小编给你传授 win7系统给硬盘分区的修复方案 -win7系统使用教程...
  10. 新浪微博MySQL优化的小结和反思 | 数据库专题02