大数据分析的案例、方法与挑战数据分析者面临的问题数据日趋庞大,无论是入库和查询,都出现性能瓶颈用户的应用和分析结果呈整合趋势,对实时性和响应时间要求越来越高使用的模型越来越复杂,计算量指数级上升传统技能无法应对大数据:R、SAS、SQL2012.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关于BufferCache2012.4DTCC2012Latch2012.4DTCC2012寻找Bufferbusywait的根源Sqlldr和OCI方式同时insert多个节点同时insert解决办法1放弃使用OCI2对sqlldr进行垂直切分,尽量避免同时多进程插入同一张表2012.4DTCC2012再看AWR2012.4DTCC2012新的故障现象Sqlldr依然有停顿,次数较为频密而持续时间较短HWM冲突问题2012.4DTCC2012关于HWM2012.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场景:行为指纹识别当当为0时,AC两个矢量完全相关,即两个号码的交往圈相似度最高当越接近0,说明两个号码的交往圈越相似为90时,AC两个矢量完全不相关,即两个号码的交往圈相似度最低2012.4DTCC201225基于分布式平台运行海量数据移动客户数据量达到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等方式访问Hive2012.4DTCC201232HBase列式数据库,特别适合作为数据分析的场景,可以减少I/O无真正索引自动分区增加新节点时自动线性扩展使用Hbase命令而非SQL可以通过Java,REST,thrift等接口访问HBase2012.4DTCC201233Hadoop体系图2012.4DTCC201234NoSQLNoSQL=NotOnlySQLHighperformance,HugeStorage,HighScalability&&HighAvailabilityNoSQL面向的场景:事务性要求不高,实时...