·

Cursos Gerais ·

Engenharia de Software

Envie sua pergunta para a IA e receba a resposta na hora

Fazer Pergunta
Equipe Meu Guru

Prefere sua atividade resolvida por um tutor especialista?

  • Receba resolvida até o seu prazo
  • Converse com o tutor pelo chat
  • Garantia de 7 dias contra erros

Texto de pré-visualização

UNIVERSIDADE LaSalle Viver é evoluir UNIDADE 1 Tópicos Especiais EM ADS INOVAÇÃO E TECNOLOGIA Introdução a Big Data Prezado estudante Estamos começando uma unidade desta disciplina Os textos que a compõem foram organizados com cuidado e atenção para que você tenha contato com um conteúdo completo e atualizado tanto quanto possível Leia com dedicação realize as atividades e tire suas dúvidas com os tutores Dessa forma você com certeza alcançará os objetivos propostos para essa disciplina Objetivo Geral Conhecer conceitos relacionados ao acesso de dados em Big Data e à descoberta de conhecimento unidade 1 Parte 1 Analisar e Compreender a Utilização do Banco de Dados NoSQL O conteúdo deste livro é disponibilizado por SAGAH unidade 1 10 TÓPICOS ESPECIAIS EM ADS 4 OBJETIVOS DE APRENDIZAGEM Ao final deste texto você deve apresentar os seguintes aprendizados Descrever o que são bancos de dados NoSQL Listar os principais tipos e características dos bancos de dados NoSQL Diferenciar o modelo relacional SQL e o NoSQL INTRODUÇÃO O volume de dados está aumentando em proporções exponenciais no mundo Os Estados Unidos é o país em que mais circulam dados ficando a China em segundo lugar Também merece destaque em tráfego de dados a América Latina o Oriente Médio e a África E como lidar com tanta informação Os bancos de dados de modelos relacionais estão preparados Neste texto você vai estudar um novo conceito de banco de dados para trabalhar com grandes volumes de dados o NoSQL BANCOS DE DADOS Antes de falarmos em bancos de dados devemos conhecer alguns conceitos importantes O que são dados informação e conhecimento Podemos conceituar dados como sendo a forma bruta da informação ou a parte indivisível da informação Vejamos um exemplo abra um bloco de notas e insira seu nome Jorge Neste instante façolhe uma pergunta o que significa Jorge A resposta é simples é apenas um dado não tem significado Perfeito É realmente isso o dado sozinho não tem significado Portanto podemos dizer que dado é uma parte da informação ou seja a forma mais bruta sem qualquer semântica Entretanto temos a necessidade de entender o conceito de informação com isso faremos mais uma atividade com seu bloco de notas aberto após a palavra Jorge digite aluno Neste instante temos um significado sabemos que Jorge é um aluno Portanto Introdução a Big Data UNIDADE 1 Analisar e Compreender a Utilização do Banco de Dados NoSQL PARTE 1 11 5 podemos afirmar que informações são significados que buscamos e isso acontece pelo processamento de dados Figura 1 em que o conjunto deles gera a informação Figura nº 1 Processamento dos dados Jorge aluno Jorge é um aluno Fonte Autor Outro conceito importante é o conhecimento O conhecimento é obtido com a extração organização e cruzamento de informações ou seja o conjunto de informações organizadas gera conhecimentos Um dos maiores ativos das empresas é o que chamamos de ativo intangível Podemos colocar nesse grupo o conhecimento na fabricação de seus produtos e execução de serviços e em uma visão analítica o conhecimento em todos os processos que levam a empresa a alcançar seus objetivos Traçando uma linha cronológica decrescente Figura 2 temos que o conhecimento vem de informações ao passo que informações são extraídas do processamento de dados Figura nº 2 Linha do tempo conhecimento informação e dado Conhecimento informação Dados Fonte Autor Agora podemos entender por que desde os primeiros computadores uma das grandes preocupações é quanto ao armazenamento e manipulação de dados Com o passar dos anos o volume de dados foi aumentando e surgindo modelos para organizar e manipular esses dados A seguir veremos uma breve descrição sobre os modelos de dados trabalhados no decorrer dos anos 12 TÓPICOS ESPECIAIS EM ADS 6 MODELOS DE DADOS Modelo hierárquico O modelo hierárquico é um tipo de gerenciador de banco de dados que conecta os registros em forma de árvore e cada tipo de registro tem apenas uma raiz Modelo em rede O modelo em rede é uma extensão do modelo hierárquico A representação dos dados é feita por meio de uma coleção de registros Os relacionamentos são feitos por links Modelo relacional O modelo relacional é o modelo mais aceito pelas empresas nos dias atuais Sua característica é a organização dos dados em tabelas As tabelas se relacionam entre si por meio de chaves primárias e estrangeiras Modelo orientado a objetos Neste modelo os dados são armazenados na forma de objetos por meio de estruturas chamadas classes Os campos são instâncias dessas classes SGBD Sistema Gerenciador de Banco de Dados ou SGBD é um conjunto de ferramentas baseados em uma linguagem usadas para gerir a criação da estrutura exclusão e alteração de bases de dados tabelas e manipulação de dados BIG DATA A cada dia é gerada uma grande quantidade e variedade de dados Podemos citar como algumas das empresas que convivem diariamente com esse dilúvio de informações as companhias aéreas operadoras de telefonia redes sociais busca online e redes varejistas No entanto não basta ter as informações armazenadas é necessário gerar conhecimento para nortear processos e Introdução a Big Data UNIDADE 1 Analisar e Compreender a Utilização do Banco de Dados NoSQL PARTE 1 13 7 tomadas de decisões ou seja saber fazer o melhor uso dos dados Com isso entramos no conceito de Big Data De acordo com Alecrim 2013 inicialmente podemos definir o conceito de Big Data como sendo conjuntos de dados extremamente amplos e que por este motivo necessitam de ferramentas especialmente preparadas para lidar com grandes volumes de modo que toda e qualquer informação nestes meios possa ser encontrada analisada e aproveitada em tempo hábil Simplificando a análise de grandes quantidades de dados para a geração de resultados importantes que em volumes menores dificilmente seriam alcançados Diariamente são feitas milhões de transações bancárias milhões de emails são enviados ao redor do mundo redes sociais com um volume cada vez maior de publicações Portanto podemos assumir que Big Data é um problema de um imenso volume e variedade de dados Os bancos de dados relacionais por características são normalizados suas consultas possuem muitos joins pelo grande número de tabelas relacionadas influenciando diretamente na performance da aplicação Não estou apresentando o fim dos bancos de dados relacionais apenas estou relacionando ao problema Big Data Muitas empresas usam e continuarão usando suas bases relacionais Buscamos aqui uma alternativa melhor para o trabalho com grandes volumes de dados Os bancos de dados tradicionais principalmente os relacionais não possuem soluções adequadas a este problema Ainda segundo Alecrim 2013 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 do inglês Atomicity Consistency Isolation e Durability Neste ponto entra em cena o conceito de NoSQL NoSQL NoSQL não somente SQL não faz referência a movimentos contra SQL referese à solução de banco de dados que possibilita o armazenamento de várias formas não se limitando ao modelo relacional Embora não seja um conceito novo surgiu em 1998 ainda não se tornou bem conhecido dos profissionais de TI 14 TÓPICOS ESPECIAIS EM ADS 8 De acordo com Oliveira 2013 As análises em grandes massas de dados podem trazer respostas que antes não seriam possíveis de ser obtidas por isso é grande o potencial de mercado do Big Data bem como o desejo das empresas de adotálo Para tratar uma imensa quantidade de dados e aproveitálos da melhor maneira possível estão sendo criadas tecnologias que sustentam o Big Data como o NoSQL para infraestrutura de banco de dados Stream Computing como novo paradigma e Hadoop e MapReduce voltado para análise de dados O NoSQL Not only Structured Query Language é um termo genérico para uma classe definida de bancos de dados nãorelacionais que tem uma propriedade chamada BASE Basically Available Soft state Eventual consistency que distribui os dados em diferentes repositórios tornando os sempre disponíveis não se preocupa com a consistência de uma transação delegando essa função para a aplicação porém sempre garante a consistência dos dados em algum momento futuro à transação NoSQL é uma forma de organizar os dados diferente do modelo relacional Até pouco tempo atrás só existiam bancos de dados relacionais se você tivesse qualquer problema teria que buscar uma solução relacional Existe uma nova onda de aplicações de bancos de dados a qual você não olha mais para o passado você olha para o presente ou seja os dados estão chegando estão sendo armazenados processados extraídos os conhecimentos para que possamos recomendar ao cliente Veja na Tabela 1 o comparativo entre bancos de dados SQL e NoSQL Tabela nº 1 Comparativo entre bancos de dados SQL e NoSql Banco de dados SQL Bancos de dados NoSQL Modelo de dados O modelo relacional normaliza dados em estruturas tabulares conhecidas como tabelas que consistem em linhas e colunas Um schema define estritamente as tabelas colunas índices relações entre tabelas e outros elementos do banco de dados Bancos de dados não relacionais NoSQL normalmente não aplicam um schema Geralmente uma chave de partição é usada para recuperar valores conjuntos de colunas ou documentos semiestruturados JSON XML ou outros que contenham atributos de itens relacionados Introdução a Big Data UNIDADE 1 Analisar e Compreender a Utilização do Banco de Dados NoSQL PARTE 1 15 9 Banco de dados SQL Bancos de dados NoSQL Propriedades ACID Sistemas de gerenciamento de bancos de dados relacionais RDBMS tradicionais são compatíveis com um conjunto de propriedades definido pela sigla ACID Atomicidade Constância Isolamento e Durabilidade Atomicidade significa tudo ou nada ou seja uma transação é concluída integralmente ou não Constância significa que quando uma transação é realizada os dados devem estar em conformidade com o schema do banco de dados Isolamento exige que as transações simultâneas sejam executadas separadas uma da outra Durabilidade é a capacidade de se recuperar de uma falha do sistema ou falta de energia inesperada para o último estado conhecido Bancos de dados NoSQL normalmente trocam algumas propriedades ACID de sistemas de gerenciamento de bancos de dados relacionais RDBMS por um modelo de dados mais flexível que escala horizontalmente Essas características fazem dos bancos de dados NoSQL uma excelente opção em situações em que os RDBMS deparam com desafios de arquitetura e precisam solucionar uma combinação de gargalos de desempenho escalabilidade complexidade operacional e custos crescentes de administração e suporte Desempenho O desempenho normalmente depende do subsistema do disco A otimização de consultas índices e estrutura de tabela é necessária para alcançar máximo desempenho Desempenho geralmente é uma função do tamanho do cluster do hardware subjacente da latência de rede e da aplicação que faz a chamada Escala Mais fácil de aumentar a escala verticalmente com hardware mais rápido Outros investimentos são necessários para tabelas relacionais para abranger um sistema distribuído Projetado para aumentar a escala horizontalmente usando clusters distribuídos de hardware de baixo custo para aumentar a transferência sem aumentar a latência APIs As solicitações para armazenar e recuperar dados são comunicadas usando consultas compatíveis com structured query language SQL Essas consultas são analisadas e executadas por sistemas de gerenciamento de bancos de dados relacionais RDBMS APIs baseadas em objetos permitem que desenvolvedores de aplicações armazenem e restaurem facilmente estruturas de dados na memória As chaves de partição permitem que os aplicativos procurem pares de chavevalor conjuntos de colunas ou documentos semiestruturados contendo objetos e atributos de aplicativos serializados Ferramentas Os bancos de dados SQL normalmente oferecem um rico conjunto de ferramentas para simplificar o desenvolvimento de aplicações orientadas ao banco de dados Oferecem ferramentas para gerenciar clusters e escalabilidade As aplicações são a interface principal com os dados subjacentes Fonte httpsawsamazoncomptnosql 16 TÓPICOS ESPECIAIS EM ADS 10 Principais características dos bancos de dados NoSQL Os bancos de dados NoSQL possuem características importantes que os diferenciam dos bancos de dados relacionais De acordo com Cavalcante 2012 as características dos bancos de dados relacionais são Escalabilidade Horizontal na medida em que o volume de dados cresce aumentase a necessidade de escalabilidade e melhoria do desempenho Dentre todas as possibilidades para esta solução a escalabilidade horizontal se torna a mais viável porém requer diversas threads ou que processos de um tarefa sejam criadas e distribuídas Dessa forma o uso de um banco de dados relacional poderia ser muito complexo Não queremos dizer que os bancos de dados relacionais não escalam a verdade é que eles não escalam facilmente Isto por que no momento em que diversos processos se conectam simultaneamente em um mesmo conjunto de dados há uma geração de uma alta concorrência aumentando assim o tempo de acesso às tabelas Neste contexto uma grande vantagem dos bancos NoSQL é justamente a ausência de bloqueios o que permite a escalabilidade horizontal com uma maior facilidade e eficiência ele não é afetado pelo aumento da concorrência Uma alternativa muito utilizada para alcançar a escalabilidade horizontal é o Sharding que divide os dados em múltiplas tabelas a serem armazenadas ao longo de diversos nós na rede O que esta técnica faz na realidade é romper a cadeia de relacionamentos que é uma forte característica nos bancos relacionais É possível realizar o Sharding em banco de dados relacionais de forma manual Entretanto esta não é uma tarefa simples e demonstra complexidade de implementação para a equipe que está desenvolvendo Ausência de esquema Schemafree ou esquema flexível Outra característica notável em bancos de dados NoSQL é a ausência parcial ou total de esquema que define a estrutura de dados É justamente essa ausência de esquema que facilita uma alta escalabilidade e alta disponibilidade mas em contrapartida não há a garantia de integridade dos dados fato este que não ocorre no Modelo Relacional Suporte nativo a replicação Esta é outra forma de prover a escalabilidade pois no momento em que permitimos a replicação de forma nativa o tempo gasto para recuperar informações é reduzido API simples para acessar o banco de dados Em banco de dados NoSQL o foco não está no armazenamento dos dados e sim como recuperar estes dados de forma eficiente Pensando nisso é fundamental APIs Introdução a Big Data UNIDADE 1 Analisar e Compreender a Utilização do Banco de Dados NoSQL PARTE 1 17 11 desenvolvidas para facilitar o acesso às devidas informações para que se possa usar o banco de dados de forma rápida e eficiente Consistência eventual Outra característica particular de bancos NoSQL é que nem sempre a consistência dos dados é mantida Esta característica tem embasamento no teorema CAP Consistency Availability e Partition tolerance que afirma que em um dado momento só é possível garantir duas destas três propriedades que seriam consistência disponibilidade e tolerância à partição No mundo real normalmente estas duas últimas são privilegiadas Como consequência disto as propriedades do ACID não são respeitadas simultaneamente ao contrário disto temos outro conjunto de projetos denominado BASE Basicamente disponível estado leve e consistente em momento indeterminado Ou seja é necessário haver um planejamento para que o sistema possa tolerar inconsistências temporárias com o objetivo de priorizar a disponibilidade Agora que falamos brevemente sobre as principais características nos bancos de dados NoSQL é importante ressaltar algumas técnicas utilizadas para a implementação de suas funcionalidades Entre elas estão Mapreduce permite a manipulação de enormes volumes de dados ao longo de nós em uma rede Funciona da seguinte forma na fase map os problemas são particionados em pequenos problemas que são distribuídos em outros nós na rede Quando chegam à fase reduce esses pequenos problemas são resolvidos em cada nó filho e o resultado é passado para o pai que sendo ele consequentemente filho repassaria para o seu até chegar à raiz do problema Consistent hashing suporta mecanismos de armazenamento e recuperação onde a quantidade de sites está em constante mudança É interessante usar essa técnica pois ela evita que haja uma grande migração de dados entre estes sites que podem ser alocados ou desalocados para a distribuição dos dados MVCC Multiversion concurrency control Oferece suporte a transações paralelas em banco de dados Por não fazer uso de locks para controle de concorrência faz com que transações de escrita e leitura sejam feitas simultaneamente Vector clocks Ordenam eventos que ocorreram em um sistema Como existe a possibilidade de várias operações estarem acontecendo simultaneamente o uso de um log de operações informando suas datas se faz importante para informar qual versão de um dado é a mais atual 18 TÓPICOS ESPECIAIS EM ADS 12 Tipos de bancos de dados NoSQL Sistemas baseados em armazenamento chave valor Sistemas baseados em grafos Sistemas orientados a documentos Sistemas orientados a colunas A Tabela 2 apresenta uma descrição dos tipos de bancos de dados NoSQL Tabela nº 2 Comparativo entre bancos de dados SQL e NoSql Tipos de bancos de dados NoSQL Bancos de dados colunares Os bancos de dados colunares são otimizados para colunas de leitura e gravação ao contrário das linhas de dados O armazenamento orientado a colunas para tabelas do banco de dados é um fator importante no desempenho de consulta analítica pois ele reduz drasticamente os requisitos gerais de ES e diminui a quantidade de dados que você precisa carregar do disco Bancos de dados de documentos Os bancos de dados de documentos são projetados para armazenar dados como documentos geralmente em formato JSON ou XML Diferentemente dos bancos de dados relacionais tradicionais o esquema de cada documento não relacional NoSQL pode variar dando a você mais flexibilidade ao organizar e armazenar dados do aplicativo e ao reduzir o armazenamento exigido para valores opcionais Bancos de dados de gráficos Os bancos de dados de gráficos armazenam vértices e links direcionados chamados de bordas Gráficos podem ser construídos em bancos de dados relacionais SQL e não relacionais NoSQL Vértices e bordas podem ter propriedades associadas a eles Armazéns em memória de chavevalor As solicitações para armazenar e recuperar dados são comunicadas usando Os armazéns em memória de chavevalor são bancos de dados NoSQL otimizados para cargas de trabalho de aplicativos de leitura pesada como redes sociais jogos compartilhamento de mídia e portais de P e R ou cargas de trabalho com uso intenso da computação como um mecanismo de recomendação O armazenamento em cache na memória melhora o desempenho do aplicativo ao armazenar pedaços críticos de dados na memória para acesso de baixa latência Fonte httpsawsamazoncomptnosql NoSQL database exemplos Google bigtable Amazon Dynamo Facebook Cassandra Apache HBASE Linkedin Valdemort Introdução a Big Data UNIDADE 1 Analisar e Compreender a Utilização do Banco de Dados NoSQL PARTE 1 19 13 REFERÊNCIAS ALECRIM Emerson O que é Big Data Infowester 2013 Disponível em httpswwwinfowestercombigdataphp Acesso em 20 mar 2017 OLIVEIRA Claudio Alves de Bancos de Dados NoSQL IBM 2013 Disponível em httpswwwibmcomdeveloperworkscommunityblogstlcbrentry bancosdedadosnosqllangen Acesso em 20 mar 2017 AMAZON WEBSERVICE O que é NoSQL SI Disponível em httpsaws amazoncomptnosql Acesso em 20 mar 2017 NoSQL SI Disponível em httpnosqldatabaseorg Acesso em 20 mar 2017 CAVALCANTE Marília Banco de dados NoSQL Um novo paradigma Revista SQL Magazine 102Devmedia a9n 07 ago 2012 Disponível em http wwwdevmediacombrbancodedadosnosqlumnovoparadigma revistasqlmagazine10225918 Acesso em 20 mar 2017 ENCERRA AQUI O TRECHO DO LIVRO DISPONIBILIZADO PELA SAGAH PARA ESTA PARTE DA UNIDADE PREZADO ESTUDANTE 20 TÓPICOS ESPECIAIS EM ADS Parte 2 Arquiteturas de HardwareSoftware de Big Data O conteúdo deste livro é disponibilizado por SAGAH unidade 1 22 TÓPICOS ESPECIAIS EM ADS Arquiteturas de hardware software de big data Objetivos de aprendizagem Ao final deste texto você deve apresentar os seguintes aprendizados Exemplificar arquiteturas de hardware para big data Ilustrar arquiteturas de software para big data Configurar um ambiente de programação para big data Introdução Big data é um termo genérico para as estratégias e tecnologias não tra dicionais necessárias para reunir organizar processar e coletar insights de grandes conjuntos de dados Embora o problema de trabalhar com dados que ultrapassa o poder de computação ou do armazenamento em um único computador não seja novo a difusão a escala e o valor desse tipo de computação aumentaram muito nos últimos anos Apesar de as abordagens de implementação serem diferentes existem alguns pontos em comum nas estratégias e no software Mesmo que as etapas que você verá possam não ser verdadeiras em todos os casos de uso iremos tratar de nomenclaturas e termos comuns amplamente usados em se tratando de big data Portanto neste capítulo você estudará sobre big data em um nível de fundamentação em arquitetura de hardware e software em servido res para lidar com grandes conjuntos de dados partindo de conceitos comuns em pesquisas sobre o assunto mas também examinando em alto nível alguns dos processos e tecnologias atualmente em uso nesse ambiente de big data Introdução a Big Data UNIDADE 1 Arquiteturas de HardwareSoftware de Big Data PARTE 2 23 1 Arquitetura de hardware em big data Um dos primeiros passos para lidar com big data é sem dúvidas o planeja mento Por mais que tenhamos vivido tempos em que lidar com dados não era algo tão complexo na atualidade isso tem se tornado um desafi o contínuo Mas não por acaso afi nal os computadores e os servidores de dados que temos não foram criados no princípio da popularização da computação para lidar com grande volume de dados Com um projeto bem feito deve ser levado em consideração que tipo de dado com que frequência e em quais condições os dados se encontram Todo um processo de ETL Extração Transformação e Carga do inglês Extract Transform Load deve ser planejado e o armazenamento dos dados deve estar à altura do que poderá ser exigido dele Depois que os dados estiverem dispo níveis o sistema poderá começar a processar os dados para exibir informações reais A camada de computação é talvez a parte mais diversa do sistema pois os requisitos e a melhor abordagem podem variar de maneira significativa dependendo do tipo de informação que se queira extrair dos dados Estes são frequentemente processados repetidamente e iterativamente por uma única ferramenta ou usando várias ferramentas para apresentar diferentes tipos de insights Os requisitos básicos para trabalhar com big data são os mesmos para trabalhar com conjuntos de dados de qualquer tamanho No entanto a escala massiva a velocidade de ingestão e processamento e as características dos dados que devem ser tratados em cada etapa do processo apresentam novos desafios significativos ao projetar soluções O objetivo da maioria dos sistemas de big data é apresentar informações e conexões de grandes volumes de dados heterogêneos que não seriam possíveis usandose métodos convencionais Computação em cluster A computação em cluster é a prática de agrupar os recursos de várias máquinas e gerenciar os seus recursos coletivos para concluir tarefas Os clusters de computadores exigem uma camada de gerenciamento de cluster que lida com a comunicação entre os nós individuais e coordena a atribuição do trabalho Devido às qualidades e às quantidades de big data computadores indi viduais geralmente são inadequados para manipular os dados na maioria dos estágios Para atender melhor às altas necessidades computacionais de armazenamento e big data os clusters de computadores são mais adequados Segundo Sharda Delen e Turban 2019 um clustering de big data combina os Arquiteturas de hardwaresoftware de big data 2 24 TÓPICOS ESPECIAIS EM ADS recursos de muitas máquinas menores buscando fornecer vários benefícios como os listados a seguir Pool de recursos combinar o espaço de armazenamento disponível para armazenar dados é um benefício claro mas o conjunto de CPU e memória também é extremamente importante O processamento de grandes con juntos de dados requer grandes quantidades de todos esses três recursos Alta disponibilidade os clusters podem fornecer níveis variados de tolerância a falhas e garantias de disponibilidade para impedir que falhas de hardware ou software afetem o acesso a dados e processamentos Isso se torna cada vez mais importante à medida que continuamos enfatizando a importância da análise em tempo real Escalabilidade fácil os clusters facilitam o dimensionamento horizontal adicionando máquinas ao grupo Isso significa que o sistema pode reagir a alterações nos requisitos de recursos sem expandir os recursos físicos em uma máquina A formulação física de clusters depende apenas que os computadores que comporão o conjunto de clustering falem a mesma língua Ou seja é preciso que haja uma configuração padrão entre as máquinas como um mesmo sistema operacional que permita que haja um padrão entre todos os computadores em rede A Figura 1 representa a ideia de clusterização com computadores interligados dividindo entre si a carga de trabalho de suas tarefas Figura 1 Vários computadores do tipo desktop Fonte Adaptada de Rashad AshurShutterstockcom 3 Arquiteturas de hardwaresoftware de big data Introdução a Big Data UNIDADE 1 Arquiteturas de HardwareSoftware de Big Data PARTE 2 25 Um cluster pode partir do uso de simples computadores como os do tipo desktop apresentados na Figura 1 Mas geralmente são formados por servidores máquinas que também são sistemas computacionais mas com arquitetura física diferente bem mais compacta permitindo que vários deles sejam armazenados em um mesmo hack por exemplo A Figura 2 apresenta a estrutura de um hack de servidor com várias máquinas servidoras Figura 2 Hack de servidores Fonte wavebreakmediaShutterstockcom O cluster de computação montado geralmente atua como uma base com a qual outros software interagem para processar os dados As máquinas en volvidas no cluster de computação também costumam estar envolvidas no gerenciamento de um sistema de armazenamento distribuído Morais et al 2018 apresentam o cluster de computadores como alternativa ao processamento convencional de dados sendo baseado nos conceitos de computação paralela e distribuído por meio do uso de computadores de baixo um custo A ideia de cluster é dividir cada tarefa em subtarefas que serão exe cutadas paralelamente em diversos computadores Mas ainda segundo Morais et al 2018 essa tarefa não é trivial pois acaba exigindo um dimensionamento exato das subtarefas além de ter a necessidade de tratar o balanceamento de carga e o escalonamento das tarefas tudo isso com o objetivo de utilizar os recursos computacionais de maneira plena Arquiteturas de hardwaresoftware de big data 4 26 TÓPICOS ESPECIAIS EM ADS O uso de clusters requer uma solução para gerenciar a associação aos nós coordenar o compartilhamento de recursos e agendar o trabalho real em nós individuais A associação ao cluster e a alocação de recursos podem ser gerenciadas por software como o YARN do Hadoop que significa Yet Another Resource Negotiator em inglês ou algo como outro negociador de recursos ou também o Apache Mesos O Apache Mesos foi desenvolvido utilizandose os mesmos princípios que o kernel Linux apenas em um nível diferente de abstração O kernel do Mesos é executado em todas as máquinas e fornece aplicativos p ex Hadoop Spark Kafka Elasticsearch com APIs para gerenciamento e agendamento de recursos em todo o datacenter e ambientes em nuvem 2 Arquitetura de software para big data Uma tarefa importante de quem lida com big data é a inserção ou a ingestão de dados nos sistemas de armazenamento Essa inserção é o processo de pegar dados brutos e adicionálos ao sistema A complexidade dessa operação depende muito do formato e da qualidade das fontes de dados e da distância que os dados estão do estado desejado antes do processamento Geralmente quando falamos de grandes conjuntos de dados e big data estamos falando de dados heterogêneos ou seja que são em formatos e tamanhos variados como imagens vídeos áudios textos entre outros De acordo com Castro et al 2016 as ferramentas Sqoop Flume e Kafka fazem parte do ecossistema Hadoop da fundação Apache em processos que incluem a inserção de dados assim como acompanhamento de logs e fila de processos de big data Uma maneira de adicionar dados a um sistema de big data são as ferramentas dedicadas de inserção Tecnologias como o Apache Sqoop podem pegar dados existentes de bancos de dados relacionais e adicionálos a um sistema de big data Da mesma forma o Apache Flume é um projeto criado para agregar e importar logs de aplicativos e servidores Sistemas de fila como o Apache Kafka também podem ser usados como uma interface entre vários geradores de dados e um sistema de big data Outras estruturas 5 Arquiteturas de hardwaresoftware de big data Introdução a Big Data UNIDADE 1 Arquiteturas de HardwareSoftware de Big Data PARTE 2 27 de ingestão podem ajudar a agregar e normalizar a saída dessas ferramentas no final do pipeline de ingestão Durante o processo de ingestão geralmente ocorre algum nível de análise classificação e rotulagem dos dados Às vezes esse processo é chamado de ETL que significa em português extração transformação e carga Figura 3 Embora esse termo se refira convencionalmente a processos de data warehouse alguns dos mesmos conceitos se aplicam aos dados que entram no sistema de big data As operações típicas podem incluir modificar os dados recebidos para formatálos categorizar e rotular dados filtrar dados desnecessários ou incorretos ou validar potencialmente a conformidade com certos requisitos Figura 3 Processo de ETL Fonte Adaptada de AshalathaShutterstockcom Como mostrado na Figura 3 o processo de ETL é um ciclo que passa por três etapas Na etapa de extração é onde se obtém os dados em seu formato original e bruto Para que ele se adapte à arquitetura de big data que será utilizada os dados serão transformados em uma segunda etapa sendo tratados quanto ao seu formato Após os devidos ajustes e padronizações dos dados eles serão carregados ou inseridos dentro de uma base de dados que nesse caso pode ser em ambiente distribuído e clusterizado Os processos de ingestão normalmente entregam os dados aos componentes que gerenciam o armazenamento para que possam ser mantidos no disco de maneira confiável Embora isso pareça uma operação simples o volume de dados recebidos os requisitos de disponibilidade e a camada de computação distribuída tornam necessários os sistemas de armazenamento mais complexos Arquiteturas de hardwaresoftware de big data 6 28 TÓPICOS ESPECIAIS EM ADS Isso geralmente significa utilizar um sistema de arquivos distribuído para armazenamento de dados brutos Soluções como o sistema de arquivos HDFS Hadoop Distributed File System ou sistema de arquivos distribuídos Ha doop pertencente ao ecossistema do Apache Hadoop permitem que grandes quantidades de dados sejam gravadas em vários nós no cluster Utilizar esse sistema de arquivos garante que os dados possam ser acessados por recursos de computação carregados na memória RAM do cluster para operações em cache e lidar com falhas de componentes Mas vale lembrar que outros sistemas de arquivos distribuídos podem ser usados no lugar do HDFS Os dados também podem ser importados para outros sistemas distribuídos para um acesso mais estruturado Bancos de dados distribuídos especialmente os NoSQL são adequados para essa função porque geralmente são projetados com as mesmas considerações de tolerância a falhas e podem manipular dados heterogêneos Existem muitos tipos diferentes de bancos de dados distribu ídos para escolher dependendo de como você deseja organizar e apresentar os dados Para saber mais sobre algumas das opções e para qual finalidade elas servem melhor basta realizar uma pesquisa mais aprofundada sobre um comparativo entre os bancos de dados tradicionais modelo relacional e os não relacionais NoSQL 3 Utilizando o ambiente de big data A melhoria do desempenho do acesso a arquivos é um grande desafi o nos serviços em nuvem em tempo real O sistema distribuído é um conjunto de diferentes computadores que interligados por meio de uma rede apresentam se ao usuário como um sistema único e com coerência TANENBAUM BOS 2016 Trabalhar com arquivos distribuídos requer uma estrutura bem preparada para isso É preciso analisar as précondições para lidar com esse problema considerando os aspectos de requisitos hardware software e os ambientes de rede para aplicações em nuvem Antes de mais nada a análise dos tipos diferentes de arquivos envolvidos faz toda a diferença na escolha da técnica ou ferramenta ideal A seguir vamos analisar algumas das opções de utilização de sistemas e ecossistemas para o processamento de big data É possível criar instâncias de uso de projetos com o Apache Hadoop em nuvem sem serviços gratuitos ou pagos A Cloudera disponibiliza um cluster virtualizado que você pode usar para aprender mais sobre clusters baseados em Hadoop tendo já instaladas e configuradas diversas aplicações e também um tutorial que leva o passo a passo na execução de algumas tarefas para 7 Arquiteturas de hardwaresoftware de big data Introdução a Big Data UNIDADE 1 Arquiteturas de HardwareSoftware de Big Data PARTE 2 29 entender o ambiente Você pode fazer o download de forma gratuita para testar e entender melhor como funciona um ecossistema de big data Há também a possibilidade de utilizar containers do tipo Docker que se encontram disponíveis na internet para download gratuito Um container reúne uma aplicação de maneira compacta criando um ambiente à parte do sistema operacional da máquina local pronto para ser baixado ou enviado para um ambiente seja local ou externo Pesquisando por Hadoop no site DockerHub você encontra diversas opções de container préconfigurados os quais você pode fazer o download e explorar para aprender mais sobre os ambientes de big data Ecossistema Hadoop Dentro da arquitetura do Hadoop existem diferentes ferramentas cada uma com um modelo de operação Em um projeto de implementação de sistema de controle e gerenciamento de arquivos distribuídos ao descrever o design e a implementação de um novo sistema distribuído em camadas podemos nos basear nos modelos HDFS para armazenamento de grandes conjuntos de dados de forma distribuída ou MapReduce que tem por responsabilidade o processamento distribuído GOLDMAN et al 2012 documento online O Hadoop nasceu com base em um projeto lançado pela empresa Google em 2003 chamado GFS Google File System cujo objetivo era aprimorar o mecanismo de busca da empresa com a capacidade de gerenciar e processar os enormes volumes de dados da Google Logo podemos dizer que essa estrutura poderosa do Hadoop foi criada justamente para atender à demanda crescente de processar grandes volumes de dados em um mundo cada dia mais conectado e gerando quantidade de dados nunca imaginada Dentro da plataforma Hadoop existe o HDFS o qual é empregado no uso de caches em uma biblioteca cliente e em vários serviços de cache Os serviços de cache são projetados com três camadas de acesso um cache na memória uma captura instantânea do disco local e a exibição real do disco fornecido pelo HDFS MORAIS et al 2018 Os arquivos carregados do Arquiteturas de hardwaresoftware de big data 8 30 TÓPICOS ESPECIAIS EM ADS HDFS são armazenados em cache na memória compartilhada que pode ser acessada diretamente por uma biblioteca e um sistema cliente Dentro do uso de HDFS é comum o processamento em lote Este processamento é um método de computação em um grande conjunto de dados O processo envolve dividir o trabalho em partes menores agendar cada peça em uma máquina individual reorganizar os dados com base nos resultados intermediários e em seguida calcular e montar o resultado final Essas etapas geralmente são chamadas individualmente de divisão mapeamento reprodução aleatória redução e montagem ou coletivamente como um algoritmo de redução de mapa distribuído RAMAKRISHNAN GEHRKE 2011 Essa também é a estratégia usada pelo MapReduce do Apache Hadoop O processamento em lote é mais útil ao lidar com conjuntos de dados muito grandes pois exigem mais poder computacional O ecossistema Hadoop é um sistema complexo que reúne diversos outros pequenos sistemas com funções variadas Ele foi projetado para a expansão de servidores únicos para milhares de máquinas cada uma oferecendo computação e armazenamento local Em vez de confiar no hardware para oferecer alta disponibilidade a própria biblioteca foi projetada para detectar e manipular falhas na camada de aplicativos oferecendo um serviço altamente disponível em cima de um cluster de computadores cada um dos quais pode estar sujeito a falhas sendo estas verificadas e tratadas em tempo oportuno O Hadoop é um sistema tão poderoso que acabou sendo adotado como padrão para diversas outras tecnologias Geralmente você verá outros sistemas que estão associados a ele afinal o Hadoop não se trata apenas de um sistema ou software em si mas de um conjunto de software que juntos formam o chamado ecossistema que passa por etapas como ETL armazenamento em si dos dados particionamento modos de leituras algoritmos de processamento de grandes conjuntos de dados até a visualização de dados de maneira amigável p ex com gráficos Utilizando HDFS Ao utilizar um sistema de arquivos distribuídos com Hadoop vários aplica tivos integrados a uma biblioteca cliente podem acessar um serviço de cache simultaneamente Os serviços de cache são organizados no estilo Ponto a Ponto 9 Arquiteturas de hardwaresoftware de big data Introdução a Big Data UNIDADE 1 Arquiteturas de HardwareSoftware de Big Data PARTE 2 31 P2P usando uma tabela hash distribuída Cada arquivo em cache é dividido em blocos que na confi guração padrão têm três cópias nós de serviço de cache a fi m de melhorar a robustez e aliviar a carga de trabalho Resultados experimentais mostram que o novo sistema de cache pode armazenar arqui vos com uma ampla variedade de tamanhos e tem desempenho excelente de acesso aos arquivos trabalhando com taxa de retorno em milissegundos para ambientes altamente simultâneos Dentro do contexto do HDFS existem elementos que tornam a estrutura útil para diversas aplicações Com o uso dessa arquitetura a arquitetura HDFS tem alguns elementos como o Namenode que é o nó central que serve de referência para as aplicações de clientes solicitantes retornando os chamados Datanodes os nós compostos por Blocks blocos de dados A ilustração da arquitetura HDFS é estruturada conforme a apresentada na Figura 4 Figura 4 Arquitetura HDFS Fonte Adaptada de Borthakur c2008 O Hadoop foi projetado partindo do pressuposto que a falha do hardware onde estão os arquivos e os dados é uma regra e não uma exceção Mais cedo ou mais tarde todo hardware apresenta falhas e o sistema deve ser robusto e capaz o suficiente para lidar com as falhas de hardware que venham a acontecer Com a sua estrutura em condições ideais o uso do HDFS em ambiente de servidor preparado é um eficaz método de processamento e consulta a dados Arquiteturas de hardwaresoftware de big data 10 32 TÓPICOS ESPECIAIS EM ADS em arquivos em tempo real Com a proposta de unificar dados e articular pro cessos com arquivos o HDFS é uma ótima solução visto que unifica a visão de arquivos de diferentes formatos e vindos de fontes distintas Porém para fortalecer a forma de trabalho por meio da clusterização ou do paralelismo foi criado o framework MapReduce Hadoop MapReduce é portanto um framework uma técnica ou paradigma de programação que permite que usuários criem programas e aplicações divididos em componentes podendo assim permitir que os dados sejam processados paralelamente SHARDA DELEN TURBAN 2019 Com essa divisão modular a aplicação passa a funcionar estando em cluster com duas subdivisões de código Map e Reduce MapReduce MapReduce é uma tarefa ou método que utiliza dois métodos para realizar o processamento de blocos de código A função chamada map executa uma fi ltragem e classifi cação dos dados Essa etapa tem a responsabilidade de realizar o processo de um ou mais blocos de dados produzindo resultados comumente chamados de resultados intermediários Em geral a tarefa de mapeamento é processada em paralelo desde que as operações de mapea mento sejam independentes entre si A tarefa Reduce é executada por meio da função reduce Esta função é a responsável pela consolidação dos resultados produzidos por meio de cada uma das tarefas Map e entra em ação logo após a etapa de tarefa Map Tudo isso é realizado em nível de programação Ao instalar o HDFS uma biblioteca com a tarefa MapReduce pode ser adicionada e assim configurada em linguagens como Java Python R e Scala Assim em alto nível o programa dor pode definir de onde vêm os dados em que quantidade serão processados e posteriormente carregados para um ambiente de armazenamento de dados de preferência um sistema de armazenamento distribuído e preparado para o universo big data Outras partes do Hadoop Outros sistemas que fazem parte do ecossistema Hadoop realizam funções complementares entre si O Apache Spark oferece maneiras diferentes de obter processamento em tempo real ou quase em tempo real Existem tradeoff s com cada uma dessas tecnologias que podem afetar qual abordagem é melhor para qualquer problema individual Em geral o processamento em tempo real 11 Arquiteturas de hardwaresoftware de big data Introdução a Big Data UNIDADE 1 Arquiteturas de HardwareSoftware de Big Data PARTE 2 33 é mais adequado para analisar blocos menores de dados que estão mudando ou sendo adicionados rapidamente ao sistema Esses exemplos representam estruturas computacionais No entanto existem muitas outras maneiras de calcular ou analisar dados em um sistema de big data Essas ferramentas frequentemente se conectam às estruturas acima e fornecem interfaces adicionais para interagir com as camadas subjacentes Por exemplo o Apache Hive fornece uma interface de data warehouse para o Hadoop o Apache Pig fornece uma interface de consulta de alto nível SHARDA DELEN TURBAN 2019 enquanto as interações semelhantes a SQL com dados podem ser alcançadas com projetos como Apache Drill Apache Impala Apache Spark SQL e Presto CURSOS de Apache Drill 2020 Para o aprendizado de máquina machine learning projetos como Apache Mahout Hadoop Submarine e MLlib do Apache Spark podem ser úteis USE o Apache Spark 2019 Para a programação de análise direta com amplo suporte no ecossistema de big data as linguagens R Python e suas respectivas bibliotecas são escolhas muito recorrentes RAYTHZ 2018 Cassandra HBase Hive compõem a parte de armazenamento de dados do ecossistema Hadoop Armazenando dados com Hadoop A implementação da arquitetura de big data traz muitos desafi os As infor mações dependem de dados estáticos armazenados centralmente Para o armazenamento de dados o ecossistema Apache Hadoop disponibiliza opções como as soluções Apache Cassandra HBase e Hive além de outras soluções de fora do ecossistema Hadoop que também se conectam a essa plataforma A seguir vamos detalhar um pouco mais sobre as três principais Cassandra banco de dados NoSQL baseado no Bigtable da Google no modelo orientado a colunas ou família de colunas Foi criado origi nalmente pela equipe de desenvolvedores do Facebook posteriormente passou a ser opensource e mantido pela fundação Apache LEITE BONOMO 2016 HBase banco de dados orientado a colunas baseado no Bigtable Foi criado especificamente para o ecossistema Hadoop e é otimizado para trabalhar com a tarefa MapReduce em seu contexto BRAHIM CAM POS 2019 Hive software de data warehouse dentro do ecossistema Hadoop Ele não é um banco de dados propriamente dito mas uma central de Arquiteturas de hardwaresoftware de big data 12 34 TÓPICOS ESPECIAIS EM ADS armazenamento de dados capaz de lidar com milhares de requisições ao mesmo tempo além de oferecer uma interface de consulta de dados semelhante ao que se tem em bancos de dados relacionais inclusive com sua versão da linguagem SQL chamada de HiveQL SHARDA DELEN TURBAN 2019 Podemos concluir que o uso do ecossistema Hadoop é de fundamental importância para projetos maiores e mais complexos visto que o ecossistema criado pela fundação Apache não apresenta apenas uma ferramenta mas um conjunto delas como HDFS e MapReduce em que é possível criar um ambiente propício para lidar com grandes volumes de dados Finalizando podemos dizer que o big data é um assunto amplo e em rápida evolução Embora não seja adequado para todos os tipos de computa ção muitas organizações estão recorrendo ao big data para certos tipos de cargas de trabalho e utilizando isso para complementar as suas ferramentas de análises e relatórios aprofundados de negócios Os sistemas de big data são adequados de maneira única à superfície de padrões difíceis de detectar e à percepção de comportamentos impossíveis de serem encontrados por meios convencionais Ao implementar corretamente sistemas que lidam com big data as organizações podem obter um valor incrível a partir dos dados que já estão disponíveis BORTHAKUR D HDFS architecture guide c2008 Disponível em httpshadoopapache orgdocsr121hdfsdesignpdf Acesso em 15 mar 2020 BRAHIM P L G CAMPOS V V S Soluções de modelagem de dados para Big Data Wa rehouse utilizando o Apache Hive e o software Pentaho 2019 Trabalho de Conclusão de Curso Bacharelado em Ciência da Computação Universidade Estadual de Londrina Londrina Pr 2019 Disponível em httpwwwuelbrccedcwpcontentuploads ProjetoTCCPedroLuizGarbimBrahimpdf Acesso em 15 mar 2020 CASTRO M O et al Avaliação dos Brokers Kafka e Apache Flume no contexto de Big Data In ENCONTRO ANUAL DE TECNOLOGIA DA INFORMAÇÃO 7 2016 Frederico Westphalen SIMPÓSIO DE TECNOLOGIA DA INFORMAÇÃO DA REGIÃO NOROESTE DO RS 7 2016 Frederico Westphalen Anais Frederico Westphalen RS IFFar UFSM 2016 Disponível em httpeatiinfoeati2016assetsanaisanaispdf Acesso em 15 mar 2020 13 Arquiteturas de hardwaresoftware de big data Introdução a Big Data UNIDADE 1 Arquiteturas de HardwareSoftware de Big Data PARTE 2 35 Os links para sites da web fornecidos neste capítulo foram todos testados e seu fun cionamento foi comprovado no momento da publicação do material No entanto a rede é extremamente dinâmica suas páginas estão constantemente mudando de local e conteúdo Assim os editores declaram não ter qualquer responsabilidade sobre qualidade precisão ou integralidade das informações referidas em tais links CURSOS de Apache Drill Query Optimization Disponível em httpswwwnobleprog combrccapachedrillqueryoptimparticipants1howpublic Acesso em 15 mar 2020 GOLDMAN A et al Apache Hadoop conceitos teóricos e práticos evolução e novas possibilidades In CONGRESSO DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO 32 Curitiba Anais Curitiba PR UFPR 2012 Disponível em httpwww2sbcorgbr csbc2012anaiscsbceventosjaiartigosJAI2020Cap20320Apache20Ha doop20conceitos20teoricos20e20praticos20evolucao20e20novas20 possibilidadespdf Acesso em 15 mar 2020 LEITE H P BONOMO I S Análise comparativa de projeto e administração de banco de dados entre os SGBDs Cassandra e MySQL 2016 61 p Trabalho de Conclusão de Curso Bacharelado em Ciência da Computação Universidade de Brasília Brasília DF 2016 Disponível em httpwwwbdmunbbrbitstream104831568112016HermanoPor tellaLeiteIgorDaSilvaBonomotccpdf Acesso em 15 mar 2020 MORAIS I S et al Introdução a Big Data e Internet das Coisas IoT Porto Alegre SAGAH 2018 RAMAKRISHNAN R GEHRKE J Sistemas de gerenciamento de banco de dados 3 ed Porto Alegre AMGH 2011 RAYTHZ N Python vs R 2018 Disponível em httpsimasterscombrdatapythonvsr Acesso em 15 mar 2020 SHARDA R DELEN D TURBAN E Business intelligence e análise de dados para gestão do negócio 4 ed Porto Alegre Bookman 2019 TANENBAUM A S BOS H Sistemas operacionais modernos 4 ed São Paulo Pearson Education do Brasil 2016 USE o Apache Spark MLlib para criar um aplicativo de aprendizado de máquina e analisar um conjunto de dados 2019 Disponível em httpsdocsmicrosoftcom ptbrazurehdinsightsparkapachesparkmachinelearningmllibipython Acesso em 15 mar 2020 Arquiteturas de hardwaresoftware de big data 14 ENCERRA AQUI O TRECHO DO LIVRO DISPONIBILIZADO PELA SAGAH PARA ESTA PARTE DA UNIDADE PREZADO ESTUDANTE Parte 3 Descoberta de Conhecimento com Big Data O conteúdo deste livro é disponibilizado por SAGAH unidade 1 38 TÓPICOS ESPECIAIS EM ADS Descoberta de conhecimento com Big Data Objetivos de aprendizagem Ao final deste texto você deve apresentar os seguintes aprendizados Descrever o processo de descoberta de conhecimento em Big Data Aplicar o processo de descoberta de conhecimento em Big Data Listar exemplos bemsucedidos com Big Data Introdução Os grandes conjuntos de dados Big Data gerados pelas pessoas e em presas diariamente possuem um potencial de melhorias em diversos segmentos de negócios Porém a evolução das técnicas de análise é o gargalo que impede tomadas de decisões mais eficazes para os negócios O processo de descoberta do conhecimento é uma abordagem que sistematiza em etapas a realização dessas análises Neste capítulo você vai estudar sobre o processo de descoberta de conhecimento aplicado a Big Data e vai conhecer exemplos nos quais esse processo teve êxito em suas aplicações Processo de descoberta de conhecimento Em 1989 foi instituído o termo descoberta de conhecimento em banco de dados em alusão ao processo de transformação de volumes de dados em conhecimento Esse termo tem origem no inglês Knowledge Discovery in Databases e é comumente utilizado pela sigla KDD O objetivo do KDD é a extração de relações implícitas e desconhecidas nas bases de dados para geração de conhecimento útil Introdução a Big Data UNIDADE 1 Descoberta de Conhecimento com Big Data PARTE 3 39 O KDD pode ser considerada uma atividade multidisciplinar tendo em vista que envolve diversos conceitos relacionados à inteligência artificial e a disciplinas matemáticas O conhecimento extraído deve ser confiável compreensível e útil Ou seja a descoberta de conhecimento consiste na extração de informações que podem colaborar na tomada de decisões em grandes bases de dados e sem nenhuma hipótese previamente estabelecida FAYYAD et al 1996 A partir desse conceito surgiu o processo de KDD que propõe a partir de etapas iterativas e interativas um padrão metodológico para transfor mação dos grandes volumes de dados em conhecimento Esse processo é realizado por meio de métodos de mineração de dados algoritmos para extrair identificar o que é considerado conhecimento de acordo com as especificações de medidas e limites usando um banco de dados junto com qualquer préprocessamento subamostragem e transformações necessárias desse banco de dados Com base nesse conceito podese dizer que o processo KDD é baseado na cooperação entre humanos e computadores na qual os humanos são os responsáveis por projetar arquiteturas de sistema definição dos problemas e identificação dos objetivos enquanto os computadores realizam o processamento dos dados em busca de padrões que satisfaçam os objetivos definidos A etapas do processo de KDD podem ser visualizadas na Figura 1 Figura 1 Etapas do processo de descoberta do conhecimento Fonte Schneider 2003 p 13 Na primeira etapa o processo de KDD desenvolve uma compreensão do domínio da aplicação além da definição dos objetivos a serem alcançados Descoberta de conhecimento com Big Data 2 40 TÓPICOS ESPECIAIS EM ADS ou seja nessa etapa definese que problema deve ser resolvido com o co nhecimento a ser adquirido Após essa etapa iniciase a etapa de seleção que consiste em selecionar os dadosalvos que podem ser segmentados em subconjuntos de dados A etapa de préprocessamento é na qual se realiza uma limpeza nos dados com o objetivo de adequálos para a mineração de dados Normalmente as bases de dados com um grande volume não estão preparadas para a mineração Após a etapa de préprocessamento iniciase a etapa de transformação que consiste em fazer com que os dados préprocessados passem por uma transformação que garanta o seu armazenamento adequado Nessa etapa o objetivo é fazer com que os atributos representem todas as características desses dados Na etapa de mineração é realizada a busca por padrões nos dados da base já transformada A mineração de dados é considerada o núcleo do processo de KDD A etapa final consiste em identificar entre os padrões extraídos quais satisfazem os critérios definidos No final dessa avaliação é possível retornar ao início do processo novamente ou implantar e incorporar o conhecimento extraído ao sistema de forma que os métodos sejam documentados para a apresentação do conhecimento O KDD se refere ao processo geral de descoberta de conhecimento útil a partir de grandes volumes de dados Envolve a avaliação e possivelmente a interpretação dos padrões para tomar a decisão do que será qualificado como conhecimento Também inclui a escolha de esquemas de codificação préprocessamento amostragem e projeções dos dados antes da etapa de mineração de dados Já a mineração de dados referese à aplicação de algoritmos para extrair padrões de dados sem as etapas adicionais do processo de KDD Na etapa de mineração de dados podem ser utilizadas técnicas como Redes neurais artificiais consistem em modelos preditivos não lineares que aprendem por meio do treinamento e se assemelham às redes neurais biológicas das quais vem o seu nome Algoritmos genéticos técnicas de otimização baseadas em combinação genética e seleção natural 3 Descoberta de conhecimento com Big Data Introdução a Big Data UNIDADE 1 Descoberta de Conhecimento com Big Data PARTE 3 41 Método do vizinho mais próximo é a técnica que classifica cada registro em um conjunto de dados combinando os registros mais semelhantes Indução de regras consiste na extração baseada em regras condicionais a partir da significância estatística Visualização de dados a partir de ferramentas que utilizam gráficos é possível realizar interpretações visuais de relações complexas Aplicação do processo de descoberta do conhecimento Para exemplifi car o processo de KDD vamos basearnos no trabalho reali zado por Schneider 2003 que utilizou como cenário para aplicação o Poder Judiciário do estado do Rio Grande do Sul O KDD foi aplicado nas bases de dados de julgamento de processos à procura de descobertas baseadas na classifi cação inicial dos processos em relação a incidência de processos tempo de tramitação e tipos de sentenças proferidas Definição dos objetivos Devido à carência de informações estatísticas foi defi nido um KDD que pudesse auxiliar na busca por padrões de comportamento que relacionassem a classifi cação processual com o padrão de sentenças proferidas tempo de tramitação e incidência de processos Seleção Nesse caso foram selecionadas as bases de dados que fornecem dados de 1ª instância que possuem como característica principal a descentralização dos dados em bancos de dados divididos por comarca totalizando 80 bases de dados Os dados dessas comarcas foram replicados online e centralizados em uma única base de dados A Figura 2 apresenta o modelo lógico de dados utilizados para compreensão do domínio explorado Descoberta de conhecimento com Big Data 4 42 TÓPICOS ESPECIAIS EM ADS Figura 2 Modelo lógico de dados Fonte Schneider 2003 p 33 Préprocessamento Na etapa de préprocessamento foi realizada uma limpeza na base de dados com o objetivo de trabalhar apenas com dados consistentes Processos que estavam considerados como baixados mas que estavam sem data de baixa e processos nos quais foram identifi cados erros de digitação nas datas foram encaminhados para os responsáveis para correção e posterior reinserção na base de dados Transformação Para encaminhar a próxima etapa do KDD que é a mineração foram constru ídos alguns campos na base de dados Entre eles podemos citar o campo que realiza o cálculo do tempo de tramitação de cada processo diferença entre a data da baixa e a data de abertura e a idade do réu calculada a partir da sua idade Além disso foram realizadas algumas adequações nos formatos dos dados de alguns campos a fi m de fornecer os dados num padrão de entrada adequado para a mineração dos dados na etapa seguinte 5 Descoberta de conhecimento com Big Data Introdução a Big Data UNIDADE 1 Descoberta de Conhecimento com Big Data PARTE 3 43 Mineração de dados Nesta etapa inicialmente foram defi nidas as técnicas de segmentação e regras de associação para aplicação Foram aplicados inicialmente dois fi ltros nos atributos 1 seção x classe x especialização e 2 comarca x seção x classe x especialização Foi utilizado o algoritmo Kmeans para a confi guração os parâmetros quantidade de clusters 8 número randômico para escolha dos centroides iniciais 10 e modo de cluster use training set Interpretação e avaliação Para a avaliação dos resultados foram considerados mais expressivos os resultados realizados com 8 clusters tendo em vista que os testes com 12 clusters geraram resultados inexpressivos e com 4 clusters ocultavam infor mações relevantes Acesse o link a seguir com o trabalho de Schneider 2003 na página 42 e veja o gráfico em formato de pizza com a distribuição do cruzamento de seção x classe x especialização httpsgooglCGCnt9 Na interpretação dos dados constatouse que 26 dos casos estão agrupados na seção cível na classe processo de conhecimento e com a especialização definida como família 20 dos casos estão agrupados na seção cível na classe processo de execução fiscal e com a especialização definida como fazenda pública 15 dos casos estão agrupados na seção cível na classe processos de execução e com a especialização definida como cível 12 dos casos estão agrupados na seção juizado especial na classe associadas e especialização no juizado especial a classe e a especiali zação têm a mesma nomenclatura Descoberta de conhecimento com Big Data 6 44 TÓPICOS ESPECIAIS EM ADS 10 dos casos estão agrupados na seção crime na classe procedimento ordinárioreclusão e com a especialização definida como crime 9 dos casos estão agrupados na seção juizado especial cível na classe precatórias criminais e com a especialização definida como associadas 8 dos casos estão agrupados na seção crime na classe precatórios criminais e com a especialização definida como precatória crime Analisando esses resultados podese constatar uma alta incidência de processos cíveis que tramitam na justiça comum com especialização de família 26 e fazenda pública 20 Isso pode ser um motivo para sugerir a nomeação de juízes específicos para julgar esses casos Big Data na área da saúde A área da saúde é uma das áreas que já possuem soluções implementadas a partir dos conceitos que permeiam Big Data devido ao fato de essa área envolver múltiplas relações com volumes de dados de pacientes profi ssionais da área hospitais laboratórios farmacêuticos seguradoras administração pública entre outros Com a integração dessas bases de dados surge um potencial de análises de dados que poderiam infl uenciar políticas públicas em prol de melhorias na saúde por exemplo Pacientes utilizando sensores de monitoramento com informações disponibilizadas em uma plataforma acessível cruzadas com informações providas de redes sociais dos próprios pacientes poderiam permitir aos médicos a elaborações de diagnósticos mais precisos e realistas Assim seria possível agir de maneira preventiva em muitos casos por meio de análises preditivas baseadas nesses grandes volumes de dados Do ponto de vista da indústria farmacêutica com análises mais profun das em grandes volumes de dados seria possível melhorar a eficácia dos medicamentos possibilitando melhores tratamentos aos doentes Os diversos hospitais e clínicas possuem essas informações mas elas nem sempre são aproveitadas A possibilidade de correlacionar os registros médicos com os tratamentos e os resultados dos tratamentos poderia ajudar muito nesse sentido Além disso com um volume significativo de dados médicos e algoritmos aprimorados de predição seria possível modelar de forma mais eficiente em quais vale a pena investir em pesquisas 7 Descoberta de conhecimento com Big Data Introdução a Big Data UNIDADE 1 Descoberta de Conhecimento com Big Data PARTE 3 45 No link a seguir você pode encontrar experiências de pacientes relacionadas a seus tratamentos médicos que geram uma grande base de dados para análises httpsgooglo5fG Acesse no link a seguir o site da rede Sermo em que os médicos podem trocar experiências do seu dia a dia nesse caso compartilhando casos reais de tratamentos aplicados aos seus pacientes httpsgooglKFbJm Outro uso potencial de Big Data é no controle de doenças descobrindo em que áreas elas foram detectadas e de modo preditivo alertando e prepa rando os hospitais e centros de emergência regionais para um possível surto epidêmico Pesquisas demonstram que isso é possível e já existem casos com esse contexto nos quais tendências são identificadas em um grande volume de dados padrões de conexões e interdependências que não eram possíveis de serem observadas em amostragens menores Um caso é o Flu Trends da Google que é um projeto para identificar tendências de gripe antes de as epidemias se estabelecerem e que se baseia nas informações obtidas no buscador Big Data na administração pública Para que seja possível implementar soluções que impactem na qualidade de vida muitas cidades estão desenvolvendo legislações para a transparência de dados públicos possibilitando assim a criação de soluções baseadas nesses grandes conjuntos de dados Com a utilização de Big Data associados a algo ritmos mais elaborados podese criar soluções baseadas no rastreamento de dados oriundos de diversas fontes Realizando associações e cruzamento de dados é possível detectar fraudes como por exemplo funcionários públicos Descoberta de conhecimento com Big Data 8 46 TÓPICOS ESPECIAIS EM ADS que foram contratados para trabalhar sob o regime de dedicação exclusiva e acumulam cargos em outras empresas O Big Data pode atuar como um aliado na transparência da administração pública e garantir assim que a sociedade confi e mais na qualidade da administração pública No caso da administração pública a tecnologia é apenas uma ferramenta que possibilita melhorias mas a grande mudança deve ser na dimensão cultural A transparência deve ser encarada como uma aliada da adminis tração pública contra corrupção e gastos inadequados de dinheiro público Além disso há a possibilidade de o governo agilizar seus processos e tomar decisões importantes com embasamento A cidade de Nova York possui um portal intitulado NYC Digital no qual é possível que os cidadãos tenham acesso a diversas informações relacionadas à administração da cidade além da possibilidade de interagir em algumas questões que se referem à gestão da cidade FAYYAD U M et al Advances in knowledge discovery and data mining Menlo Park American Association for Artificial Intelligence 1996 SCHNEIDER L F Aplicação do processo de descoberta de conhecimento em dados do poder judiciário do estado do Rio Grande do Sul 2003 103 f Dissertação Mestrado em Informática Universidade Federal do Rio Grande do Sul Porto Alegre 2003 Disponível em httpslumeufrgsbrhandle101838968 Acesso em 4 jan 2019 Leituras recomendadas MARTINS E S Aplicação do processo de descoberta de conhecimento em base de dados a metadados textuais de infraestruturas de dados espaciais 2012 92 f Dissertação Mestrado em Ciência da Computação Universidade Federal de Viçosa Viçosa 2012 Disponível em httpwwwlocusufvbrbitstreamhandle1234567892630texto20completo pdfsequence1isAllowedy Acesso em 4 jan 2019 TAURION C Big data Rio de janeiro Brasport 2013 9 Descoberta de conhecimento com Big Data Introdução a Big Data UNIDADE 1 Descoberta de Conhecimento com Big Data PARTE 3 47 ENCERRA AQUI O TRECHO DO LIVRO DISPONIBILIZADO PELA SAGAH PARA ESTA PARTE DA UNIDADE PREZADO ESTUDANTE 48 TÓPICOS ESPECIAIS EM ADS Parte 4 Ciência de Dados e Big Data O conteúdo deste livro é disponibilizado por SAGAH unidade 1 50 TÓPICOS ESPECIAIS EM ADS Ciência de dados e Big Data Objetivos de aprendizagem Ao final deste texto você deve apresentar os seguintes aprendizados Descrever dados e datasets Discutir ciência de dados e Big Data Listar práticas de ciência de dados e Big Data Introdução As informações e os dados nunca foram tão acessíveis quanto o são hoje em dia Por meio da internet conseguimos saber basicamente de tudo que ocorre na nossa localidade e no mundo A cada ação nossa provavelmente muitos dados estão sendo gerados para as empresas responsáveis pelos artefatos e serviços tecnológicos de que fazemos uso Neste capítulo você vai compreender melhor sobre os conceitos de dados e datasets assim como vai conseguir visualizar a ação conjunta que pode haver entre a ciência de dados e as tecnologias Big Data tanto por meio de contextualizações quanto de práticas Dados e datasets Você já parou para pensar na quantidade de observações que estamos sempre fazendo em tudo que está ao nosso redor O ser humano devido à sua racio nalidade consegue lidar com interpretar e associar diversos acontecimentos quase que simultaneamente E essa não é uma característica desenvolvida apenas quando somos adultos Se você entrar em uma loja de brinquedos com uma criança você compreenderá melhor o que estamos falando já que as primeiras reações quase sempre serão as de as escolhas serem realizadas com base em alguns padrões já preestabelecidos pela criança Mas você pode estar se questionando sobre o que isso tem a ver com dados e datasets não é Basicamente tudo pois quando fazemos observações sobre algo no decor rer do tempo vamos formando padrões até mesmo definindo preferências e Introdução a Big Data UNIDADE 1 Ciência de Dados e Big Data PARTE 4 51 agimos dessa forma durante toda a nossa vida Além disso geralmente nossas escolhas são baseadas nessas experiências Se fizermos uma analogia com essa situação comum do cotidiano com o mundo dos negócios em que decisões são tomadas a todo instante não seria muito diferente tendo em vista que todo negócio constrói um conhecimento sobre si mesmo e sobre seus clientes e produtos no decorrer do tempo Hoje ao acompanharmos pesquisas e noticiários deparamonos com um protagonista que já existe há muito tempo mas que só dos últimos tempos para cá virou o foco de todos os dados Mas como podemos definilos A definição mais básica de um dado é sabermos que se estiver só ele não faz sentido de modo deve haver informações sobre ele ou seja complementos informacionais e até mesmo contextos para que ele tenha sentido e possa gerar algum conhecimento Ao analisarmos a fundamentação do conceito de dados vemos claramente que ele é um ativo importante dentro de um negócio e podemos afirmar que nas nossas atividades cotidianas também Você conseguiu perceber como somos geradores de dados e informações constantes Mas e dataset o que seria Em sua tradução livre o termo significa conjunto de dados Mencionamos que as informações são um coleção de dados e dentro desse contexto é relevante notar que o contexto científico exige que visualizemos níveis mais profundos dos processos dedutivos e intuitivos de observação para que possamos registrálos com precisão Uma maneira de fazer isso é construir um conjunto de dados os quais são apresentados de várias formas Em sua grande maioria os dados são repre sentados por meio de planilhas podendo conter diversas linhas ou colunas e não necessariamente precisam assumir aquela ideia que temos de planilhas desenvolvidas em alguns softwares específicos Um conjunto de dados possui algumas características relevantes como a estruturação dos dados já que como citado anteriormente lidar com dados é um trabalho extremamente minucioso tendo em vista que o dado é o recurso chave de todo processo Deve haver também a possibilidade de recuperação acesso e identificação dos dados diante de todo o conjunto ação que geralmente ocorre por meio de comandos ou disponibilização de links de acesso além de certa frequência nas atualizações dos dados Do ponto de vista de Ramakrishnan e Gehrke 2013 p 784 existem muitos motivos para que os dados sejam semiestruturados A estrutura dos dados pode ser implí cita oculta desconhecida ou o usuá rio pode optar por ignorá la Além disso ao se integrar dados de vá rias fontes heterogê neas a troca e a transformaç ã o de dados sã o problemas importantes Dessa forma é necessário que haja um Ciência de dados e Big Data 2 52 TÓPICOS ESPECIAIS EM ADS modelo de dados altamente flexí vel para integrar dados de todos os tipos de fontes incluindo arquivos simples e sistemas legados Juntamente aos conceitos de dados é importante compreendermos também os conceitos de informação e conhecimento Informação fornece significado para o dado pois pode ser definida como um dado contextualizado Conhecimento pode receber diversas definições diferentes mas dentro desse contexto o conhecimento pode ser definido como uma experiência ou até mesmo aprendizado obtido devido à organização e à contextualização dos dados e das informações O uso da ciência de dados e Big Data Vivemos no século XXI e no contexto dos negócios as previsões acabam sendo o ponto forte das empresas Mas não estamos falando de previsões de sorte com cartomantes ou videntes falamos de tecnologias que usam seus poderosos algoritmos para fazer previsões de negócios Quando falamos sobre essas estimativas estamos ressaltando ainda mais a importância do dado já que todo seu ciclo de vida Figura 1 com plementa o investimento em tecnologias tanto inseridas em ferramentas quanto em metodologias no mundo corporativo A concepção de um dado pode ser oriunda das mais diversificadas fontes no nosso caso produzimos dados em praticamente toda ação que desempenha mos por meio de algum recurso tecnológico pois quando nos conectamos à rede nossas informações começam a ser obtidas imediatamente seja por um login em algum site ou até mesmo pelas permissões que damos ao fazermos download e instalarmos algum aplicativo Porém algumas fontes de dados não podem estar susceptíveis a variações ou sofrer outros danos ou seja deve haver certa estrutura para receber os dados Não podemos esquecer que existem regras empresariais que acompanham ou pelo menos tentam acompanhar todo esse processo Por isso por exemplo existem tipos de dados que ficam armazenados por muito mais tempo que outros e essa decisão cabe à empresa Perceba que quando falamos em armazenamento estamos falando também de investimento em segurança computacional e até mesmo em hardware e espaço na nuvem cloud computing capaz de armazenar tantas informações 3 Ciência de dados e Big Data Introdução a Big Data UNIDADE 1 Ciência de Dados e Big Data PARTE 4 53 Figura 1 Ciclo de vida dos dados para ciência da informação CVDCI Fonte Santana 2016 Dessa forma podemos concluir que a concepção o armazenamento o tratamento e outros processos relacionados aos dados irão variar conforme sua finalidade Inclusive pode haver até mesmo o descarte dos dados como mostra a Figura 1 A importância no conhecimento destes processos se dá segundo Turban e Volonino 2013 p 67 devido a três princípios 1 Princí pio da reduç ã o do valor de dados Uma análise dos dados em seu ciclo de vida mantém a atenç ã o em como o valor dos dados pode diminuir de acordo com o seu envelhecimento Assim o dado tem mais valor quanto mais recente for A maioria das organizaç õ es nã o pode operar no má ximo de seu desempenho tendo pontos cegos isto é falta de dados disponí veis de 30 dias ou mais 2 Princí pio do uso de dados 9090 Uma atuação em tempo real ou quase em tempo real sobre dados operacionais pode trazer vantagens importantes De acordo com esse princí pio a maioria dos dados armaze nados raramente é acessada apó s 90 dias exceto para fins de auditoria Ou seja os dados perdem grande parte de seu valor apó s trê s meses 3 Princí pio de dados em contexto Para capturar processar formatar e distribuir dados rapidamente e quase em tempo real é necessário um grande investimento em infraestrutura de gerenciamento de dados para fazer a ligaç ã o remota dos sistemas presentes nos pontos de venda Ciência de dados e Big Data 4 54 TÓPICOS ESPECIAIS EM ADS PDVs para armazenamento de dados sistemas de análise de dados e aplicativos que geram relató rios Esse investimento se justifica de acordo com o princí pio de que dados devem estar integrados ser processa dos analisados e formatados em informaç ã o acessí vel Os usuá rios finais precisam visualizar os dados em um formato significativo e em contextos já que eles irã o guiar suas decisõ es e seus planejamentos A ciência de dados transforma os dados utilizando conceitos matemáticos e estatísticos por meio de processos de mineração e filtragem dos dados As ferramentas computacionais se tornam necessárias para em conjunto com os softwares realizar o armazenamento a obtenção e o tratamento dos dados Mas e como tudo isso acontece Para isso são utilizadas tecnologias como mencionamos anteriormente e uma delas que podemos destacar aqui é Big Data Como o próprio termo já sugere isso significa lidar com uma grande quantidade de dados diversos estruturados ou não estruturados Os dados não estruturados são aqueles dados cujo contexto total nem sempre a tecnologia consegue visualizar como por exemplo em arquivos textuais Já os dados estruturados conseguem ser totalmente classificados e identificados com o uso das tecnologias O que não podemos deixar de comentar é que existem vários profissionais que lidam com os dados e que muitas vezes com a ajuda da tecnologia nem sempre estão totalmente ligados ao setor de tecnologia da empresa já que na maioria das vezes as tomadas de decisões são realizadas por profissionais administrativos Aplicações práticas da ciência de dados e Big Data Várias metodologias estão sendo utilizadas pelas empresas para a coleta de dados Porém quando falamos em Big Data estamos assumindo que além de termos grande volume de dados devido às grandes proporções eles não podem ser tratados com métodos tradicionais Para isso devem ser executados alguns passos tais como obtenção armazenamento sistematização e análise dos dados O termo Big Data é muitas vezes caracterizado por três vertentes que 5 Ciência de dados e Big Data Introdução a Big Data UNIDADE 1 Ciência de Dados e Big Data PARTE 4 55 inclusive são conhecidas como os três Vs volume variedade e veracidade Porém é comum nos depararmos com outros 2 Vs que também contemplam de forma coerente os conceitos sobre essa tecnologia o valor e a velocidade A obtenção dos dados pode ocorrer oriundas de diversas fontes tanto internas quanto externas aos negócios da empresa Já o armazenamento provavelmente ocorrerá por meio de sistemas e servidores Isso ocorre para garantir que seja feito o armazenamento automático e para que possam ser realizados backups posteriormente As próximas etapas consistem na organização e na análise dos dados nas quais deve haver um agrupamento que tenha como base algum padrão dos dados gerando com isso uma estrutura capaz de facilitar o acesso e a análise das informações que é basicamente o último passo a ser executado Com a organização isso fica mais fácil já que é na extração que podemos obter a visualização dos dados úteis para as tomadas de decisão Ainda sobre a etapa de análise podemos afirmar que antes acontecia apenas de forma descritiva com o objetivo de trazer por meio muitas vezes de gráficos planilhas e relatórios alguns conjuntos de dados que caracterizavam as ações já executadas pela empresa Porém com a ciência de dados essa etapa evoluiu não só devido ao uso das tecnologias mas também em relação a seus objetivos Hoje por exemplo as análises não ocorrem apenas com olhares para o passado mas também com perspectivas futuras que são chamadas de análises preditivas e diagnósticas já que é por meio desse processo que falhas ou pontos de melhoramentos são observados Existem diversas maneiras de as empresas coletarem dados tais como ende reço de email e IP informações dos dispositivos browsers cliques em anúncios seja pela rede social ou por emails histórico de buscas dentre outros Para isso elas utilizam alguns métodos para monitorar seus usuários como ferramentas para identificação de dispositivos perfis dos usuários cookies dentre outros Os dados obtidos das mais variadas fontes podem ser utilizados de diversas formas As grandes empresas por exemplo utilizam para as integrações de contas em que todas suas informações muitas vezes podem estar associadas ao seu email a conteúdos personalizados e as empresas podem aumentar o leque de opções de produtos e serviços conforme cada perfil de cliente Ciência de dados e Big Data 6 56 TÓPICOS ESPECIAIS EM ADS A associação desses recursos pode ser visualizada e utilizada em diversos contextos como no esporte em que diversos times de basquete futebol entre outros passaram a utilizar a análise de dados para prever possíveis melhorias de seus times tanto em resultados gerais quanto de desempenho dos atletas durante a prática de suas atividades Aqui no Brasil até os órgãos governamentais utilizam data warehouse para registros Nesse sentido um setor atuante é o Ministério da Justiça com o intuito de identificar ações de lavagem de dinheiro dentre outros golpes Empresas como Google Facebook e as de tecnologia também utilizam fortemente a análise de dados e podemos até afirmar que eles atuam por meio de todas as formas possíveis para isso já que seus lucros são oriundos desse tipo de ação Grandes redes varejistas do setor alimentício também utilizam a ciência de dados e tecnologias Big Data para gerir seus negócios e como mencionamos anteriormente para ampliar a gama de negócios produtos e serviços que podem ser disponibilizados aos clientes Conforme Taurion 2013 Big Data é um conjunto de tecnologias processos e práticas que permitem às empresas analisarem dados a que antes não tinham acesso e tomar decisões ou mesmo gerenciar atividades de forma muito mais eficiente Para o autor diversos dados podem ressaltar o início da curva de aprendizado sobre o que é o Big Data e seu respectivo impacto social Como exemplo ele cita o uso de Big Data pelas empresas Amazon e Netflix que utilizam sofisticados e avançados sistemas de recomendação Portanto as aplicações práticas que possuem ciência de dados e Big Data trazem maior transparência já que os dados ficam disponíveis em locais es pecíficos e alguns deles até passam a ser de domínio público como é o caso de dados governamentais Ocorre também a amplificação das informações tendo em vista que a conexão de diversas informações sobre algo específico ocorre de forma mais fácil A análise de dados pode ser realizada com o uso de algumas tecnologias como NoSQL Hadoop Sisence TIBCO Spotfire dentre outras 7 Ciência de dados e Big Data Introdução a Big Data UNIDADE 1 Ciência de Dados e Big Data PARTE 4 57 RAMAKRISHNAN R GEHRKE J Sistemas de gerenciamento de banco de dados 3 Ed Porto Alegre Penso 2013 SANTANA R C G Ciclo de vida dos dados uma perspectiva a partir da ciência da informação Informação Informação v 21 n 2 p 116142 2016 Disponível em httpwwwuelbr revistasuelindexphpinformacaoarticleview2794020124 Acesso em 23 dez 2018 TAURION C Big Data Rio de Janeiro Brasport 2013 TURBAN E VOLONINO L Tecnologia da informação para gestão em busca do melhor desempenho estratégico e operacional 8 ed Porto Alegre Bookman 2013 Leituras recomendadas AMARAL F Introdução à ciência de dados mineração de dados e big data Rio de Janeiro Alta Books 2016 ANTONELLI R A NEITZKE A C A VOESE S B Relação entre a qualidade da informação recebida e o nível de tomada de decisão dos profissionais da área de negócios Revista Ambiente Contábil v 10 n 2 juldez 2018 Disponível em httpsperiodicosufrnbr ambientearticleview127399538 Acesso em 23 dez 2018 CAVIQUE L Big Data e Data science Boletim APDIO v 51 p 1114 dez 2014 Disponível em httpsrepositorioabertouabptbitstream10400239181220Boletim511114 pdf Acesso em 23 dez 2018 FOREMAN J W Data Smart usando data science para transformar informação em insight Rio de Janeiro Alta Books 2018 PROVOST F FAWCETT T Data Science para negócios o que você precisa saber sobre mineração de dados e pensamento analítico de dados Rio de Janeiro Alta Books 2016 Ciência de dados e Big Data 8 ENCERRA AQUI O TRECHO DO LIVRO DISPONIBILIZADO PELA SAGAH PARA ESTA PARTE DA UNIDADE PREZADO ESTUDANTE Se você encontrar algum problema nesse material entre em contato pelo email eadproducaounilasalleedubr Descreva o que você encontrou e indique a página Lembrese a boa educação se faz com a contribuição de todos CONTRIBUA COM A QUALIDADE DO SEU CURSO Av Victor Barreto 2288 Canoas RS CEP 92010000 0800 541 8500 eadproducaounilasalleedubr