第五章 大数据平台与技术 第13讲 NoSQL数据库

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数据库的更多相关文章
- 互联网大规模数据分析技术(自主模式)第五章 大数据平台与技术 第10讲 大数据处理平台Hadoop
大规模的数据计算对于数据挖掘领域当中的作用.两大主要挑战:第一.如何实现分布式的计算 第二.分布式并行编程.Hadoop平台以及Map-reduce的编程方式解决了上面的几个问题.这是谷歌的一个最基本 ...
- 第五章 大数据平台与技术 第12讲 大数据处理平台Spark
Spark支持多种的编程语言 对比scala和Java编程上节课的计数程序.相比之下,scala简洁明了. Hadoop的IO开销大导致了延迟高,也就是说任务和任务之间涉及到I/O操作.前一个任务完成 ...
- 第五章 大数据平台与技术第11讲 MapReduce编程
在大规模的数据当中,需要分发任务,需要进行分布式的并行编程.Hadoop这样一种开源的大数据分析平台. Map阶段 Reduce阶段:相同的键把它聚集到一起之后,然后通过Reduce方式把相同的键聚集 ...
- 品友互动大数据平台的技术演化 https://www.sohu.com/a/191202836_99982360
品友互动大数据平台的技术演化
- 大数据平台的技术演化之路 诸葛io平台设计实例
如今,数据分析能力正逐渐成为企业发展的标配,企业通过数据分析的过程将数据中的信息提取出来,进行处理.识别.加工.呈现,最后成为指导企业业务发展的知识和智慧.而处理.识别.加工.呈现的过程从本质上来讲, ...
- 大数据笔记(十三)——常见的NoSQL数据库之HBase数据库(A)
一.HBase的表结构和体系结构 1.HBase的表结构 把所有的数据存到一张表中.通过牺牲表空间,换取良好的性能. HBase的列以列族的形式存在.每一个列族包括若干列 2.HBase的体系结构 主 ...
- Spark大型项目实战:电商用户行为分析大数据平台
本项目主要讲解了一套应用于互联网电商企业中,使用Java.Spark等技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为.页面跳转行为.购物行为.广告点击行为等)进行复杂的分析.用统计分 ...
- 案例分析:大数据平台技术方案及案例(ppt)
大数据平台是为了计算,现今社会所产生的越来越大的数据量,以存储.运算.展现作为目的的平台.大数据技术是指从各种各样类型的数据中,快速获得有价值信息的能力.适用于大数据的技术,包括大规模并行处理(MPP ...
- AI加持的阿里云飞天大数据平台技术揭秘
摘要:2019云栖大会大数据&AI专场,阿里云智能计算平台事业部研究员关涛.资深专家徐晟来为我们分享<AI加持的阿里云飞天大数据平台技术揭秘>.本文主要讲了三大部分,一是原创技术优 ...
随机推荐
- LG2590 [ZJOI2008]树的统计
题意 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w. 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: ...
- mint-ui框架的使用
1.安装mint-ui框架: cnpm install mint-ui --save-dev 在main.js入口文件中引入并命名用mint-ui框架 import Vue from 'vue' im ...
- luvit 被忽视的lua 高性能框架(仿nodejs)
备注: luvit 开放模式和nodejs 一样,但是因为生态以及小众语言的问题,使用的人比较少,但是从目前 来看更新速度还是比较快的,但是从现有lua 开发框架来说一般倾向于使 ...
- OpenStack_Swift源代码分析——Ring的rebalance算法源代码具体分析
1 Command类中的rebalnace方法 在上篇文章中解说了,创建Ring已经为Ring加入设备.在加入设备后须要对Ring进行平衡,平衡 swift-ring-builder object.b ...
- server 2012系统更改电脑密码
在server2012系统中将鼠标指针移至任务栏右侧,在弹出的操作栏中单击“设置”选项. 在打开的设置操作界面中,鼠标单击“控制面板”选项. 在打开的控制面板选项窗口中,单击“管理工具”选 ...
- Oracle 块修改跟踪 (Block Change Tracking) 说明
Block ChangeTracking 是Oracle 10g里推出的特性.官网对Block change tracking 的定义如下: Adatabase option that causes ...
- sql的一些事件处理
select getdate() select Convert(varchar(10),getdate(),120) yyyy-mm-ddselect Convert(varchar(20),getd ...
- 在Mac OS上搭建Python的开发环境
本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执行执行环境,用来运行python还行,但是开发可 ...
- ubuntu :扩充虚拟机的磁盘容量
前言: 开始建立虚拟机的时候给的容量是20G,给了10G的交换空间,所以后来有点不够用了,现在安装软件会出现提示磁盘空间不足,所以需要扩充一下磁盘的容量. 步骤: 1.因为我用的是Vmware ...
- WebApi和Andriod对接访问模式问题
最近在做WebApi和Andriod接口的对接,中途出现一个问题就是返回格式的问题.由于之前使用WebService的时候使用的一直都是json的序列化和反序列话格式,所以一开始在webapi中通样使 ...