您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 国内外标准规范 > 基于Oracle+rac的数据仓库系统-淘宝
淘宝数据仓库环境介绍陈吉平淘宝网首席DBA,资深技术专家OracleACE《搭建Oracle高可用环境》一书作者淘宝介绍•淘宝网()是国内领先的个人交易网上平台,由全球昀佳B2B公司阿里巴巴公司投资4.5亿创办,致力于成就全球昀大的个人交易网站。自2003年5月10日成立以来,淘宝网基于诚信为本的准则,从零做起,在短短的半年时间,迅速占领了国内个人交易市场的领先位置...议程¾淘宝数据仓库的发展历史¾淘宝数据仓库的现状¾淘宝数据仓库的维护¾淘宝数据仓库的未来发展淘宝数据仓库的发展历史2004200620072008单机-DELL6650IBM-P5504节点RAC环境12节点RAC环境计划扩展到20节点为什么选择OracleRAC¾当时的可选方案zTeradata,在ebay有成功案例zOracleRac,对淘宝来说,技术比较成熟¾主要考虑的问题:z1.效率,是否能快速的满足日常需求z2.开放性,开放系统还是选择封闭系统z3.可扩展性,包括线性扩展能力,对外接口等z4.成本因素为什么选择OracleRAC¾OracleRAC优点zOracle是一个相对开放的系统,文档很多zTaobao本身对Oracle的技术比较了解z在实际的测试中,Oracle表现比较优越z可以做到线性的扩展能力z成本不会高于Teradata¾OracleRAC缺点z对技术的要求相对比较高,需要DBA深入的优化淘宝数据仓库现状OracleOracleMysqlMysql……4节点RACODS层ETL&互备RealTime同步12节点RAC计算层分布计算(hadoop)数据源ODS计算展示淘宝数据仓库的应用场景WebServersInternalEndUsersBusinessAnalysisDataWareHousePersonalizationRecommendationsTaobaoDataBase淘宝数据仓库应用案例(一)—淘我喜欢淘宝数据仓库应用案例(二)—猜你喜欢淘宝数据仓库应用案例(三)—内部系统淘宝数据仓库12节点物理拓扑图淘宝数据仓库12节点的承载量¾上线前测试情况z5台CX3-80,每台120块146G15K光纤硬盘,12个节点同时跑Orion测试:zorion-runadvanced-testnamembps_all_point_20-num_disks500-size_small1024-size_large1024-matrixpoint-num_small0-num_large20-typeseq-verbosez读总吞吐量达到7721.26MB/s¾目前使用量:读2.5GB/s,写500MB/s实施细节(一)——内联网络¾普通千兆网卡¾Infiniband高速交换HardwareKernelUserHCANICRACDatabaseIPCLibraryUDPIPoIBIPHardwareKernelUserHCANICRDSIPCLibraryRACDatabaseIPOIB300-500MB/s,延迟几十usRDS(certifiedbyoracle10.2.0.2)速度1GB/s,延迟10us关于infiniband¾对于IPOIBzoracle端不需要做任何调整z检测•oradebugsetmypid•oradebugipc•oradebugtracefile_name•netperf-H10.0.100.104-l60(Linuxtool)¾对于RDSz安装•cd$ORACLE_HOME/rdbms/lib•make-fins_rdbms.mkipc_rdsioracle•详细见“OracleRealApplicationClusters10gRelease2:InstallationandConfigurationofLinuxClustersUsingRDSoverInfiniBandInterconnect”对于RDS速度的检测•crload/crtest(OracleDeveloperteam’stool)•Oradebug中无法看到RDS信息,oracleBUG5610067•paul.tsien@oracle.comisthePMofRAC&RDSteam实施细节(二)——网格存储ASM¾关于ASMzASM的性能十分好和裸设备基本没有差别,在测试中可以把存储性能压榨干zASM的strip做的也很好,通过存储监控可以看到I/O分布很均匀¾对于rebalancez在RAC中可以利用ASM来rebalancezalterdiskgrouptaobaorebalancepower11;zRebalance速度很快,测试过程中,新增加3TB磁盘的同步用时1.5个小时ASM磁盘组的划分¾4+1的RAID5¾每个RAID组划分2-4个LUN¾每个RAID组的第一个LUN组成ASM磁盘组1,第二个LUN组成ASM磁盘组2,依次类推¾数据库建立在ASM磁盘组上¾可以确保数据分布在所有的物理磁盘上ASM的测试与使用效果¾数据基本上分布到了所有的LUN上面实施细节(三)——并行执行UserCconnectstonode2UserAUserBAAAAAABBBBAAnunusedparallelserverAparallelserverworkingonaqueryforuserABAparallelserverworkingonaqueryforuserBNode1Node2UserCissuesaquerywithaDOPof6AAAAAACCAparallelserverworkingonaqueryforuserCCNode1Node2BBCBCBCC并行执行相关参数¾并行度参数,如zparallel_max_servers=256zparallel_min_servers=16zparallel_threads_per_cpu=2zparallel_execution_message_size=16384¾跨节点并行的参数zinstance_groups=crm,erp,oltpzparallel_instance_group=crmz关于跨节点并行的更多资料,可以参考我们团队的Blog:并行执行的Join方式Table1Table2Table1Table2大表对大表采用hash或者partiiton的分布方式Table1Table2Table1Table2大表对小表小表采用广播方式克隆多份Partitionwisejoin案例分析(一)——升级中的问题¾08年数据仓库从10.2.03升级到10.2.04z在升级之后碰到了一个新的BUG,数据库会报如下600错误:zORA-00600:internalerrorcode,arguments:[kddummy_blkchk],[47],[935468],[18038],[],[],[],[]z数据库部分查询报块损坏,无法执行升级中的问题—解决办法¾临时解决办法是将db_block_checksum这个参数改为FALSE¾后面ORACLE新发布了一个补丁5386204,打上补丁后问题得以解决。案例分析(二)——节点异常退出¾08年12节点刚开始使用cisco的infiniband交换机,总是出现如下的情况:z[CSSD]2008-09-0217:48:15.706[1241577824]WARNING:clssnmPollingThread:nodedw6(6)at503.118329e-317artbeatfatal,evictionin29.490seconds......z[CSSD]2008-09-0217:49:15.677[1241577824]WARNING:clssnmPollingThread:nodedw5(5)at503.118519e-317artbeatfatal,evictionin29.780seconds.....z[CSSD]2008-09-0217:49:46.460[1262557536]ERROR:clssnmCheckDskInfo:Abortinglocalnodetoavoidsplitbrain.[CSSD]2008-09-0217:49:46.460[1262557536]ERROR::mynode(11),Leader(1),Size(10)VSNode(6),Leader(1),Size(12)z节点6与其它节点内部通信超时,甚至不通,而自动重启。z节点6重启之前,节点5也出现重启z在节点6重启之前,有更多的节点被踢出(重启),直到开始正式重启节点异常退出—解决办法¾原因分析z怀疑cisco的infiniband在高压下不稳定,网络出现延迟。z当一个节点负载压力太高,被迫重启的时候,与其它节点内部网络出现超时甚至不通z在该节点重启之前,其它节点认为该节点还正常(VotingDisk是正常的)z其它节点会出现脑裂,也会不同程度的把自己从RAC环境中踢出¾解决办法z将infiniband网卡替换成普通网卡,内部互联就恢复正常,再也没有节点自动宕机的情况了未来的计划¾扩展到20节点¾Oracle11g的新特性¾继续尝试使用Infiniband交互技术¾Oracle新硬件Exadata的测试谢谢¾Q&A
本文标题:基于Oracle+rac的数据仓库系统-淘宝
链接地址:https://www.777doc.com/doc-6126676 .html