Sim. Na realidade, o MySQL já é usado na análise de big data (ou megadados) — tanto quanto o PostgreSQL.
No caso do MySQL, as estruturas InnoDB organizadas em índices oferecem vantagens para as atividades de análise de megadados — boa estrutura name-value-pair (ou par-valor-nome), que é mais útil para análise do que os índices secundários.
Para fazer análises de big data, você passa por processo semelhante ao que passaria usando o Hadoop, por exemplo:
- organizar preliminarmente os dados
- criar estruturas otimizadas especificametne para a sua análise
- criar a estrutura de busca
Com um grande “parque de máquinas”, é desejável paralelizar o processo e usar scripts de análise que o façam localmente, em cada instância — com um subprocesso de agregação dos resultados ao final.
Se for usar o Hadoop de forma mais tradicional sobre dados desestruturados, use o MySQL para armazenar os resultados agregados pelo Hadoop.
Soluções de análise de big data com o MySQL
De maneira geral, há 2 maneiras de realizar a análise de megadados no MySQL:
- O MySQL pode ser usado em conjunto com um sistema mais tradicional para lidar com big data — como o Hadoop.
Grandes quantidades de dados podem ser armazenados em HDFS e processados com o Hadoop — com o resultado armazenado no MySQL, para a análise.O HDFS (Hadoop Distributed File System) é um sistema de arquivos distribuído, que armazena dados em commodity machines oferecendo grande largura de banda para fluxo de dados em um cluster.
Por exemplo, a métrica crua pode ser armazenada em HDFS, mas os dados agregados e sumarizados são enviados ao MySQL, onde são analisados.
- O MySQL pode ser usado como um grande armazém de dados.
Tipicamente, ele ficará fragmentado para suportar tal volume de dados.
Neste caso, os mecanismos de armazenamento mais adequados são o InnoDB ou o TokuDB. Alternativamente, os mecanismos InfoBright ou InfiniDB também podem ser empregados.
Sendo o banco de dados de código aberto líder na web em aplicações baseadas na nuvem (cloud based applications), o MySQL se integra às plataformas de big data.
O uso de soluções MySQL com Hadoop é o que ajuda a resolver problemas envolvendo big data.
Referências sobre o Hadoop: http://hadoop.apache.org/docs/r1.2.1/hdfs_design.html.