É frequente encontrarmos um salto aparentemente repentino na utilização e nos avanços tecnológicos relacionados, simplesmente porque o que antes era inviável é agora prático. O aumento das aplicações de Big Data segue de perto a disseminação da computação em nuvem. Vamos concentrar-nos no que é o Big Data, porque é importante atualmente e como evoluiu em conjunto com as bases de dados NoSQL. Quando falamos de Big Data, estamos a lidar com grandes quantidades de informação que podemos ver ou analisar para encontrar algo relevante.
Os Grandes Dados têm tipicamente três características, cada um marcado pelos 3 Vs.
- Volume- Temos muitos dados.
- Velocidade- Os nossos dados estão a chegar rapidamente.
- Variedade- Os nossos dados estão em muitas formas diferentes.
Vamos mergulhar na forma como obtemos tantos dados, tipos de dados, e o valor que deles podemos derivar.
Conclusões do Desenho
Precisamos de grandes conjuntos de dados para encontrar padrões subjacentes porque os pequenos conjuntos de dados não são fiáveis na representação do mundo real. Imagine fazer um levantamento de 10 pessoas: oito delas têm telefones Android, duas têm iPhones. Com este pequeno tamanho de amostra, extrapolar-se-ia que a Apple só tem uma quota de mercado de 20%. Isto não é uma boa representação do mundo real.
É também importante obter informação de múltiplas demografias e localizações. Inquirir 10 pessoas da Filadélfia, Pensilvânia não nos diz muito sobre o mundo, os Estados Unidos, ou mesmo sobre o estado da Pensilvânia como um todo. Em suma, obter dados bons e fiáveis requer muito deles. Quanto mais amplo for o estudo, mais podemos decompô-lo e tirar conclusões.
Vamos aumentar o nosso inquérito de 10 para 100 e também registar a idade dos participantes. Agora estamos a recolher mais dados a partir de uma amostra maior. Agora, digamos que os resultados mostram que 40 pessoas têm telefones Android e 60 têm iPhones. Esta é ainda uma amostra muito pequena mas podemos ver que um aumento de 10x nos participantes resultou num balanço significativo de 80 pontos nos nossos resultados. Mas isso é apenas considerando um campo de dados do nosso conjunto. Uma vez que registámos a idade dos nossos participantes, bem como a escolha do telefone, podemos verificar que os grupos com idades compreendidas entre os 10-20 ou 21-30 anos têm uma relação muito diferente.
É Tudo Sobre o Algoritmo
Big Data tem-nos a processar grandes volumes de dados que chegam rapidamente e numa variedade de formatos. A partir destes dados, somos capazes de encontrar padrões subjacentes que nos permitem criar modelos precisos que reflectem o mundo real. Porque é que isto é importante? Modelos exactos permitem-nos fazer previsões e desenvolver ou melhorar algoritmos.
O exemplo mais comum de Grandes Dados no trabalho na nossa vida diária é algo simples e por vezes controverso - motores de recomendação. "Se gostar de X, provavelmente também gostará de Y"! Isto é certamente útil de uma perspectiva de marketing e publicidade, mas este está longe de ser o único caso de utilização. Grandes dados e algoritmos alimentam tudo, desde carros auto-conduzidos até à detecção precoce de doenças.
No nosso pequeno exemplo de recolha de dados, parámos em 100 pessoas, mas se realmente queremos bons dados, precisamos de milhares ou milhões de fontes com uma magnitude de atributos diferentes. Isto ainda não se qualificaria verdadeiramente como "Grandes Dados", mesmo que expandíssemos o tamanho da amostra e estabelecêssemos uma ingestão rápida de resultados. Faltar-nos-ia um dos três Vs, Variedade, e é daí que provém a maior parte dos nossos dados.
Variedades de Dados
Podemos classificar o tipo de dados que recolhemos em três categorias básicas: Estruturados, Semi-estruturados, e Não Estruturados. Os dados estruturados seriam semelhantes ao nosso inquérito acima. Temos um esquema pré-definido e a nossa entrada de dados caberá numa estrutura rígida. Este tipo de dados é perfeito para RDBMSs que utilizam SQL, uma vez que são concebidos para trabalhar com linhas e colunas. Fora das bases de dados SQL, os dados estruturados incluem tipicamente ficheiros csv e folhas de cálculo.
![](https://www.linode.com/wp-content/uploads/2022/06/chart-1-data@2x-1-1064x364.png)
A grande maioria dos dados existentes provém de muitas fontes diferentes das nossas actividades quotidianas, de muitas maneiras diferentes. Postagens nas redes sociais, histórico de compras, navegação e cookies: Cada acção pode construir um perfil para um indivíduo com numerosos atributos como idade, localização, sexo, estado civil, e mais além. Estamos apenas a arranhar a superfície aqui, mas só precisamos de nos concentrar no seguinte: as indústrias estão a recolher muitos dados para tirar conclusões precisas e uma grande maioria destes dados não está em formatos pré-definidos e estruturados. Para os Grandes Dados, estamos normalmente a trabalhar com formas de dados semi-estruturados e não-estruturados.
Os registos de aplicação ou e-mails são exemplos de dados semi-estruturados. Chamamos a isto semi-estruturado porque embora não esteja em linhas e colunas rígidas, há um padrão geral de como estes dados são formatados. Dois dos tipos de ficheiro mais comuns de dados semi-estruturados são JSON e XML. Dados não estruturados podem ser quase tudo o que não esteja estruturado ou semi-estruturado, e como podemos imaginar, isto constitui uma grande maioria dos nossos dados. Exemplos comuns de dados não estruturados incluem postes nas redes sociais, ficheiros áudio e vídeo, imagens, e outros documentos.
![](https://www.linode.com/wp-content/uploads/2022/06/chart-2-data@2x-1-1064x723.png)
O nosso inquérito de escolha por telefone ainda funciona como uma demonstração analítica: quanto mais dados tivermos, mais as nossas conclusões reflectirão o mundo real, mas para obter realmente mais dados precisamos de ter um sistema capaz de ingerir mais do que apenas dados estruturados. É aqui que as bases de dados NoSQL entram na equação.
Grandes Dados e NoSQL
O conceito de grandes dados é conhecido desde os anos 80, e como muitas das tecnologias de crescimento mais rápido da actualidade, deu um grande passo em frente em meados dos anos 2000. Um marco importante, quando Apache lançou o Hadoop em 2006. O Hadoop é uma estrutura de software de código aberto concebida para processar de forma fiável grandes conjuntos de dados.
Alguns dos componentes principais incluem HDFS(Hadoop Distributed File System) e YARN(Yet Another Resource Negotiator). O HDFS é um sistema de arquivo rápido e tolerante a falhas e o YARN trata da programação de trabalhos e gestão de recursos. Funcionando em cima do HDFS, na maioria dos casos é o HBase, uma base de dados não-relacional orientada por colunas. HBase encaixa na definição vaga de NoSQL mas é suficientemente diferente das outras bases de dados populares que normalmente não aparecem nas mesmas listas que MongoDB ou Cassandra (outro projecto Apache ).
HBase em conjunto com HDFS pode armazenar grandes quantidades de dados em milhares de milhões de linhas e suporta dados escassos. No entanto, não está sem as suas limitações. A HBase depende do HDFS, tem requisitos de hardware íngremes, e carece de uma linguagem de consulta nativa. Ao contrário de Mongo e Cassandra, o HBase também depende de uma arquitectura primariamente réplica que pode resultar num único ponto de falha.
Mas logo desde o início, podemos ver porque é que Big Data e NoSQL são uma correspondência. Vamos correr novamente através dos Vs.
- Volume- Big Data requer uma base de dados massiva, e uma base de dados massiva requer uma escala horizontal. As bases de dados SQL podem, muitas vezes com limitações significativas, escalar horizontalmente, mas é aqui que as bases de dados sem esquema NoSQL se sobressaem.
- Velocidade- As bases de dados NoSQL não têm a consistência e validação das bases de dados SQL, mas mais uma vez a velocidade de escrita em bruto de que precisamos para ingerir uma grande quantidade de dados, rapidamente.
- Variedade- Big Data requer um sistema capaz de lidar com dados não estruturados e bases de dados NoSQL sem esquemas como o MongoDB são bem adequadas para a tarefa.
As bases de dados NoSQL não são exclusivamente utilizadas para Grandes Dados, mas podemos ver porque se desenvolveram em passo de fechadura entre si. Não há sinais de abrandamento de Grandes Dados, e a NoSQL MongoDB, lançada pela primeira vez em 2009, é uma das bases de dados de crescimento mais rápido no mercado.
Comentários