Tempo de Resposta em Sub-Segundos com o novo MicroStrategy 10 In-Memory Analytics Anderson Santos, Sales Engineer Brazil Alta Performance não é mais “Desejável” em uma Aplicação Analítica Expectativa dos Usuarios para a performance das aplicações analíticas ser como em uma pesquisa Google, especialmente em dispositivos móveis Explosão da variedade e volumes dos dados requer consolidação e agregação In-Memory Direcionadores de Alta Performance Aplicações analíticas modernas contém 100’s de vizualizações distribuida para 1000’s de usuários diariamente Queda drástica no custo de memória combinado com o processamento em paralelo entrega desempenho efetivo a baixo custo. 2 A Nova Arquitetura MicroStrategy’s New In-Memory Combina 3 Inovações Armazenamento de dados In-Memory Processamento de dados Massivo em Paralelo utilizando Hardware de Mercado Analytics olhando para frente – Dados Integrados e Camadas de Visualização 3 Exploração Interativa de Terabytes de Conjuntos de Dados por 100,000s de Usuários Cubos In-Memory Particionados em Paralelo Paralelo Relacional In-memory Engine Escalabilidade Linear para 1000s de CPUS Schema flexível e dados particionados 3x a 10x mais rápido 7x a 20x mais usuários Exploração interativa herméticamente acoplada • • 4 Conexões de dados em paralelo para alta taxa de obtenção dos dados. Renderização das Visualizações de Cubos in-memory. • • Schema de cubos muito mais flexisivel. Não é necessário pre-joins. Melhor gestão de memória • Camada in-memory extremamente aprimorada. • Suporte a mais de 2B de linhas por cubo. • Engine In-Memory hermeticamente acoplada a engine de visualização. • Rápido tempo de resposta para as aplicações. Cubos Particionados em Paralelo Co-existem com Bases de Dados Existentes no MicroStrategy • Não substitui bases de dados Cubos Particionados em Paralelo • Funciona como Camada de Dados para aplicativos que exigem altíssimo desempenho. • Drill through para bancos de dados (detalhes) • Carga a partir de bancos de dados e Hadoop ORIGEM DOS DADOS Processamento de Dados Massivo em Paralelo através de Hardware de Mercado Execução em Paralelo com MSTR 10 BI Tradicional Query Engines Gargalo Memória Compartilhada Execução em Paraleo Memória Memória Memória Dados Distribuidos • Execução e Carga da Query em Paralelo • Hardware de Mercado baixo valor de investimento Analytics olhando para frente – Dados Integrados e Camadas de Visualização BI Tradicional Camada de Visualização Baixa integração Camada de Dados Analytics olhando para frente Camada Analítica otimiza consulta aos dados Camada de Dados analisa os Dashboards e otimiza as estruturas • A camada de dados não conhece a camada de desenvolvimento de análises • Conexões otimizadas pelo menor denominador comum. Camada de Visualização Camada de Dados • Camadas integradas favorecem a otimização • Camada analítica otimiza as consultas enviadas aos dados com base nas estruturas. Camada de dados “olhando adiante” e planejando a consulta baseada no conhecimento do Dashboard. • Carga de Dados Mais Rápidas com Particionamento em paralelo dos Cubos In-Memory Cubos Inteligentes levam muito tempo porque a thread única do ODBC é muito lenta para buscar os dados. Gargalo API VISUALIZAÇÃO Application Engines Ajuste o número de conexões através do VLDB. O Default começa com 2. Analytics Engines Analytics Engines DADOS DADOS DATA … 8 Os dados agora podem ser carregados em paralelo, proporcionando rápida publicação dos Cub. DADOS … DADOS Ampla Capacidade Analítica com Cubos Particionados In-Memory Gargalo Subsets de relatórios eram limitados a análises em um único passo Particionamento em paralelo apoiará a geração de consultas em múltiplos passos, suportando todas as funcionalidades analíticas das mesma forma que a Engine SQL. Analytics em multiplos passos inclui suporte a Métricas, Qualificações, Relacionamentos, Filtros, etc. 9 Grandes Volumes de Dados com Particionamento em Paralelo dos Cubos In-Memory Gargalo Limitação de Dados de 2B linhas por Cubo Supere a limitação de 2B de linhas permitindo o particionamento de dados através de vários cores de CPU, dividindo internamente os dados em multiplos pedaços de 2B de linhas. Utiliza os Cores de CPU existentes de forma mais eficiente. MSTR 10 9.4.1 Cubos particionados em paralelo 2B Cubo OLAP 2B 2B …. 2B ……………. DADOS Core 1 Core 2 Core 3 DADOS …………. Core 16 16 core CPU 10 Core 1 DADOS Core 2 DADOS Core 3 …………. …………. DADOS Core 16 16 core CPU OLAP Services In-Memory vs. Cubos In-Memory Particionados em Paralelo 11 Acesso aos Dados com Melhor Performance (Rendimento) Crie e Publique o Cubo Com Alta Escalabilidade de Dados Análise aos Dados Com Melhor Tempo de Resposta 9.4.1: OLAP Services Data: 5M linhas Tx obtenção: 5074kb/sec 9.4.1: OLAP Services Dados: 2.35B de linhas Falha devido ao limite em 2 bilhões de linhas 9.4.1: OLAP Services Dados: 8M rows Tempo de Resposta: 0:06:33 MSTR 10: Carga em Paralelo 8 Threads Data: 5M rows Tx obtenção : 22454kb/sec MSTR 10: Particionamento 8 Threads Dados: 2.35B rows Tempo p/ Publicaçaõ: 5:14:23 Tamanho do Cubo: 265GB MSTR 10: Acesso em Paralelo 8 Threads Data: 8M de linhas Tempo de Resposta : 0:04:25 Carga 4 vezes mais rápida Aumenta a escalabilidade dos dados em até 80 vezes Interações 50% mais rápidas OLAP Services In-Memory vs. Cubos In-Memory Particionados em Paralelo 0 1 2 3 4 5 0 5 10 15 Power Rating (KiloCycles) MSTR 10 Cube 8-partition on 8-core Linux MSTR 10 Cube 1-partition on 8-core Linux MSTR 10 Cube non-partition on 8-core Linux 12 Tempo Médio de Resposta (sec) Tempo Médio de Resposta (sec) Cubos em paralelo não particionados tem capacidade até 20% maior que o Olap Services 1 2 3 4 5 6 7 0 5 10 Power Rating (KiloCycles) MSTR 10 Cube 8-partition on 8-core Win64 MSTR 10 Cube 1-partition on 8-core Win64 MSTR 10 Cube non-partition on 8-core Win64 OLAP Services In-Memory vs. Cubos In-Memory Particionados em Paralelo 490 35 390 Response Time (sec) Response Time (sec) 30 25 20 15 10 190 90 5 0 -10 R1 R3 R5 R7 R9 R11 R13 R15 R17 R19 R21 R23 R25 Customer A Reports 9.4.1 Cube MSTR10 Cube Non Partition MSTR10 Cube 32-Partition • • 13 290 R1 R3 R5 R7 R9 R11 R13 R15 R17 R19 R21 R23 R25 R27 R29 Customer B Reports 9.4.1 Cube MSTR10 Cube Non Partition MSTR10 Cube 32-Partition O cubo particionado em memória tem ganho de desempenho significativo em quase todos os casos, tanto para o Cliente A quanto B Cubos OLAP e não Particionados têm tempo de resposta quase semelhante. Obrigado