Estou trabalhando em um cálculo de "parte traseira do envelope" para uma configuração de banco de dados de relatórios de 100 TB. Estou procurando pensamentos dos especialistas aqui. Ambiente proposto:
- Capacidade de armazenamento ~ 100 TB
- Tabelas ~ 200, tamanhos que variam de 1 GB a 5 TB. tamanho médio pode estar entre 100GB-200GB
- ETL - os trabalhos podem exigir junção entre tabelas de dezenas de milhões de linhas, com chaves de junção que variam de 10 a 500 bytes. essas junções devem terminar em menos de 2-5 minutos
- Seleção ao vivo - inicialmente, apenas interessado em velocidades selecionadas. deve suportar 500 seleções / segundo. As atualizações / segundo serão um número relativamente menor e podem ser ignoradas para este exercício.
- precisa de disponibilidade 24x7. 2 servidores de banco de dados independentes devem estar disponíveis para atender chamadas selecionadas (com dados replicados).
Questões:
- No momento, estou olhando para o Oracle. Como tem sido sua experiência com outras soluções comerciais (ou) de código aberto para grandes bancos de dados?
- Qual sistema operacional de hardware você viu funcionar melhor? Estou planejando o Linux na Dell.
- O armazenamento em rede, como o NetApp, é obrigatório? Que problemas você prevê com o uso de discos comerciais prontos para uso?
- Quando o hardware e o sistema operacional estiverem prontos, quanto tempo você reservaria para instalar, configurar o banco de dados, o armazenamento etc.
- Quais composições de equipe funcionaram melhor nos ambientes que você observou? Quero dizer, os vários administradores (administrador de SO, Oracle DB Admin?) Necessários para gerenciar e operar essa configuração. Quantos deles podem ser necessários para obter um tempo de atividade 24x7.
- Qualquer aproximação / intervalo em licenças de banco de dados, custos de armazenamento em rede.
Eu sei que não tenho todos os detalhes do ambiente. Não estou procurando detalhes exatos, basta uma aproximação. Embora algumas das perguntas possam ser melhor respondidas pelos gerentes, estou interessado na perspectiva dos administradores. Agradeço sua opinião.
Respostas:
Primeiras impressões
Dependendo dos seus requisitos de desempenho, 100 TB é um volume de dados bastante agressivo. Se você deseja Oracle, verifique os sistemas Exadata. Além disso, dê uma olhada nas ofertas de Netezza ou Teradata. Com esse volume de seleções, convém examinar um front end baseado em OLAP ou, pelo menos, o uso bastante agressivo de visualizações materializadas e reescrita de consultas. Você não obterá 500 digitalizações de mesa / s em nada.
Para itens com requisitos de latência menos rigorosos, convém considerar um número maior de data marts para fornecer a capacidade de geração de relatórios à sua comunidade de usuários. Nesse caso, o SQL Server e o SSAS podem ser uma opção para os data marts, pois o licenciamento em um número maior de servidores será mais barato do que tentar fazer o mesmo com o Oracle.
Veja (1). O hardware convencional em uma arquitetura de disco compartilhado provavelmente será lento nesse tamanho de conjunto de dados.
NÃO! Se alguém sugerir NFS, dê um bom chute. Armazenamento de conexão direta ou SAN de vários controladores com muitos controladores de médio alcance. Pense em termos de, talvez, algumas dúzias de controladores da série MD3000 ou algo semelhante - se você não optar por uma plataforma de 'big data' criada especificamente.
Obtenha um especialista em armazenamento com experiência nas plataformas de data warehouse da gama PB. Você provavelmente está pronto para um trabalho de desenvolvimento de ETL significativo e para muitos testes se precisar cumprir um SLA rígido.
24x7 em um data warehouse é ambicioso na melhor das hipóteses. Esta é uma plataforma de relatórios operacionais? Talvez você possa elaborar um pouco seus requisitos.
Sphincter - extremamente caro e dependente dos seus requisitos de desempenho. A última vez que vi (alguns anos atrás) o Netezza citava US $ 20.000 / TB para sistemas TwinFin, tornando sua plataforma US $ 2 milhões por 100 TB mais o custo do seu servidor redundante e hardware de backup. O Exadata é, acredito, um pouco mais barato, mas não tenho preços à mão.
Dê uma olhada no Netezza, no Exadata e na plataforma Teradata para comparação e nos custos do Ab Initio como uma ferramenta ETL.
Esse é um conjunto de requisitos bastante agressivo - normalmente, 24 horas por dia, 7 dias por semana em um data warehouse, e os volumes de dados são grandes o suficiente para colocá-lo no reino de uma plataforma de 'big data'. Se você possui um requisito de relatório operacional, deve analisar cuidadosamente o que é isso. Mantenha-o separado de suas análises, a menos que você tenha um motivo específico (por exemplo, um feed de dados de mercado de baixa latência) para não fazê-lo. Misturar requisitos operacionais e analíticos na mesma plataforma é péssimo.
Eu acho que você realmente precisa contratar especialistas para avaliar suas necessidades. Sem olhar mais de perto o que você está tentando alcançar, tudo o que posso dar é algumas sugestões empíricas sobre o que fazer ou não.
fonte
Algumas outras opções a serem consideradas ao lidar com grandes volumes de dados como este incluem:
Não planeje economizar nos custos de hardware em qualquer lugar. Um sistema com esses tipos de especificações custará muito dinheiro.
fonte