NoSQL不是不用SQL,是Not only SQL,不仅仅是结构化的查询。

NoSQL兴起的原因

在Web2.0时代新浪一分钟可以发送两万条微博,苹果可以下载4.7万次应用。

数据的高并发性,同时有90万次的查询向百度的服务器提出了搜索要求。还有高扩展性,Web应用千变万化,可能对字段的需求在不断地增加。传统的数据库无法对字段进行简单的扩展。

关系型数据库作为一个统一的数据模型,既被用于数据分析,也被用于在线业务。数据分析强调的是高吞吐量,我要产生大量的计算结果。而在线业务需要低延时,意思是需要快速告诉用户答案用户等不了多长时间。不同的数据要求导致我们需要采用不同的数据管理模式。采用MongDB这样的非关系型数据库解决低延时的问题,采用Hadoop这样的平台和它的文件系统解决数据分析的问题。

关系数据的关键属性与2.0相比,web2.0网站通常不要求严格的数据库事务。而且Web2.0不要求严格的读写实时性。同时Web2.0不包含大量复杂的结构化查询。只需要把关键字放进搜索框里面就可以得到查询结果,不需要去指定是用户名呢,还是作者呢,还是时间呢?去掉了复杂的这样一种结构化的查询。

几届图灵奖的获得者都是关系数据库的领头人。

在Web2.0时代,实际上我们很少有复杂的关系查询。

采用关系数据库的时候都知道,当你的事务被中断的时候你要被滚回的,回复到事务执行之前的状态。而对于NoSQL数据库,我们没有这样的要求,只要最终一致就行了,也就是说经过某一个时间间隔之后你能够达到一致,并不要求实时性的一致。对于一致性的条件,非关系数据库是进行了放松的,同时也就增加了它的灵活性。

关系数据库已经标准化了,已经有了结构化的查询语言。

关系数据库的优劣性

混合架构

NoSQL的四大类型:键值数据库和列族数据库

文档数据库和图形数据库

相关产品

图形数据库

文档数据库

列族数据库

键值对数据库

列族数据库

文档数据库

谷歌的排序算法就是一个典型的图计算。

小结

第五章 大数据平台与技术 第13讲 NoSQL数据库的更多相关文章

  1. 互联网大规模数据分析技术(自主模式)第五章 大数据平台与技术 第10讲 大数据处理平台Hadoop

    大规模的数据计算对于数据挖掘领域当中的作用.两大主要挑战:第一.如何实现分布式的计算 第二.分布式并行编程.Hadoop平台以及Map-reduce的编程方式解决了上面的几个问题.这是谷歌的一个最基本 ...

  2. 第五章 大数据平台与技术 第12讲 大数据处理平台Spark

    Spark支持多种的编程语言 对比scala和Java编程上节课的计数程序.相比之下,scala简洁明了. Hadoop的IO开销大导致了延迟高,也就是说任务和任务之间涉及到I/O操作.前一个任务完成 ...

  3. 第五章 大数据平台与技术第11讲 MapReduce编程

    在大规模的数据当中,需要分发任务,需要进行分布式的并行编程.Hadoop这样一种开源的大数据分析平台. Map阶段 Reduce阶段:相同的键把它聚集到一起之后,然后通过Reduce方式把相同的键聚集 ...

  4. 品友互动大数据平台的技术演化 https://www.sohu.com/a/191202836_99982360

    品友互动大数据平台的技术演化

  5. 大数据平台的技术演化之路 诸葛io平台设计实例

    如今,数据分析能力正逐渐成为企业发展的标配,企业通过数据分析的过程将数据中的信息提取出来,进行处理.识别.加工.呈现,最后成为指导企业业务发展的知识和智慧.而处理.识别.加工.呈现的过程从本质上来讲, ...

  6. 大数据笔记(十三)——常见的NoSQL数据库之HBase数据库(A)

    一.HBase的表结构和体系结构 1.HBase的表结构 把所有的数据存到一张表中.通过牺牲表空间,换取良好的性能. HBase的列以列族的形式存在.每一个列族包括若干列 2.HBase的体系结构 主 ...

  7. Spark大型项目实战:电商用户行为分析大数据平台

    本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分 ...

  8. 案例分析:大数据平台技术方案及案例(ppt)

    大数据平台是为了计算,现今社会所产生的越来越大的数据量,以存储.运算.展现作为目的的平台.大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力.适用于大数据的技术,包括大规模并行处理(MPP ...

  9. AI加持的阿里云飞天大数据平台技术揭秘

    摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...

随机推荐

  1. Oracle冷备份和热备份的实践(原创)

    参考本博转发的备份博文和上传的文件,进行了冷热备份实践并进行了记载以备以后查阅,本次实践的环境是win10,安装了oracle11g 一.冷备份 1.cmd->sqlplus /nolog 2. ...

  2. 手动封装OpenCV1.0的IplImage读取保存功能遇到的小问题

    最近准备重新学习图像处理的知识,主要目的是自己实现一遍图像处理的算法,所以除了读取.保存图像外的操作都自己写,没想到直接封装OpenCV的读取.保存功能的第一步就出错.关键代码如下 void MyIm ...

  3. 【学习记录】二分查找的C++实现,代码逐步优化

    二分查找的思想很简单,它是针对于有序数组的,相当于数组(设为int a[N])排成一颗二叉平衡树(左子节点<=父节点<=右子节点),然后从根节点(对应数组下标a[N/2])开始判断,若值& ...

  4. LogStation 支持浏览器实时查看日志

    我们在logback 分布式日志汇总中已经将日志输出到了all.logs,LogStation支持浏览器实时查看日志,适合研发和运维彼此独立的场景:研发没有服务器权限,却想看日志实时输出.再配合ngi ...

  5. [转载]嵌入式linux启动时运行的inittab文件

    源地址:https://www.cnblogs.com/yfz0/p/5853826.html 嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要 ...

  6. (转)Inno Setup入门(十)——操作注册表

    本文转载自:http://blog.csdn.net/yushanddddfenghailin/article/details/17250871 有些程序需要随系统启动,或者需要建立某些文件关联等问题 ...

  7. Java-Runoob-高级课程:Java 8 新特性

    ylbtech-Java-Runoob-高级课程:Java 8 新特性 1.返回顶部 1. Java 8 新特性 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本. Or ...

  8. Tool:Visual Studio Code

    ylbtech-Tool:Visual Studio Code Microsoft在2015年4月30日Build 开发者大会上正式宣布了 Visual Studio Code 项目:一个运行于 Ma ...

  9. 1123 Is It a Complete AVL Tree

    1123 Is It a Complete AVL Tree(30 分) An AVL tree is a self-balancing binary search tree. In an AVL t ...

  10. iframe显示跨域url页面

    可以通过JS搞定跨域问题,但是比较麻烦,我就在后台处理了,其实这样本质上也算不上是跨域了 后台otherwebsite.php: <?php $url="www.otherwebsit ...