【分享】大数据存储与处理44

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

大数据存储与处理韩冀中Email:hanjizhong@iie.ac.cn中国科学院信息工程研究所“大数据”“KeepingAfloatinaSeaof'BigData”ITBusinessEdge–9/6/11“Whybigdataisabigdeal”InfoWorld–9/1/11“Thechallenge–andopportunity–ofbigdata”McKinseyQuarterly—5/11“GettingaHandleonBigDatawithHadoop”Businessweek-9/7/11“TenreasonswhyBigDatawillchangethetravelindustry”Tnooz-8/15/11“ThepromiseofBigData”IntelligentUtility-8/28/11近两年信息技术领域最时髦的词汇麦肯锡全球研究所去年的调查报告显示,美国需要14万至19万名以上具备“深度分析”专长的人员,而对具备数据知识的经理的需求超过150万。大数据无处不在•科学研究–基因组–LHC加速器–地球与空间探测•企业应用–Email、文档、文件–应用日志–交易记录•Web1.0数据–文本–图像–视频•Web2.0数据–查询日志/点击流–Twitter/Blog/SNS–Wiki大数据的四个特征VOLUME大量化VELOCITY快速化VARIETY多样化VALUESOCIALBLOGSMARTMETER101100101001001001101010101011100101010100100101大数据不仅仅是数据的“大量化”,而是包含“快速化”、“多样化”和“价值化”等多重属性。Volume——“大量化”•2010年,全球数据量已达1.2ZB,到2020年将暴增30倍达35ZB数据的量度进入大数据的时代•2011年,中国互联网行业持有数据总量达到1.9EB(1EB字节相当于10亿GB)•2011年,全球被创建和复制的数据总量为1.8ZB(1.8万亿GB)•2013年,我们生成这样规模的信息量只需10分钟•2015年,全球被创建和复制的数据总量将增长到8.2EB以上•2020年,全球电子设备存储的数据将暴增30倍,达到35ZBVelocity——快速化•每秒钟,人们发送290万封电子邮件•每分钟,人们向Youtube上传60个小时的视频•每一天,人们在Twitter上发消息1.9亿条微博•每一天,人们在Twitter上发出3.44亿条消息•每一天,人们在Facebook发出40亿条信息从数据的生成到消耗,时间窗口非常小,可用于生成决策的时间非常少。Variety——多样化•大数据是由结构化和非结构化数据组成的•10%的结构化数据,存储在数据库中•90%的非结构化数据,它们与人类信息密切相关•非结构化数据类型多样•邮件、视频、微博•位置信息、链接信息•手机呼叫、网页点击•“长微博”用户10%结构化数据90%非结构化数据第4个V——Value•Value——价值化–科学研究–企业应用–社会网络互联网生态结构转变的影响截止2012年6月,中国有网民5.38亿,其中手机网民达到3.88亿。移动互联网促进了大数据的出现•移动互联网使得人类社会可以“测量”–与4世纪前发明的显微镜一样具有重大的意义–移动互联网产生更多用户活动与行为的数据一些有趣的移动互联网应用•移动互联网时代的数据飞速增长–过去3年产生的数据量比过去4万年还要多•掌握大数据之后该怎么做?数据的膨胀及其应对1600EB161EB5年的信息量增加10倍!大数据存储与处理面临的挑战如何弹性地应对数据和负载的动态变化如何有效存储和处理海量的数据如何支持大数据上的智能分析和事务处理系统问题管理问题应用问题流行的分布式存储与计算技术分布式存储技术无结构数据半结构化数据BigTableDynamoCassandraMongoDBGFSHayStackCeph分布式计算技术DryadPregelMapReduce结构化数据GreenplumVoltDBHive1、“大数据”的存储与管理•解决的问题–海量文件的存储与管理–海量小文件的存储、索引和管理–海量大文件的分块与存储–系统扩展性与可靠性•代表性系统–GFS(HadoopDFS)–FacebookHayStack–BigTableGoogleFileSystem•单元数据服务器,多数据服务器•大数据块,顺序读写优化•数据多副本容错“大数据”使得元数据成为问题HDFSFederation方法一:多元数据服务器FacebookHayStackFileSystem•目录服务器–负责将文件映射到物理设备–完成URL到存储服务器的映射•缓存服务器–减少磁盘I/O次数–降低访问延迟•存储服务器–包括存储文件和内存索引方法二:根据应用特征简化元数据大数据与NOSQL•出现的原因–社会网络带来的数据膨胀(Facebook,Twitter)–大量非文件形式的互联网数据(Google、Yahoo!)–云计算所需的云存储(AmazonS3)–开源社区的发展(Hadoop)•分布式键值对数据存储系统–数据以键值对的形式存储(按键访问)•GoogleBigTable,•Yahoo!Sherpa/PNUTS•AmazonDynamo•...不是NoSQL,而是NotOnlySQLNOSQL与CAPTheorem•系统的三个特性–Consistency一致性(所有副本的值相同)–highAvailability可用性(部分失效时系统可运行)–tolerancetonetworkPartitions可分区性(网络故障时,每个网络分区均可独立工作)•Brewer的CAP“Theorem”:任何基于网络的数据共享系统最多只能满足这三个属性中的两个(PODC2000)•网络故障难以避免,一致性与可用性的权衡–传统数据库一致性–大多数网络应用可用性AABA违背一致性BA违背可用性BB违背可分区性BA12年之后看CAPTheorem•CAPTheorem–2000年的PODCKeynote–12年来NOSQL设计者的依据•“三取二”的误区–分区很少发生,为此牺牲C或A不划算–C和A之间无法“一次选择,终生受益”–C、A、P之间有许多权衡,并非绝对•两种模式–“运行态”:C、A、P–“维护态”:C或A之间权衡ACID与CAPACID•Atomicity(A)原子性•Consistency(C)一致性–涉及DB内部所有规则–网络分区时,ACID的C实际上无法维护(分区时,有些操作应禁止)•Isolation(I)隔离性•Durability(D)持久性CAP•Consistency一致性–仅指复制一致性•highAvailability可用性•tolerancetonetworkPartitions可分区性CAP之间的一个新平衡点•网络侦测,及时掌控网络分区状态•进入“PartitionMode”,限制部分操作•通信恢复时,进行“partitionrecovery”–错误的特殊处理(做一个类比:ATM)BASE•BASE–BasicallyAvailable–Softstate–Eventualconsistency•所有节点在更新后保持一致,但在此之前可能不一致。•对于指定节点,最终均为进行更新,或者被移除。“大数据”存储管理的小结2、“大数据”系统管理分区在一个物理机上运行多个OS更充分利用服务器资源支持高可用——分区之间可以组建集群(负载均衡、双机容错)隔离从硬件层面隔离系统故障和安全威胁在虚拟机之间动态的分配CPU、内存等系统资源保证服务可用封装将虚拟机封装成与硬件配置无关的文件随时对虚拟机进行快照通过简单的文件拷贝对虚拟机进行迁移弹性资源管理离不开虚拟化技术虚拟化之——虚拟机•完全虚拟化这种技术在虚拟机和底层硬件之间建立的抽象层:Hypervisor来管理各个虚拟机。完全虚拟化技术几乎能让兼容所有的操作系统,但中间层的代码转换会给系统带来开销。完全虚拟化技术目前的项目主要有VMware,KVM等。•部分虚拟化(半虚拟化)完全虚拟化要求Hypervisor管理各个虚拟服务器,并提供代码级别的翻译转换,因此负担沉重。部分虚拟化就是为了减轻这种负担:改动客户操作系统,集成与Hypervisor协同工作的界面,从而提升了性能。如Xen等。•操作系统级别的虚拟化操作系统层虚拟化没有独立的Hypervisor层,主机操作系统负责在多个虚拟服务器之间分配硬件资源,这种虚拟化方式速度最快,不过操作系统的类型受到了严格的限制。如LinuxContainer等。虚拟机(VM)介绍以VMWare、XEN为代表是一种系统级别的虚拟方式,可以将按照用户需求构造虚拟的计算单位、存储、网络等设备资源,提供了一种透明而自然的虚拟计算环境,实现隔离级别最高的资源管理方案,适宜于具有不同操作系统要求的作业间进行资源分配。图1.完全虚拟化Vmware等图2.半虚拟化Xen等资源容器介绍以LXC(linuxcontainer)、OpenVZ为代表。OS级别的虚拟方案,可以在同一操作系统中提供多个互相隔离的用户空间实例,适宜于对同构操作系统和运行环境中的作业进行资源分配和隔离。图3.操作系统级别的虚拟化LXC、OpenVZ等腾讯案例业务类型多QQZone、农牧场、游戏、视频、邮箱、门户、开发环境、网络监控等业务规模大QQ用户突破6亿,同时在线1亿,未来腾讯在线运营的服务器数量将会过数十万台,存储设备空间超过千PB,维护的IDC遍布全国。业务突发性强快速占领市场,占领用户,业务需要快速的资源请求回应问题:各个部门维护自己的集群服务器。各部门的集群服务器负载不高,资源浪费严重集群资源的弹性管理基于LinuxContainer的集群资源管理资源调度与分配资源的实时监控machinecontainercontainermachine调度监控machinecontainercontainermachinecontainercontainer资源申请与控制实时上报container的资源情况进行监控根据机器的资源使用状况动态分配任务资源3、“大数据”的计算•高性能集群计算–MPI–PVM•多核并行计算–OpenMP–pThread•云计算–MapReduce等•“大数据”的计算–StreamComputing–GraphComputing等分布式与并行计算分布式并行计算的几种常见模型基于线程的共享内存模型•Posixthreads•OpenMP基于消息的分布式内存模型•MPI基于文件的并行编程模型•MapReduce通信常常是并行计算的瓶颈38计算与存储的关系computeserversstorageserversModel1:SeparateCompute/Storagecompute/storageserversModel2:Co-locatedCompute/StorageComputeandstoragecanscaleindependentlyManyopportunitiesforreliabilityNocomputeresourcesareunder-utilizedPotentialforhigherthroughput集群的典型结构TORSwitch包含N个服务器节点的机架连接到R个机架BWswitchBWdiskBWnodepcoresddisks集群交换机外网集群的交换机很快将成为瓶颈本地化成为关键编程模型与通信机制PosixThreadsOpenMPMPIMapReduce媒介线程线程消息文件同步读/写同步读/写同步在同步点通信对用户透明粒度最细细较粗粗粒度•通信机制是编程模型的映射,大体可分为基于线程、消息和文件三种•基于线程和基于消息的编程模型均需要用户编程来实现数据通信•基于文件的编程模型并行粒度较粗,不适合逻辑复杂的细粒度并行任务“大数据”的计算传统的分布式并行计算无法满足大数据的计算需求V

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功