Google, Facebook, Netflix, LinkedIn, Twitter e todas as outras plataformas de redes sociais qualificam-se claramente como grandes centros de tecnologia de dados. Mas quando é que eles souberam começar a preocupar-se com os dados que têm? A resposta é simples – tudo depende das características dos grandes dados, e quando o processamento de dados começa a invadir os 5 Vs.
Vamos ver os 5 Vs de Grandes Dados:
- Volume, a quantidade de dados
- Velocidade, quantas vezes novos dados são criados e precisam de ser armazenados
- Variedade, quão heterogéneos são os tipos de dados
- Veracidade, a “veracidade” ou “confusão” dos dados
- Valor, o significado dos dados
# Volume
Você não está realmente no mundo dos grandes dados a menos que o volume dos dados seja exabytes, petabytes, ou mais. Grandes gigantes da tecnologia de dados como a Amazon, Shopify, e outras plataformas de comércio electrónico obtêm dados em tempo real, estruturados e não estruturados, que se encontram entre terabytes e zettabytes a cada segundo de milhões de clientes, especialmente utilizadores de smartphones de todo o mundo. Fazem processamento de dados quase em tempo real e depois de executar algoritmos de aprendizagem de máquinas para fazer análises de dados de grandes dimensões, tomam decisões para fornecer a melhor experiência ao cliente.
Quando encontramos Volume como problema:
Uma pesquisa rápida na web revela que um disco rígido decente de 10TB corre pelo menos $300. Para gerir um petabyte de dados que é 100 x $300 USD = $30.000 USD. Talvez receba um desconto, mas mesmo com um desconto de 50%, está bem acima dos $10.000 USD só nos custos de armazenamento. Imagine se quiser apenas manter uma versão redundante dos dados para a recuperação de desastres. Precisaria ainda de mais espaço em disco. Assim, o volume de dados torna-se um problema quando cresce para além dos limites normais e se torna uma forma ineficiente e dispendiosa de armazenar em dispositivos de armazenamento locais.
Solução:
Amazon Redshift, que é um serviço gerido de armazenamento de dados em nuvem pelo AWS é uma das opções populares de armazenamento. Armazena dados distribuídos por múltiplos nós, que são resistentes ao desastre e mais rápidos para cálculos em comparação com bases de dados relacionais locais como Postgres e MySql. É também fácil replicar dados de bases de dados relacionais para Redshift sem qualquer tempo de paragem.
Para saber mais sobre Redshift, dê uma olhada em Redshift vs bases de dados relacionais, Redshift vs Hadoop, e Redshift vs armazéns de dados tradicionais.
# Velocidade
Imagine um serviço de aprendizagem de máquinas que está constantemente a aprender a partir de um fluxo de dados, ou uma plataforma de meios de comunicação social com milhares de milhões de utilizadores a publicar e a carregar fotografias 24x7x365. A cada segundo, ocorrem milhões de transacções, o que significa que petabytes e zettabytes de dados estão a ser transferidos de milhões de dispositivos para um centro de dados a cada segundo. Esta taxa de entrada de dados de grande volume por segundo define a velocidade dos dados.
Quando encontramos Velocidade como problema:
Dados de alta velocidade soa bem porque – velocidade x tempo = volume e volume levam a insights, e insights levam a dinheiro. Contudo, este caminho para receitas crescentes não é isento de custos.
Há muitas questões que se levantam como, por exemplo, como processar cada pacote de dados que chega através da sua firewall, por malícia? Como é que processa dados estruturados e não estruturados com tanta frequência? Além disso, quando se tem uma alta velocidade de dados, isso significa quase sempre que vai haver grandes oscilações na quantidade de dados processados a cada segundo, os tweets no Twitter são muito mais activos durante o Super Bowl do que numa terça-feira média, como se lida com isso?
Solução:
Felizmente, as soluções de “streaming data” têm surgido até ao salvamento. A organização Apache tem soluções populares como a Spark e a Kafka, onde a Spark é óptima tanto para o processamento de lotes como para o processamento de streaming, a Kafka funciona com um mecanismo de publicação/assinatura. Amazon Kinesis é também uma solução, que tem um conjunto de APIs relacionadas, concebidas para processar dados de streaming. Google Cloud Functions (Google Firebase também tem uma versão desta) é outra API popular de função sem servidor. Todas estas são uma excelente solução de caixa negra para gerir o processamento complexo de cargas úteis em tempo real, mas todas elas requerem tempo e esforço para construir condutas de dados.
Agora, se não quiser lidar com o tempo e as despesas de criar a sua própria conduta de dados, é aí que algo como FlyData pode vir a ser útil. O FlyData replica os seus dados Postgres, MySQL, ou RDS em Redshift de forma contínua e segura em quase tempo real.
# Variedade
O mundo real é confuso devido a diferentes tipos de dados, pelo que faz sentido que qualquer pessoa que lide com desafios excitantes tenha de lidar também com dados confusos. A heterogeneidade dos dados é frequentemente uma fonte de stress na construção de um armazém de dados. Não só vídeos, fotografias e posts e tweets altamente interligados hierarquicamente em plataformas sociais, mas também informação básica do utilizador pode vir em tipos de dados muito diferentes. Estes conjuntos de dados heterogéneos possuem um grande desafio para grandes análises de dados.
Quando encontramos a Variedade como um problema:
Quando consumimos um grande volume de dados os dados podem ter diferentes tipos de dados (JSON, YAML, xSV (x = C(omma), P(ipe), T(ab), etc.), XML) antes de se poder massajar para um tipo de dados uniforme a armazenar num armazém de dados. O processamento de dados torna-se ainda mais doloroso quando as colunas de dados ou chaves não são garantidas para sempre, tais como renomear, introduzir, e/ou depreciar o suporte para chaves numa API. Assim, não só se está a tentar espremer uma variedade de tipos de dados em tipos de dados uniformes, mas também os tipos de dados podem variar de tempos a tempos.
Solução:
Uma forma de lidar com uma variedade de tipos de dados é registar cada marco de transformação aplicado ao longo do percurso do seu pipeline de processamento de dados. Em primeiro lugar, armazenar os dados brutos tal como estão num lago de dados ( um lago de dados é um repositório hiper-flexível de dados recolhidos e mantidos na sua forma mais bruta, como o armazenamento de ficheiros Amazon S3 ). Depois transforma os dados brutos com diferentes tipos de tipos de dados em algum estado agregado e refinado, que depois podem ser armazenados noutro local dentro do lago de dados, e mais tarde podem ser carregados numa base de dados relacional ou num armazém de dados para gestão de dados.
# Veracidade
Os dados no mundo real são tão dinâmicos que é difícil saber o que está certo e o que está errado. A veracidade refere-se ao nível de confiança ou confusão de dados, e se maior for a confiança dos dados, então diminuir a confusão e vice-versa. Veracidade e Valor, ambos juntos, definem a qualidade dos dados, o que pode fornecer grandes conhecimentos aos cientistas de dados.
Quando encontramos Veracidade como um problema:
Consideramos o caso dos tweets no Twitter, que usam coisas como hashtags, gírias invulgares, abreviaturas, erros de digitação, e linguagem coloquial, todos estes dados têm muita confusão ou ruído e, à medida que o volume de dados aumenta, o ruído também aumenta com ele, o que por vezes também pode ser exponencial. O ruído reduz a qualidade geral dos dados que afectam o processamento de dados e, mais tarde, a gestão dos dados processados.
Solução:
Se os dados não forem suficientemente fiáveis, torna-se então importante extrair apenas dados de alto valor, uma vez que nem sempre faz sentido recolher todos os dados que se podem obter porque são caros e requerem mais esforço para o fazer. Filtrar os ruídos o mais cedo possível na tubagem de processamento de dados a partir dos dados enquanto se extrai os dados. Isto deixa apenas dados necessários e fiáveis que podem depois ser transformados e carregados para análise de dados.
# Valor
até que os grandes dados que temos não possam ser transformados em algo valioso, são inúteis. É muito importante compreender o custo dos recursos e esforço investidos na grande recolha de dados e quanto valor estes fornecem no final do processamento de dados. O valor é muito importante porque é o que gere o negócio ao ter impacto nas decisões empresariais e ao proporcionar uma vantagem competitiva.
p>Considerar o caso da Netflix onde os dados padrão de visualização e navegação do utilizador são recolhidos a partir de diferentes fontes de dados e depois são extraídos e transformados dentro do pipeline de processamento de dados para gerar apenas informação de alto valor como os interesses do utilizador para fornecer recomendações úteis. Isto, por sua vez, ajuda a Netflix a evitar a agitação dos utilizadores e a atrair ainda mais utilizadores para a sua plataforma. A informação gerada poderia ter sido de baixo valor se não tivesse satisfeito o utilizador. Assim, o valor dos grandes dados tem impacto em muitas decisões empresariais e proporciona uma vantagem competitiva sobre outras.
# Conclusão
Na era actual, existem fluxos constantes de dados de grande volume em tempo real que fluem de dispositivos como smartphones, dispositivos IoT, computadores portáteis, todos estes fluxos formam Grandes Dados, e os 5 V’s são características importantes (estrutura para grandes dados, se quiser) que o ajudam a identificar o que todos devem considerar quando o fluxo de dados está a aumentar. Os grandes dados desempenham um papel instrumental em muitos campos como inteligência artificial, inteligência empresarial, ciências de dados, e aprendizagem de máquinas onde o processamento de dados (extracção-transformação-carregamento) conduz a novos conhecimentos, inovação, e melhor tomada de decisões. Uma grande repartição de dados também dá vantagens competitivas àqueles que fazem análise de dados antes da tomada de decisões sobre aqueles que utilizam dados tradicionais para gerir os seus negócios. Soluções como a Amazon Redshift irão certamente proporcionar uma vantagem sobre as bases de dados relacionais para o armazenamento de dados, enquanto a Spark e a Kafka são soluções promissoras para o fluxo contínuo de dados para os armazéns de dados.