estimativa do pQd de 7PB parece razoável, e isso é um monte de dados para um RDBMS. Não tenho certeza se já ouvi falar de alguém fazendo 7PB com qualquer sistema de disco compartilhado, muito menos MySQL. Consultar esse volume de dados com qualquer sistema de disco compartilhado ficará inutilmente lento. O hardware SAN mais rápido atinge o máximo de 20 GB / s, mesmo quando ajustado para grandes consultas de streaming. Se você puder comprar hardware SAN desta especificação, poderá usar algo mais adequado ao trabalho do que o MySQL.
Na verdade, estou lutando para conceber um cenário em que você possa ter um orçamento para um subsistema de disco dessa especificação, mas não para uma plataforma de DBMS melhor. Mesmo usando discos de 600GB (a maior unidade corporativa de 15K atualmente no mercado), você precisa de algo como 12.000 unidades de disco físico para armazenar 7PB. Discos SATA seriam mais baratos (e com discos de 2TB você precisaria de cerca de 1/3 do número), mas um pouco mais lentos.
Uma SAN desta especificação de um grande fornecedor como a EMC ou a Hitachi chegaria a muitos milhões de dólares. Na última vez que trabalhei com equipamento SAN de um grande fornecedor, o custo de transferência de espaço em um IBM DS8000 era superior a £ 10k / TB, sem incluir nenhuma permissão de capital para os controladores.
Você realmente precisa de um sistema compartilhado como o Teradata ou o Netezza para esses dados. A fragmentação de um banco de dados MySQL pode funcionar, mas eu recomendaria uma plataforma VLDB criada especificamente para isso. Um sistema de compartilhamento de nada também permite que você use um disco de conexão direta muito mais barato nos nós - dê uma olhada na plataforma X4550 (thumper) da Sun para uma possibilidade.
Você também precisa pensar em seus requisitos de desempenho.
- Qual é o tempo de execução aceitável para uma consulta?
- Com que frequência você consultará seu conjunto de dados?
- A maioria das consultas pode ser resolvida usando um índice (ou seja, eles vão olhar para uma pequena fração - digamos: menos de 1% - dos dados), ou eles precisam fazer uma varredura completa na tabela? / li>
- Com que rapidez os dados serão carregados no banco de dados?
- Suas consultas precisam de dados atualizados ou você poderia morar com uma tabela de relatórios atualizada periodicamente?
Em suma, o argumento mais strong contra o MySQL é que você estaria fazendo backflips para obter um desempenho de consulta decente acima de 7PB de dados, se é que é possível. Este volume de dados realmente coloca você em um território nada compartilhado para fazer algo que o consultará razoavelmente rapidamente, e você provavelmente precisará de uma plataforma que foi projetada para operação sem compartilhamento desde o início. Os discos sozinhos vão diminuir o custo de qualquer plataforma de DBMS razoável.
Observação: Se você dividir seus bancos de dados operacionais e de relatórios, não precisará necessariamente usar a mesma plataforma de DBMS para ambos. Obter inserções rápidas e relatórios de sub-segundo da mesma tabela de 7PBs será, no mínimo, um desafio técnico.
Devido a seus comentários de que você pode viver com alguma latência nos relatórios, você pode considerar sistemas de captura e relatório separados, e talvez não seja necessário manter todos os 7PB de dados em seu sistema de captura operacional. Considere uma plataforma operacional como a Oracle (o MySQL pode fazer isso com o InnoDB) para captura de dados (novamente, o custo dos discos por si só diminuirá o custo do DBMS, a menos que você tenha um lote de usuários) e uma plataforma VLDB como Teradata, Sybase IQ, RedBrick, Netezza (nota: hardware proprietário) ou Greenplum para relatórios