none
Donde aprender a optimizar consultas MDX, mejorar el diseño de un CUBO, aprender sobre tunning the Microsoft Analisys Services ? RRS feed

  • Pregunta

  • Hola,

    Tengo un cliente que tiene un cubo que ha crecido desde 5 GB hasta 150 GB.

    He desarrollado una app en VB2010 que construye el MDX y lo ejecuta de acuerdo a elecciones del usuario en una interfase cliente.

    El problema que tengo es que como el cubo ha crecido mucho, ahora "algunas consultas" demoran muchisimo y otras simplemente fallan con un error de time-out y errores de memoria del servidor (tiene 32 gb y 8 procesadores 64 bits), es decir, recibo todo tipo de errores todos relacionadas con el grande volumen de datos a procesar por la instancia de Analisys Services 2008. He rececibido hasta el error que no se pueden procesar mas de 32.000.000 bla, bla, bla, cantidad de registros, del cual hay mucha info en internet.

    Mi intenención es analisar el diseño del cubo del cliente, el cual no fue creado por mi, ver si hay que rediseñar algo, agregar indices, relaciones, etc., y tambien las consultas que genera automaticamente mi app pudieran escribirse de forma mas eficiente.

    El problema es que no encuentro donde aprender sobre tunning de MSAS, MDX, etc., ni encuentro ningun profesional o empresa que pueda ofrecerme un servicio de consultoria para ver como arreglar este problema de tunning. (he buscado en argentina, brasil y uruguay).

    No tengo este problema con SQL / PLSQL en SqlServer / Oracle, pues me he tornado un especialista desde hace ya 10 años, pues he encontrado mucha documentacion referente a tunning y ademas he encontrado y realizado muchos cursos atraves de los años.

    SQL / PLSQL, SqlServer, Oracle, ya dejó de ser un misterio hace mucho tiempo.

    Pero en MAS y MDX ?, nada de nada para tunning.... solo cursos generales sobre como construir cubos, sintaxis general de mdx, pero nada sobre que hacer cuando las papas queman...!!!!

    Alguna idea de como encarar este tema?, cursos de tunning?, consultoria paga de Microsoft o de alguna empresa o profesional ?, info especifica sobre este tema?, herramientas para tunning?, etc.

    Esta claro que el usuario puede estar queriendo hacer una consulta sobre los cubos, que mas bien es para hacerla sobre las bases relacionales usando T-SQL, pero esto no es el asunto ni respuesta que quisiera recibir en estos momentos.

    Muchas gracias por cualquier ayuda.

    Saludos.

    Luigggye

    Anexo un ejemplo de una consulta que falla con un error de time-out, la cual fue generada automaticamente por mi APP de acuerdo a elecciones del usuario.

    SELECT CrossJoin ( Distinct ( {{[Dim Tempo].[Calendario].[Mes].&[2011]&[4o Trimestre/2011]&[outubro/2011]}} ), Distinct (( {{[Measures].[Val Consumo - RecTransf Light Consumo], [Measures].[Val COSIP - RecTransf Light Consumo]}} ))) DIMENSION PROPERTIES MEMBER_TYPE ON COLUMNS,  CrossJoin ( Distinct ( {[Dim Instalacao LIGHT].[Instalacao LIGHT].[All].Children} ) , CrossJoin ( Distinct ( {[Dim Cliente LIGHT].[Cliente LIGHT].[All].Children} ) , Distinct ( {[Dim Cliente LIGHT].[CPF CNPJ].[All].Children} ) )) HAVING In ( [Dim Instalacao LIGHT].[Instalacao LIGHT],  ('400300519', '420047124', '400060704', '410026309', '410110014', '410291912', '410324545', '410525232', '410568594', '410570166', '410717396', '410791839', '410815689', '410921668', '410989236', '411060598', '411325286', '411416857', '411494082', '411509237', '411537314', '411625185', '411659198', '411675271', '411675272', '411704958', '411863300', '412036246', '412106945', '412708987', '412732775', '413392703', '413392708', '414532610', '411435917', '414718215', '414718216', '414718217', '400093556', '400070513', '400071757', '400085499', '410185243', '410206623', '410456525', '410464999', '410562507', '410810137', '410923625', '410987191', '411082329', '411089856', '411333932', '411341160', '411433336', '411433798', '411579130', '411619607', '411623260', '411754439', '411759408', '411761567', '411769714', '412055632', '412273390', '412603007', '412813687', '412832306', '412980818', '413139275', '413218314', '413237242', '413296493', '413296771', '413364952', '413489631', '413490257', '413511727', '413524604', '413528073', '413561571', '413758760', '413811314', '413834415', '413866094', '414333834', '414375241', '414439748', '414439791', '414446821', '414446824', '414490710', '414618350', '414754619', '414827402', '400031984', '400087165', '400091820', '400183610', '410141342', '410224178', '410581160', '411700626', '412616323', '412677840', '412914869', '412949470', '412954322', '413242675', '414467670', '414524113', '400192830', '400239429', '411074313', '410114617', '411163316', '400070793', '400335274', '410549890', '412460182', '413342429', '413843463', '400341762', '411691389', '400080551', '400080438', '400381004', '410129728', '411604829', '413557460', '414593081', '410150832', '410150982', '411043021', '411047760', '412185424', '412305724', '412305727', '412609491', '412861033', '413157032', '414674212', '400291455', '410719932', '412035627', '412820950', '412994523', '413582359', '414208895', '414208920', '400291773', '411071331', '411071332', '411342210', '411432955', '412096931', '400291846', '400022357', '400362174', '400363197', '400364380', '400377678', '410621055', '411246519', '411437343', '411579549', '411901550', '412310272', '412360964', '412472864', '412606011', '412694788', '414223481', '414357304', '420001137', '400364819', '400029840', '400046027', '400060755', '400070785', '400071099', '400073130', '400075345', '400081469', '400082406', '400082783', '400089109', '400091162', '400110310', '400111392', '400112720', '400117684', '400121568', '400198498', '400201464', '400254444', '400272264', '400277061', '400303020', '410043969', '410047716', '410048685', '410126430', '410129325', '410136137', '410136856', '410137686', '410190341', '410190342', '410270121', '410284498', '410284499', '410288712', '410297629', '410300155', '410311032', '410365615', '410374099', '410471221', '410487040', '410546655', '410558504', '410567379', '410613481', '410633496', '410653037', '410657141', '410658777', '410658908', '410666709', '410746018', '410748445', '410749330', '410810481', '410877925', '410910241', '410977111', '410986618', '411000921', '411001911', '411069738', '411099568', '411132868', '411151126', '411155810', '411156847', '411232711', '411232712', '411252072', '411268323', '411332365', '411361315', '411411641', '411414903', '411420613', '411434217', '411515473', '411532755', '411599039', '411671293', '411680804', '411688432', '411692441', '411698176', '411762695', '411762698', '411817115', '411820326', '411876541', '411903909', '411950075', '411960909', '411960910', '411973188', '412007605', '412016018', '412016948', '412136463', '412136464', '412149425', '412242534', '412255219', '412260025', '412266788', '412356006', '412367465', '412407210', '412457818', '412478123', '412486256', '412537542', '412564641', '412568353', '412586967', '412603044', '412658131', '412671210', '412686099', '412687310', '412739766', '412794020', '412824534', '412861967', '412864379', '412874309', '412920197', '412983974', '413000528', '413002200', '413028470', '413037410', '413038786', '413068955', '413068984', '413077204', '413082109', '413085431', '413090410', '413106684', '413152872', '413171707', '413189017', '413289881', '413293078', '413320596', '413347335', '413405101', '413409469', '413425313', '413447438', '413452906', '413467374', '413468234', '413478628', '413491914', '413507124', '413517621', '413578483', '413581963', '413594235', '413612177', '413630588', '413634368', '413637134', '413660549', '413662442', '413740991', '413755185', '413755189', '413784212', '413793985', '413812219', '413828607', '413882800', '413887000', '413926179', '414224817', '414236761', '414312342', '414312344', '414312372', '414342142', '414342152', '414342164', '414386473', '414487594', '414536495', '414546540', '414546638', '414626652', '414651400', '414671285', '414759389', '414759405', '420187070', '420213796', '400032824', '400033499', '410039094', '410045658', '410049498', '410117819', '410120038', '410137580', '410144452', '410200550', '410307128', '410363054', '410371492', '410398266', '410402547', '410452519', '410495762', '410536939', '410564199', '410638459', '410717945', '410737411', '410752495', '410811333', '410833073', '410836965', '410886842', '410895531', '410907629', '410914307', '410915199', '410915920', '410979188', '411005230', '411069452', '411142034', '411162044', '411163175', '411178244', '411245368', '411359405', '411423409', '411428748', '411445359', '411482593', '411514192', '411520346', '411604600', '411612544', '411612545', '411656811', '411677532', '411697185', '411749695', '411753853', '411830639', '412078143', '412079706', '412226410', '412475330', '412556052', '412903563', '412958198', '413041066', '413263011', '413408699', '413408700', '413438491', '414767508', '400033421', '410448758', '413574830', '410733426', '411095025', '411605420', '414265866', '414265876', '411083774', '410045523', '410380393', '410479972', '410479973', '410958664', '411240288', '412493916', '410736313', '411345524', '411857734', '414393023', '410131899', '410214322', '410389056', '411333974', '410234944', '410751705', '414558315', '410665862', '410488946', '410489091', '411165322', '410729730', '410148670', '410463004', '410749394', '411172267', '410201132', '414003367', '410031190', '410031289', '411237431', '414182877', '410123110', '410653405', '411268206', '412479679', '411621834', '410218698', '410042936', '410222958', '410482855', '410828470', '411349622', '411778842', '411861641', '411898863', '411911133', '412081655', '412495858', '412531283', '412814647', '413017508', '413133781', '413222543', '413247329', '414448035', '410627952', '412003108', '413069298', '410580286', '413335062', '412491642', '413406339', '410920712', '411624097', '412173094', '411608323', '412021372', '412360959', '413197809', '413217571', '413249128', '412863770', '413044190', '413126131', '412360732', '410803748', '413095509', '412357922', '413404329', '414263885', '411525372', '410869195', '414807909', '413435767', '413877990', '413034014', '413050117', '410486522', '410486523', '420113800', '410367287', '410454157', '411065906', '411587110', '412584000', '412772949', '413271396', '411363286', '413173406', '414244185', '412233160', '410380711', '413140207', '411494539', '410032590', '410032591', '410808552', '414674676', '420207879', '410977279', '414342217', '411237683', '413466102', '410110145', '411148564', '411498310', '412684645', '410722592', '413429968', '413518002', '410210851', '410715090', '410715091', '411059862', '411490219', '411490220', '410454333', '411315069', '411316852', '411062762', '412567731', '411212847', '410195692', '410100859', '410620923', '410620924', '410630754', '411407516', '414892424', '410181901', '410714245', '411683705', '410000467', '411684191', '411684282', '413169322', '411516743', '410985495', '412992295', '411605325', '411684366', '410816634', '410314679', '411618885', '411707708', '411681992', '411263049', '412487479', '412493643', '410491942', '411002386', '410119354', '411448686', '411330213', '410471377', '413873894', '411781367', '413317526', '413497668', '410402673', '411961101', '410580826', '411172275', '410140047', '412266393', '410834738', '410575702', '410042318', '410388657', '410404549', '410576432', '411441509', '411441531', '411092610', '410048706', '410315089', '411535654', '413493486', '412540016', '411172135', '412024868', '420260758', '411453405', '410754713', '411095718', '410926064', '413624088', '410240122', '410669496', '412720792', '411535059', '411183421', '411176306', '411183660', '413738334', '411181124', '414112155', '410578156', '412204218', '420115248', '411344574', '411082411', '410914509', '410474474', '412295768', '411516199', '410987669', '411346855', '411085221', '411963919', '414323490', '411159343', '411085951', '412848874', '411902874', '410646292', '410126074', '411414554', '410814330', '412932670', '410467028', '411938271', '413839861', '411066211', '410735030', '411011427', '410716019', '410716020', '412730866', '411318254', '410545549', '400234443', '411444530', '420065276', '412825835', '412529724', '412821313', '411580387', '420162114', '420162115', '420162126', '420162127', '420162128', '420162129', '420162130', '420162131', '414175406', '414175422', '411882736', '414889688', '410905672', '410625758', '410625759', '410047478', '414608428', '414608408') ) ON ROWS FROM [Receitas Transferidas Light] 


    Luigggye

    viernes, 24 de agosto de 2012 16:09

