大数据细节大全
基本介绍中文名:大数据mbth: Big Data或:巨量数据包括:数据量的基本信息、时效性和多样性、技术综述、缓存、分布式数据库、分布式系统、数据集市、NoSQL、摘要、基本信息大数据,说的不仅仅是数据量,其实还包括数据量、时效性、多样性、怀疑:量:大量数据的产生、处理、保存,字面意思是大数据,也就是我看到过的速度这个词的几种解释:时效性。但我觉得用IBM的解释更合适,就是处理的时效性。由于前面提到的大数据的用途之一是做市场预测,处理的时效性太长就失去了预测的意义,所以处理的时效性对于大数据来说也是非常关键的。500万数据的深度分析可能只需要5分钟。多样性:可变性是指数据的形式。结构化和非结构化数据,包括文字、视频、网页、流等。准确性:可疑性是指当数据来源变得更加多样化时,数据本身的可靠性和质量是否足够。如果数据本身有问题,分析结果就不正确。技术概述大数据是最近的技术热点,但从名字上看并不是一个新词。毕竟大是一个相对的概念。历史上,信息管理领域的数据库、数据仓库、数据集市等技术也很大程度上是为了解决大规模数据的问题。早在20世纪90年代,被称为数据仓库之父的比尔·恩门就经常谈论大数据。然而,作为一个专有名词,大数据成为一个热点,主要是由于近年来互联网、云计算、移动和物联网的快速发展。无处不在的移动设备、RFID、无线传感器每分钟都在产生数据,数亿用户的互联网服务每时每刻都在产生大量的交互...要处理的数据量太大,增长太快,业务需求和竞争压力对数据处理的实时性和有效性提出了更高的要求,传统的常规技术手段根本无法应对。在这种情况下,技术人员开发并采用了许多新技术,主要包括分布式缓存、基于MPP的分布式数据库、分布式文件系统以及各种NoSQL分布式存储方案。10年前,Eric Brewer提出了著名的CAP定理,指出一个分布式系统不能满足一致性、可用性和分区容忍度三个要求,只能同时满足两个。系统的侧重点不一样,采取的策略也不一样。只有真正理解系统的需求,才能用好CAP定理。架构师使用CAP理论一般有两个方向。键值存储,如Amazon Dynamo,可以根据CAP理论灵活选择不同倾向的数据库产品。领域模型+分布式缓存+存储,灵活的分布式方案可以根据CAP理论结合自己的项目定制,但是比较难。对于大型网站,可用性和分区容忍度的优先级高于数据一致性。一般他们会尽量往A和P的方向设计,然后通过其他方式保证业务需求的一致性。架构师不应该把精力浪费在如何设计一个能满足三者的完美的分布式系统上,而应该知道如何选择。不同的数据对一致性有不同的要求。SNS网站在不影响交易和用户体验的情况下,可以容忍相对较长时间的不一致;但是像支付宝这样的交易和账务数据是非常敏感的,通常不能容忍秒级以上的不一致。缓存在Web开发中的应用越来越广泛。mem-cached是由danga(运行LiveJournal的技术团队)开发的分布式内存对象缓存系统,用于在动态系统中降低数据库负载,提高性能。图1 memcached构成memcached具有以下特征:简单协议;基于libevent的事件处理;内置内存存储模式;Memcached是分散的,相互之间没有通信。Memcached处理每一个(Key,Value)对(以下简称KV对),Key会通过一个hash算法转换成一个hash-Key,尽可能方便查找、比较和哈希。同时,memcached使用一个二级哈希,由一个大型哈希表维护。Memcached由两个核心组件组成:服务器(ms)和客户端(mc)。在memcached查询中,mc首先通过计算键的哈希值来确定KV对的ms位置。当ms被确认时,mc将向相应的ms发送查询请求以找到确切的数据。因为没有交互和组播协议,memcached交互对网络的影响微乎其微。MemcacheDB是一个分布式的键值持久存储系统。它不是一个缓存组件,而是一个基于对象访问的可靠、快速的持久存储引擎。协议和memcached一致(不完整),所以很多memcached客户端都可以和它连接。MemcacheDB使用Berkeley DB作为持久存储组件,因此它支持Berkeley DB的许多特性。这样的产品还有很多。比如淘宝Tair就是一个键值结构存储,在淘宝已经被广泛使用。后来Tair也做了持久化版本,思路和新浪MemcacheDB B基本一致,分布式数据库支付宝公司在国内率先使用Greenplum database将数据仓库从原来的Oracle RAC平台迁移到Greenplum集群。Greenplum强大的计算能力用于支持支付宝不断增长的业务需求。Greenplum数据引擎软件是专为新一代数据仓库所需的大规模数据和复杂查询功能而设计的。它基于MPP(海量并行处理)和Shared-Nothing(无* * *)架构,基于开源软件和x86商用硬件(性价比更高)设计。图2 Greenplum数据引擎软件分布式系统说到分布式文件系统,就不得不提Google的GFS。基于大量安装了Linux操作系统的普通pc机组成的集群系统,整个集群系统由一个主机(通常有若干个备份)和若干个TrunkServer组成。GFS中的文件被备份到固定大小的Trunk中,这些Trunk存储在不同的Trunk服务器上,并且每个Trunk有多个副本(通常是3个副本),也存储在不同的Trunk服务器上。Master负责维护GFS中的元数据,即文件名及其主干信息。客户端首先从主服务器获取文件的元数据,根据要读取的数据在文件中的位置与对应的TrunkServer通信,获取文件数据。Hadoop诞生于Google的论文发表之后。截至今天,Hadoop受到了许多中国最大的互联网公司的追捧。百度的搜索日志分析,腾讯、淘宝、支付宝的数据仓库都可以看到Hadoop。引用自脸书工程师的Hive和Hadoop的示意图Hadoop具有硬件成本低、软件系统开源、灵活性强、允许用户修改自己的代码、支持海量数据存储和计算任务等特点。Hive是一个基于Hadoop的数据仓库平台,会转化成相应的MapReduce程序基于Hadoop执行。通过Hive,开发者可以方便地开发ETL。如图,引用一个脸书工程师做的Hive和Hadoop的图。永红数据集市数据网格的分布式文件存储系统(DFS)是基于Hadoop HDFS的改进和扩展,它以统一的方式管理和存储存储在服务器集群中所有节点上的文件。这些节点包括唯一的NamingNode,它在DFS中提供元数据服务。许多MapNode提供存储块。存储在DFS中的文件被分成块,然后这些块被复制到多台计算机(Map节点)。这与传统的RAID架构非常不同。块的大小和拷贝的块数由客户端在创建归档时确定。命名节点监视服务器群集中所有节点上的文件操作,如文件创建、删除、移动、重命名等。数据集市(Data mart)数据集市(Data Mart)也称为数据市场,是从运营数据和其他数据源收集数据的仓库,服务于一个特殊的专业群体。就范围而言,数据是从企业范围的数据库、数据仓库或更专业的数据仓库中提取的。数据中心的关键点在于,它迎合了专业用户的特殊需求,在分析、内容、性能和易用性方面。数据中心的用户希望用他们熟悉的术语来表示数据。在国外知名的关于数据集市产品的Garnter报告中,位于第一象限的敏捷商业智能产品有QlikView、Tableau和SpotView,都是全内存计算的数据集市产品,在大数据方面对传统商业智能产品巨头构成挑战。国内BI产品起步较晚,比较知名的敏捷商业智能产品有PowerBI、永红科技的Z-Suite、SmartBI等。其中,永红科技的Z-Data Mart是一款面向热内存计算的数据集市产品。德昂信息在中国也是数据集市产品的系统集成商。永红数据集市是永红科技基于自己的技术开发的数据存储和数据处理软件。永红数据集市底层技术:1。分散计算2。分散通信3。内存计算。列存储5。店内计算NoSQL篇随着数据量的增长,越来越多的人关注NoSQL,尤其是2010下半年,脸书选择HBase作为实时消息存储系统,取代原来的Cassandra系统。这引起了很多人对HBase的关注。脸书对HBase的选择基于两个需求:短期小批量的临时数据和长期增长的很少访问的数据。HBase是一个高可靠性、高性能、面向列且可扩展的分布式存储系统。使用HBase技术,可以在廉价的PC服务器上构建大规模结构化存储集群。HBase是BigTable的开源实现,它使用HDFS作为其文件存储系统。Google运行MapReduce处理BigTable中的海量数据,HBase也使用MapReduce处理HBase中的海量数据;BigTable使用Chubby作为协作服务,而HBase使用Zookeeper作为对应服务。总结最近NoSQL数据库的使用越来越普及,几乎所有的大型互联网公司都在进行这方面的实践和探索。除了享受这类数据库与生俱来的扩展性、容错性和高读写吞吐量(虽然主流的NoSQL还在不断改进),越来越多的实际需求把人们带到了NoSQL不擅长的其他领域,比如搜索、准实时统计分析、简单事务等。在实践中,一些其他技术将围绕NoSQL组合起来,形成一个整体解决方案。图4在线应用系统与数据平台的无缝集成