大数据分析的案例、方法与挑战中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012数据分析者面临的问题数据日趋庞大,无论是入库和查询,都出现性能瓶颈用户的应用和分析结果呈整合趋势,对实时性和响应时间要求越来越高使用的模型越来越复杂,计算量指数级上升传统技能无法应对大数据:R、SAS、SQL中山大学海量数据与云计算研究中心黄志洪2012.4DTCC20122场景介绍信令监测是做什么的?中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012体系架构数据库服务器:HP小型机,128G内存,48颗CPU,2节点RAC,其中一个节点用于入库,另外一个节点用于查询存储:HP虚拟化存储,1000个盘入库节点入库方式——常规路径sqlldr大量使用表分区设计数据量:每小时写入200G左右数据磁盘物理写大约为450G每小时问题:1入库瓶颈2查询瓶颈中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012数据库设计物理上采用ASM大表全部按时间分区,开始时按小时分区,但由于数据量庞大,后来改成15分钟分区,最后变成每分钟切换1个分区采用sqlldr方式入库中山大学海量数据与云计算研究中心黄志洪2012.4DTCC20125入库故障描述由于数据量太大,不得不同时启用多个处理机,产生了多个入库节点当入库节点分别增加到2节点和4节点以后,sqlldr出现停顿现象中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012AWR报告中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012AWR报告中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012AWR报告中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012关于BufferCache中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012Latch中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012寻找Bufferbusywait的根源Sqlldr和OCI方式同时insert多个节点同时insert解决办法1放弃使用OCI2对sqlldr进行垂直切分,尽量避免同时多进程插入同一张表中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012再看AWR中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012新的故障现象Sqlldr依然有停顿,次数较为频密而持续时间较短HWM冲突问题中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012关于HWM中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012针对HWM冲突的优化措施对于无法垂直切分的特大表,按照入库节点号作子分区中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012再看AWRHWM冲突已经被消除Sqlldr频密周期性短暂停顿的问题依旧中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012最终问题根源AWR报告的提示——文件头部竞争表空间大小与自动扩展是问题根源修正表空间设置后问题消失中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201218备选方案——牺牲实时性换取直接路径插入直接路径插入有什么好处?为什么没有采用直接路径插入?中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201219备选方案——交换分区中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201220备选方案——外部表中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201221使用传统关系型数据库遇到的困难All–in–one,并非专门针对数据分析设计和优化设计复杂,调优复杂,数据分析师兼任DBA当数据规模增加时,需要扩展硬件,边际成本指数级上升,存在无法突破的物理瓶颈中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201222解决方案列式数据库,实时数据库等新的数据库技术分布式集群:Hadoop,NoSQL及其它分布式数据库技术混合使用各种专业分析产品中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201223为90时,AC两个矢量完全不相关,即两个号码的交往圈相似度最低场景:行为指纹识别当当为0时,AC两个矢量完全相关,即两个号码的交往圈相似度最高当越接近0,说明两个号码的交往圈越相似2012.4DTCC2012中山大学海量数据与云计算研究中心黄志洪25基于分布式平台运行海量数据移动客户数据量达到TB级云化Oracle数据库中sql语句可以得到结果,但希望进一步提高效率MapReduce方法希望尝试多个相似度计算结果中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012云计算——网络发展的必然结果中山大学海量数据与云计算研究中心黄志洪2012.4DTCC2012HadoopHadoop的主要功能:HDFS和Map-ReduceHDFS实现数据的分布式存储,并且实现冗余备份Map-Reduce实现计算任务的分布化,尽量使到某个节点的计算任务主要面对存储在本地的数据,以减少跨节点的网络数据传送中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201228HDFS结构示意图中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201229Map-Reduce示意图中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201230HDFS与Map-Reduce一起工作中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201231Hive基于Hadoop的常用数据分析工具可以看成是SQL到Map-Reduce的转换器HiveQL尚未能完全支持SQL92外部应用可以通过hive客户端、JDBC、ODBC等方式访问Hive中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201232HBase列式数据库,特别适合作为数据分析的场景,可以减少I/O无真正索引自动分区增加新节点时自动线性扩展使用Hbase命令而非SQL可以通过Java,REST,thrift等接口访问HBase中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201233Hadoop体系图中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201234NoSQLNoSQL=NotOnlySQLHighperformance,HugeStorage,HighScalability&&HighAvailabilityNoSQL面向的场景:事务性要求不高,实时性要求不高,查询较为简单,数据海量可分布化,运行在廉价的PC集群上典型的NoSQL产品,通常某种产品只适合某种特定场景,常要配搭使用中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201235基于Hadoop的用户指纹识别算法求某个客户最相似客户的MapReduce化(以相关系数为例):Map()·Input:某客户数值、所有客户数值·将所有客户随机平分到k台机器·Output:k个最大相关系数(local)·Emitthek个跟某客户最相似的客户Reduce()·Input:Key:null;values:k个最大相关系数(local)·Output:最大相关系数(global)·Emitthe最大相关系数、与某客户最相似客户中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201236数据分析者期待的解决方案完美解决性能瓶颈,在可见未来不容易出现新瓶颈过去所拥有的技能可以平稳过渡。比如SQL、R转移平台的成本有多高?平台软硬件成本,再开发成本,技能再培养成本,维护成本中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201237一种新的普适性关联挖掘方法海量,不一定是指数据记录多,有时可能是变量很多观察变量之间是否具有联系的传统回归方法中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201238传统回归模型的困难为什么一定是线性?或某种非线性模型?过分依赖于分析者的经验对于非连续的离散数据难以处理中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201239网格方法《Science》上的文章《DetectingNovelAssociationsinLargeDataSets》方法概要:用网格判断数据的集中程度,集中程度意味着是否有关联关系方法具有一般性,即无论数据是怎样分布的,不限于特定的关联函数类型,此判断方法都是有效方法具有等效性,计算的熵值和噪音的程度有关,跟关联的类型无关MIC:theMaximalInformationCoefficientMINE:MaximalInformation-basedNonparametricExploration中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201240MIC值计算坐标平面被划分为(x,y)网格G(未必等宽),其中xyn0.6在G上可以诱导出“自然概率密度函数”p(x,y),任何一个方格(box)内的概率密度函数值为这个方格所包含的样本点数量占全体样本点的比例计算网格划分G下的mutualinformation值IG中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201241MIC值计算构造特征矩阵{mxy},矩阵的元素mxy=max{IG}/logmin{x,y}。max取遍所有可能的(x,y)网格GMIC=max{mxy}。Max取遍所有可能的(x,y)对中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201242MIC值计算Mxy的计算是个难点,数据科学家构造了一个近似的逼近算法以提高效率,可以下载MINE计算MIC的程序(Java和R)以及测试用数据集:WHO数据集,垒球数据集…中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201243MIC的性质如果变量对x,y存在函数关系,则当样本数增加时,MIC必然趋向于1如果变量对x,y可以由参数方程c(t)=[x(t),y(t)]所表达的曲线描画,则当样本数增加时,MIC必然趋于1如果变量对x,y在统计意义下互相独立,则当样本数增加时,MIC趋于0中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201244MIC观察中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201245MIC与线性回归模型对比中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201246对基因数据集spellman的探索数据集包含6223组基因数据MINE对关联关系的辨认力明显强于以往的方法,例如双方都发现了HTB1,但MINE方法挖出了过去未被发现的HSP12中山大学海量数据与云计算研究中心黄志洪2012.4DTCC201247欢迎交流:stswzh@sysu.edu.cnQQ:1829118中山大学海量数据与云计算研究中心微博: