当前位置:
文档之家› 大数据技术核心技术介绍2(精)
大数据技术核心技术介绍2(精)
大数据的性能要求
High performance - 高并发读写,高并发、实时动态数 据查询和修改。 Huge Storage - 海量数据的高效存储和访问,类似SNS 网站,海量用户信息的高效、实时存储和查询。 High Scalability && High Availability - 高可扩展性和 高可用性,需要拥有快速横向扩展能力、提供7*24小时不 间断服务。
使用MapReduce求解该问题
Step 2:在分割之后的每一对<key,value>进行用户定 义的Map进行处理,再生成新的<key,value>对
使用MapReduce求解该问题
Step 3:对输出的结果集归拢、排序(系统自动完成)
使用MapReduce求解该问题
Step 4:通过Reduce操作生成最后结果
关系数据库处理大数据的弱势
面对高并发读写的需求,数据库读写压力巨大,硬盘IO无 法承受。 面对海量数据,数据库能存储的记录数量有限,SQL查询 效率极低。 横向扩展艰难,无法通过快速增加服务器节点实现,系统 升级和维护造成服务不可用。
NoSQL处理大数据的优势
数据库结构简单,数据间无关系性,这自然就带来了很高的 读写性能,且易扩展。 灵活的数据模型,可以随时存储自定义的数据格式。而在关 系数据库里,增删字段是件麻烦的事。尤其大数据量的表, 增加字段简直就是一个噩梦。 通过复制模型可实现高可用性,可以分布部署在低廉的PC 集群上。 支持动态增加、删除服务器节点,随时控制硬件投入成本。
关系数据库的表结构(学生、地址、成绩、科目):
Address addressid address city state Students addressid name postalcode
studentid
Scores scoreid studentid courseid grade Courses courseid name
什么是NoSQL? NoSQL的主要特征是什么? MongoDB有什么作用?
NoSQL是Not Only SQL的缩写,而不是Not SQL,它不一
定遵循传统数据库的一些基本要求,如SQL标准、ACID属性、
表结构等。
相比传统数据库,叫它分布式数据管理系统更贴切,数据存储
被简化更灵活,重点被放在了分布式数据管理上。
NoSQL的表结构(学生、地址、成绩、科目):
Students
_id : 007
name : "Jane"
address : address : "123 Main St." city : "New York" state : "NY" postalcode : "10014" scores : Biolgy : 4.0 English : 3.0
大数据的特征
Volume - 数据量巨大,对TB、PB数据级的处理,已经成 为基本要求。 Variety - 数据多样性,能处理结构化、非结构化数据,能 处理Web数据,甚至语音、图像、视频数据。 Velocity - 数据实时性,在客户每次浏览页面,下订单的 过程中,都会对用户进行实时的产品推荐,购买决策已经 变得非常实时。
Replica Sets架构
Primary服务器:将数据同步到多个 Secondary 上。 Secondary服务器:热机备份主服务器上的数据,分担主机读压力, 当主机发生故障不能工作,随时接管主机工作。
Primary
Secondary1
Secondary2
Sharding是什么?
大数据和云计算 是什么关系? 大数据的核心技术 有哪些?
给定一个巨大的文本(如1TB),如何计算 单词出现的数目?
使用MapReduce求解该问题
定义Map和Reduce函数
使用MapReduce求解该问题
Step 1: 自动对文本进行分割,形成初始的 <kealue存储
列式存储
文档型存储
图结构存储
一个分布式文件存储数据库。 功能最丰富、最像关系数据库的产品。 数据结构采用JSON格式,因此可以存储比较复杂的数据模型 。 查询语言强大,支持索引、MapReduce等功能。 面向文档,以K/V形式存储数据。 支持主/从服务器间的数据复制和故障恢复。 支持自动分片。
分片是指将数据拆分,将其分散到不同服务器上的过程。 通过分片能够增加更多的服务器,来应对不断增加的负载 和数据。
MongoDB何时需要分片?
机器的磁盘不够用。 单个mongod服务已经不能满足写数据的性能需求。
Replica Sets + Sharding