É possível fazer análise de big data com MySQL?

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.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *