Introdução
Você já parou para pensar na quantidade e variedade de dados que geramos e armazenamos a cada dia? Bancos, companhias aéreas, operadoras de telefonia, serviço de busca on-line e redes de varejistas são apenas alguns dos inúmeros exemplos de empresas que convivem diariamente com grandes volumes de informação. A questão é que apenas ter dados não basta: é importante conseguir e saber usá-los. É aí que o conceito de Big Data entra em cena.
Neste texto, você verá o que é Big Data, entenderá o porquê de este nome estar cada vez mais presente no vocabulário dos ambientes de Tecnologia da Informação e compreenderá os motivos que levam o conceito a contribuir para o cotidiano de empresas, governos e demais instituições.
O conceito de Big Data
A princípio, podemos definir o conceito de Big Data como sendo conjuntos de dados extremamente grandes e que, por este motivo, necessitam de ferramentas especialmente preparadas para lidar com grandes volumes, de forma que toda e qualquer informação nestes meios possa ser encontrada, analisada e aproveitada em tempo hábil.
Não é difícil entender este cenário: trocamos milhões de e-mails por dia; milhares de transações bancárias acontecem no mundo a cada segundo; soluções sofisticadas gerenciam a cadeia de suprimentos de várias fábricas neste exato momento; operadoras registram a todo instante chamadas e tráfego de dados do crescente número de linhas celulares no mundo todo; sistemas de ERP coordenam os setores de inúmeras companhias; enfim, exemplos não faltam - se te perguntarem, você certamente será capaz de apontar outros sem fazer esforço.
Informação é poder, logo, se uma empresa souber como utilizar os dados que tem em mãos, poderá saber como melhorar um produto, como criar uma estratégia de marketing mais eficiente, como cortar gastos, como produzir mais, como evitar o desperdício de recursos, como superar um concorrente, como disponibilizar um serviço a um cliente de maneira satisfatória e assim por diante.
Perceba, estamos falando de fatores que podem inclusive ser decisivos para o futuro de uma companhia. Mas, Big Data é um nome relativamente recente (ou, ao menos, começou a aparecer na mídia recentemente). Isso significa que somente nos últimos anos é que as empresas descobriram a necessidade de fazer melhor uso de seus grandes bancos de dados?
Pode ter certeza que não. Há tempos que os departamentos de TI contemplam aplicações de Data Mining, Business Intelligence e CRM (Customer Relationship Management), por exemplo, para tratar justamente de análise de dados, tomadas de decisões e outros aspectos relacionados ao negócio.
A proposta de uma solução de Big Data é a de oferecer uma abordagem ampla no tratamento do aspecto cada vez mais "caótico" dos dados para tornar as referidas aplicações e todas as outras mais eficientes e precisas. Para tanto, o conceito considera não somente grandes quantidades de dados, a velocidade de análise e a disponibilização destes, como também a relação com e entre os volumes.
O Facebook é um exemplo de empresa que se beneficia de Big Data: as bases de dados do serviço aumentam todo dia
e são utilizadas para determinar relações, preferências e comportamentos dos usuários
Soluções de Big Data
Além de lidar com volumes extremamente grandes de dados dos mais variados tipos, soluções de Big Data também precisam trabalhar com distribuição de processamento e elasticidade, isto é, suportar aplicações com volumes de dados que crescem substancialmente em pouco tempo.
O problema é que os bancos de dados "tradicionais", especialmente aqueles que exploram o modelo relacional, como o MySQL, o PostgreSQL e o Oracle, não se mostram adequados a estes requisitos, já que são menos flexíveis.
Isso acontece porque bancos de dados relacionais normalmente se baseiam em quatro propriedades que tornam a sua adoção segura e eficiente, razão pela qual soluções do tipo são tão populares: Atomicidade, Consistência, Isolamento e Durabilidade. Esta combinação é conhecida como ACID, sigla para o uso destes termos em inglês: Atomicity,Consistency, Isolation e Durability. Vejamos uma breve descrição de cada uma:
Atomicidade: toda transação deve ser atômica, isto é, só pode ser considerada efetivada se executada completamente;
Consistência: todas as regras aplicadas ao banco de dados devem ser seguidas;
Isolamento: nenhuma transação pode interferir em outra que esteja em andamento ao mesmo tempo;
Durabilidade: uma vez que a transação esteja concluída, os dados consequentes não podem ser perdidos.
O problema é que este conjunto de propriedades é por demais restritivo para uma solução de Big Data. A elasticidade, por exemplo, pode ser inviabilizada pela atomicidade e pela consistência. É neste ponto que entra em cena o conceito deNoSQL, denominação que muitos atribuem à expressão em inglês "Not only SQL", que em tradução livre significa "Não apenas SQL" (SQL - Structured Query Language - é, em poucas palavras, uma linguagem própria para se trabalhar com bancos de dados relacionais).
O NoSQL faz referência às soluções de bancos de dados que possibilitam armazenamento de diversas formas, não se limitando ao modelo relacional tradicional. Bancos do tipo são mais flexíveis, sendo inclusive compatíveis com um grupo de premissas que "compete" com as propriedades ACID: a BASE (Basically Available, Soft state, Eventually consistency- Basicamente disponível, Estado Leve, Eventualmente consistente).
Não é que bancos de dados relacionais tenham ficado ultrapassados - eles são e continuarão por muito tempo sendo úteis a uma série de aplicações. O que acontece é que, geralmente, quanto maior um banco de dados se torna, mais custoso e trabalhoso ele fica: é preciso otimizar, acrescentar novos servidores, empregar mais especialistas em sua manutenção, enfim.
Via de regra, escalar (torná-lo maior) um bancos de dados NoSQL é mais fácil e menos custoso. Isso é possível porque, além de contar com propriedades mais flexíveis, bancos do tipo já são otimizados para trabalhar com processamento paralelo, distribuição global (vários data centers), aumento imediato de sua capacidade e outros.
Além disso, há mais de uma categoria de banco de dados NoSQL, fazendo com que soluções do tipo possam atender à grande variedade de dados que existe, tanto estrurados, quanto não estruturados: bancos de dados orientados a documentos, bancos de dados chave/valor, bancos de dados de grafos, enfim.
Exemplos de bancos de dado NoSQL são o Cassandra, o MongoDB, o HBase, o CouchDB e o Redis. Mas, quando o assunto é Big Data, apenas um banco de dados do tipo não basta. É necessário também contar com ferramentas que permitam o tratamento dos volumes. Neste ponto, o Hadoop é, de longe, a principal referência.
Exemplos de bancos de dados noSQL: Cassandra, MongoDB, HBase, CouchDB e Redis
Finalizando
Não podemos considerar as soluções de Big Data como um arsenal computacional perfeito: sistemas do tipo são complexos, ainda desconhecidos por muitos gestores e profissionais de TI e a sua própria definição ainda é passível de discussão.
O fato é que a ideia de Big Data reflete um cenário real: há, cada vez mais, volumes de dados gigantescos e que, portanto, exigem uma abordagem capaz de aproveitá-los ao máximo. Apenas para dar uma noção deste desafio, a IBM divulgou no final de 2012 que, de acordo com as suas estimativas, 90% dos dados disponíveis no mundo foram gerados apenas nos dois anos anteriores. Diante deste ponto de vista, é um tanto quanto precipitado encarar a expressão "Big Data" como uma mero "termo da moda".
Retirado de: http://www.infowester.com/big-data.php (Texto completo)
Nenhum comentário:
Postar um comentário