Respuestas

  • Hola,

    Antes de iniciar la optimización de tus MDX te aconsejo lo siguiente:

    • Si tu cubo es muy grande particionalo, recuerda que las particiones tiene sentido si tenemos unos 300mb de tamaño en cada partición.
    • Procura utilizar agregaciones, sobre los campos que mas realizaras cálculos.
    • El uso de jerarquías  en consultas MDX mejora el rendimiento, ya que crea agregaciones inteligentes.
    • Procura que tu instalación de sistema operativo y analisys services, sea 64bits, de lo contrario aunque tenga RAM infinita no servirá de nada, ya que 32 solo soporta menos de 4gb de RAM.
    • Configuras los parámetros de servidor en base a recomendaciones de Microsoft, para ello te dejare una guía de optimización que Microsoft proporciona.
    • Si tienes una configuración adecuada tanto de hardware y software, es tiempo de comenzar hacer un monitoreo.
    • Solo puedo decir cada query se optimiza distintamente, por eso creo que será un poco difícil crear siempre código MDX optimizado, pero si estas seguro que tu infraestructura es la optima no tendrás problema.

     

    Guia de rendimiento de Microsoft:

    SQL Server 2008 White Paper: Analysis Services Performance Guide

    http://www.microsoft.com/en-us/download/details.aspx?id=17303

    SQL Server Best Practices Article: Identifying and Resolving MDX Query Performance Bottlenecks in SQL Server 2005 Analysis Services

    http://www.microsoft.com/en-us/download/details.aspx?id=661

     

    SQL Server 2008 R2

    Analysis Services Performance Guide

     

    http://download.microsoft.com/download/6/5/6/6567C845-FC8D-4D62-920F-C027A349C889/SSASPerfGuide2008R2.docx


    Ahias Portillo

    sábado, 25 de agosto de 2012 22:59