Prévia do material em texto
01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 1/16 Imprimir INTRODUÇÃO A computação em nuvem está em toda parte. Abrindo uma revista de tecnologia ou visitando um site, provavelmente você verá matérias sobre computação em nuvem. O termo cloud computing, ou computação na nuvem, é uma metáfora da internet, que é representada em diagramas de rede, como uma nuvem, que permite que a rede funcione. A computação em nuvem tem a função de cortar custos operacionais e permitir que departamentos de TI se concentrem em projetos estratégicos, em vez de gastarem tempo e esforços operacionais do data center funcionando. Ela é uma ideia que nos permite usar as mais variadas aplicações através da internet, em qualquer lugar e independentemente da plataforma, ou seja, é um data center remoto. A computação em nuvem permite diminuir custos e atualizar software pagando menos por isso, dependendo de como for o seu contrato. Sendo assim, vamos entender mais sobre a arquitetura TCP/IP. ARQUITETURA TCP/IP Com funções separadas, o modelo de arquitetura TCP/IP é divido em várias camadas sendo elas: rede, transporte, aplicação e interface de rede. O sentido de posicionamento das camadas induz que aquelas mais superiores se acham mais próximas do usuário e trabalham com dados mais abstratos, atribuindo as camadas mais baixas para as tarefas que sejam de menor nível de abstração. Já o topo da arquitetura TCP/IP é a camada de aplicação, onde são realizadas a maior parte das requisições para o andamento das tarefas na rede. Ela faz a comunicação entre os programas e os protocolos de transporte. Alguns protocolos que são usados dentro da camada de aplicação são: TELNET (terminal virtual); FTP (transferência de �cheiros); DNS (diretório de nomes) e HTTP (protocolo de hipertexto/hipermédia). O TCP é o protocolo mais usado, pois oferece garantia na entrega dos pacotes entre um PC emissor e um PC receptor. A camada de aplicação é a responsável por tudo que esteja relacionado aos serviços de comunicação que procuram interagir mais próximos do usuário. Com relação à camada transporte, ela pode solucionar problemas como con�abilidade e saber se o dado alcançou seu destino, destacando-se os protocolos UDP (User Datagram Protocol) e o TCP (Transmission Control Protocol). Por meio de funções como o controle de �uxo, o controle de erro, a sequenciação e multiplexação de mensagens, é possível saber se os dados chegaram na ordem correta. Dado que hosts é uma máquina ou computador conectado a uma rede, que conta com número de IP e nome de�nidos. Também conhecida como inter-redes, a camada de internet é responsável pela autorização de envio de pacotes por hosts a qualquer rede e pelo direito de que esses dados possam chegar ao seu destino. Similar ao que é operacionalizado na camada de rede do modelo OSI, a arquitetura TCP/IP e a camada de internet têm como fundação os protocolos ICMP (Internet Control Message Protocol) e IP (Internet Protocol). A camada de interface de rede usa para se manter em funcionamento: o PPP (Point-to-Point Protocol) e Ethernet para redes locais (LAN – Local Area Network) e para redes de longa distância (WAN – Wide Area Network). Aula 1 CONCEITO DE COMPUTAÇÃO EM NUVEM Identi�car quais protocolos de redes utilizar para a comunicação de dados entre cliente e servidor necessária para gerenciamento e manipulação de banco de dados em nuvem. 28 minutos 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 2/16 Já com relação à camada interface de rede, é onde acontece a conexão básica do host junto da rede, por meio de protocolo que seja capaz de enviar pacotes IP. É considerada a camada base da arquitetura TCP/IP, operando com endereços físicos e, portanto, protocolos de conversão entre endereços físicos e lógicos são de�nidos sendo: o ARP (Address Resolution Protocol) e o RARP (Reverse ARP). Pode-se considerar que os principais benefícios da arquitetura TCP/IP são: segurança no processo de troca de dados entre hosts; a internet, na obtenção de acesso à internet por meio da suíte TCP/IP de protocolos; a padronização, pois pode ser associado com todos os sistemas operacionais disponíveis no mercado; protocolo robusto, pois permite o uso em sistemas operacionais entre dois pontos distantes; roteamento, permitindo a conexão remota da internet tanto por tecnologias mais arcaicas como por mais recentes; e a outra vantagem é a interconectividade, ao permitir a conexão entre sistemas não compatíveis. Portanto, cada uma das camadas é estruturada para responder por um grupo de serviços de�nidos e tarefas especí�cas para conservar a integridade e a entrega dos dados trafegados sobre o que será realizado na camada superior. VIDEOAULA: ARQUITETURA TCP/IP O modelo de OSI (Open System Interconnection) permite a comunicação entre as máquinas que são heterogêneas, divididas em 7 camadas, é uma referência das redes de computadores e um padrão de referência da Organização Internacional de Normalização (ISSO) para os protocolos de rede. PRINCIPAIS PROTOCOLOS DE REDES A internet já está tão comum no dia a dia das pessoas que é até difícil imaginar a vida sem ela, e mal sabem o que pode estar por trás dela para que ela possa existir. No entanto, entre várias coisas, em meio a uma enorme infraestrutura e várias tecnologias, algo de muita importância para que se possa usufruir da internet são os chamados protocolos de internet. Não é uma condição para continuar usufruindo dos aplicativos (apps) ter o conhecimento sobre os protocolos, mas pode ser muito útil com relação à segurança na internet. Os protocolos podem ser entendidos como um conjunto de regras de como as coisas precisam acontecer na internet. Conhecido como IP, o protocolo de internet é utilizado entre as máquinas em rede para encaminhamento dos dados. Tanto no Modelo OSI quanto no TPC/IP, o protocolo da internet IP está na camada chamada camada de rede. Os protocolos permitem que diversos dispositivos sejam capazes de efetuar conexões e trocas de dados, ou seja, não importa se um usuário esteja com um smartphone Android da última geração ou um desktop de 5 anos de uso com um sistema operacional Linux, pois esse conjunto de regras de�ne que a “comunicação” tão diversa entre os dispositivos aconteça exatamente da mesma forma. Existem muitos protocolos na internet, e cada um está presente em situações especí�cas, limitando-se em alguns principais, conforme a seguir: • XMPP: é o protocolo de comunicação aberta, utilizado por programas de comunicação como Whatsapp. Por sua facilidade, ele tem ganhado espaço em aplicações direcionadas à Internet das Coisas (IoT). • TPC/IP: é a união, a combinação de dois protocolos – o TCP (Transmission Control Protocol) + IP (Internet Protocol) – que são os responsáveis por todo o envio e recebimento de dados em todas as redes e, consequentemente, na internet. Resumidamente, essa combinação de protocolos é separada em quatro camadas, nas quais há o recebimento das informações (camada de aplicação), fragmentadas em pacotes ou conjuntos de�nidos de dados para o formato da rede (transporte), para a serem endereçados (rede) e, por �m, enviados ao destino (interface). • HTTP e HTTPS: o HTTP (HyperText Transfer Protocol) é o que é utilizado toda vez que se acessa um site. Não é necessário digitar “http://” a cada endereço que preenche na barra de endereço do navegador, porém, assim que a tecla Enter é clicada, ele é exibido. • DHCP: ele de�ne a atribuição de um endereço IP para o dispositivo, con�gurando no dispositivo responsável pelo DHCP (ex.: modem ou roteador), o mac address da placa de rede no qual estará reservadocada IP da rede. Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 3/16 • POP, IMAP e SMTP: são protocolos voltados com envio e recebimento de e-mail. O POP é um conjunto de regras para o dispositivo conectar-se a um servidor de e-mail e para que possa fazer o download das mensagens referentes a uma conta de e-mail. O SMTP é o conjunto de regras que de�ne como são enviadas mensagens de e-mail para o servidor que hospeda um domínio e as contas de e-mail sob ele. O IMAP é onde ocorre a sincronização entre o programa utilizado e a conta de e-mail. Portando, são os protocolos de internet que permitem o acesso a um site ou o uso de apps de modo seguro e e�ciente. VIDEOAULA: PRINCIPAIS PROTOCOLOS DE REDES Alguns exemplos de outros protocolos são: FTP, SFTP e FTPS, SSH, Telnet e o Internet relay chat (IRC), que é um sistema de bate-papo baseado em texto, o qual permite discussões entre participantes nos chamados canais de conversação. CONCEITOS BÁSICOS SOBRE ARQUITETURA CLIENTE / SERVIDOR Em uma arquitetura de computação em nuvem, os clientes são justamente o que eles são em uma simples rede local (LAN), ou seja, são normalmente os computadores que estão em sua mesa. Eles podem ser também celulares, laptops, tablets, todos com importantes drivers para a computação em nuvem, por causa da sua mobilidade. Os clientes são os dispositivos que os usuários �nais interagem para gerenciar sua informação na nuvem e, normalmente, encaixam-se em três categorias. • Thick: esse cliente é um computador normal, usando um browser da web, como Internet Explorer ou Firefox, para conectar a nuvem. Clientes thick é uma boa escolha se os usuários precisam manter arquivos em suas próprias máquinas ou executar programas que não existem na nuvem (VELTE et al., 2012). Eles são mais vulneráveis a ataques que os clientes thin, pois os dados são armazenados no disco rígido da máquina e caso a máquina seja roubada, logo os dados podem ser comprometidos. Também, se um cliente thick falhar, quaisquer dados que estejam armazenados na máquina, incluindo o sistema operacional e todas as de�nições de con�guração, serão perdidos e um novo computador precisará ser con�gurado para o usuário. • Os dispositivos móveis: compreendem PDAs ou smartphones como Windows Smartphone ou Iphone. Clientes thin: são computadores que não possuem discos rígidos internos, mas possibilitam que o servidor faça todo o trabalho. • Os clientes thin estão se tornando cada vez mais populares, devido ao seu valor e efeito no meio ambiente, como o menor consumo de energia, pois não precisam de muitos componentes por serem menores que uma CPU convencional. O cliente thin é uma máquina mais econômica. Algumas vantagens dos clientes thin são: interessante opção se um cliente apenas precisa acessar serviços de virtualização; são menos caros para manutenção; existe um alto nível de segurança, pois nenhum dado é armazenado no cliente thin e todos os dados residem em seu centro de dados ou na nuvem, portanto, o risco de um rompimento físico é pequeno. Pode-se dizer que um cliente é uma máquina que solicita alguns dados ou serviço. Os computadores clientes solicitam as informações necessárias do servidor, podendo ser em qualquer estrutura de dados formatados. Os formatos mais usados são XML e JSON. O servidor e o cliente solicitam e respondem principalmente usando esses formatos. A arquitetura cliente-servidor busca estruturar o sistema como um conjunto de processos cooperativos, que são os servidores, os quais oferecem serviços aos processos de usuário, que são os clientes. No modelo cliente-servidor, a comunicação entre processos acontece somente através da troca de mensagens. Dessa forma, o modelo adequa-se à implementação de sistemas distribuídos, uma vez que os mecanismos de comunicação podem ser desenhados para admitir a troca de mensagens entre processos executando em modos distintos. O modelo cliente-servidor geralmente faz uso de protocolos de comunicação simples do tipo requisição/resposta. A �m de obter um serviço, o cliente envia uma requisição ao servidor. Este, então, executa as operações relacionadas ao serviço e envia uma resposta ao cliente, contendo, então, dados ou um código de erro caso o serviço não possa ser executado. Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 4/16 VIDEOAULA: CONCEITOS BÁSICOS SOBRE ARQUITETURA CLIENTE / SERVIDOR Para melhor entendimento dos conceitos de cliente e servidor é necessário observar as características do cliente e do servidor que serão descritas, bem como as suas vantagens e desvantagens. ESTUDO DE CASO Você, como pro�ssional da área da TI da sua empresa, é solicitado para identi�car de que forma os aplicativos móveis poderiam ser construídos para que o consumo de energia fosse menor, tanto por questões ambientais como para satisfazer os usuários que desejam recarregar com menos frequência seus celulares. RESOLUÇÃO DO ESTUDO DE CASO Considerando diferentes abordagens de arquiteturas disponíveis no mercado, você poderia selecionar duas, a primeira construída sob a arquitetura cliente-servidor, em que o aplicativo faz requisições a um servidor remoto e ele mesmo processa as respostas e as devolve ao cliente. Já na segunda, você poderia deixar o cliente sob a responsabilidade da aplicação conectar ao banco de dados e processar as regras de negócio. Saiba mais Na última década houve um enorme avanço tecnológico nas áreas de sensores, circuitos integrados e comunicação sem �o, o que colaborou para a criação de redes de sensores sem �o. Para saber mais sobre esse tipo de rede, acesse o artigo referenciado a seguir: LOUREIRO, A. A. F. et al. Redes de Sensores Sem Fio. SIMPÓSIO BRASILEIRO DE REDES DE COMPUTADORES, 21., 2003, Natal, RN. Anais [...]. Natal, RN: SBC, 2003. Disponível em: https://homepages.dcc.ufmg.br/~loureiro/cm/docs/sbrc03.pdf. Acesso em: 2 fev. 2022. Para visualizar o objeto, acesse seu material digital. Resolução do Estudo de Caso Para visualizar o objeto, acesse seu material digital. INTRODUÇÃO Olá, estudante! Nos últimos 5 anos, a computação em nuvem é a aposta de que ninguém mais necessitará instalar programa algum para fazer desde algumas atividades básicas, como usar planilhas, até trabalhos mais complexos, como fazer edição de imagem e vídeos, pois tudo é feito pela internet. Nesta aula você vai aprender quais componentes fazem parte de uma solução de nuvens, as diferentes aplicações que você pode esperar, os conceitos básicos de computação em nuvem, a relação da nuvem com a internet, os tipos da computação em nuvem (pública, privada e híbrida), a infraestrutura de nuvem e como ela é construída. Vamos lá! Aula 2 INTRODUÇÃO AO BANCO DE DADOS EM NUVEM Identi�car quais protocolos de redes utilizar para a comunicação de dados entre cliente/servidor. Conhecer os principais conceitos, a importância dos grandes volumes de dados e a sua implicação no armazenamento em nuvem. 26 minutos https://homepages.dcc.ufmg.br/~loureiro/cm/docs/sbrc03.pdf 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 5/16 TIPOS DE COMPUTAÇÃO EM NUVEM (PÚBLICA, PRIVADA E HÍBRIDA) A computação em nuvem possibilita usar as mais diversas aplicações via internet, em qualquer lugar e independentemente da plataforma, com a mesma praticidade de tê-las instaladas no próprio computador. Existem três principais tiposde computação em nuvem: nuvem privada, nuvem pública e nuvem híbrida. As nuvens públicas são geralmente ambientes de nuvem elaborados em uma infraestrutura de TI que não é de posse do usuário �nal. A cobrança de alguma tarifa deixou de ser característica fundamental das nuvens públicas, pois elas pertencem a um provedor, que é de serviço de nuvem, e são administradas por ele, o qual é terceirizado, fornecendo recursos de computação como armazenamento e servidores pela internet. Na nuvem pública, todo o software, hardware e demais infraestruturas de suporte são de propriedade e gerenciadas pelo provedor de nuvem. O gerenciamento da conta e o acesso ao serviço são feitos através do uso de um navegador da Web. Diferentemente da nuvem privada, elas podem proporcionar economia às empresas com relação aos gastos de gerenciamento, compra e manutenção de infraestrutura e hardware local de aplicativo. As nuvens públicas também conseguem ser implantadas de maneira mais rápida do que as infraestruturas locais, em que todos os funcionários de uma empresa podem usar o mesmo aplicativo de uma �lial, por exemplo, utilizando o dispositivo de sua escolha, bastando ter acesso a internet. Apesar de algumas questões relacionadas à segurança, quando estabelecidas corretamente, a nuvem pública pode ser tão segura quanto a implantação de uma nuvem privada. Alguns dos maiores provedores de nuvens públicas são: Microsoft Azure, Alibaba Cloud, Amazon Web Services (AWS), Google Cloud e IBM Cloud. No que diz respeito à nuvem privada, ela é usada exclusivamente por uma única organização ou empresa, a infraestrutura de TI é dedicada e o cliente tem acesso totalmente a ela. Ela oferece muitas das vantagens de uma nuvem pública, além de escalabilidade, autoatendimento e elasticidade. Através de �rewalls da empresa e hosting interno, a nuvem privada oferece um maior nível de segurança. No entanto, uma desvantagem está no departamento de TI da empresa, que é responsável pelo custo do gerenciamento da nuvem privada, o qual exige as mesmas despesas de alocação de pessoal que a posse de um datacenter comum. Na nuvem privada, dois modelos podem ser usados: a infraestrutura como serviço (IaaS), a qual possibilita que a empresa use os recursos de infraestrutura, e a plataforma como serviço (PaaS), que possibilita que a empresa faça de tudo, desde aplicativos mais simples até aplicativos so�sticados. Existem também as chamadas nuvens privadas gerenciadas e nuvens dedicadas. Nas nuvens privadas gerenciadas, os clientes utilizam uma nuvem con�gurada por um fornecedor terceirizado, sendo uma opção para as empresas que possuem poucos funcionários ou com equipes de TI sem a quali�cação necessária para oferecer a infraestrutura de nuvem privada adequada. As nuvens dedicadas dizem respeito a uma nuvem dentro de outra, sendo possível ter uma nuvem pública em uma nuvem dedicada ou em uma nuvem privada. As nuvens privadas podem ser estabelecidas como nuvens públicas para criar uma nuvem híbrida, ligadas por uma tecnologia que possibilita que aplicativos possam ser compartilhados entre elas. Dessa forma, a nuvem híbrida oferece mais opções de implantação e maior �exibilidade, além de ajudar a otimizar a infraestrutura. VIDEOAULA: TIPOS DE COMPUTAÇÃO EM NUVEM (PÚBLICA, PRIVADA E HÍBRIDA) Um outro tipo de computação em nuvem é o Multicloud, constituído por mais de um serviço e de um fornecedor de nuvem, privada ou pública. As Multiclouds transformam-se em híbridas quando várias nuvens estão conectadas por alguma forma de integração. INFRAESTRUTURA EM NUVEM É importante saber mais sobre o que é a infraestrutura de TI para entender como a computação em nuvem funciona. Trata-se de um grupo de softwares, hardwares e instalações responsáveis por oferecer um ambiente para disponibilizar serviços de TI. Todos os gerenciamentos dessas tecnologias são feitos com os recursos de TI armazenados em data centers. Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 6/16 Os data centers locais representam um custo alto para a empresa, enquanto a computação em nuvem pode ser usada para diversas �nalidades em uma empresa. Em relação aos diferentes modelos de serviço de nuvem, o IaaS, que é a infraestrutura como serviço, é um modelo de serviço de nuvem que é o mais próximo do gerenciamento de servidores físicos; um provedor de nuvem manterá o hardware atualizado, mas a manutenção do sistema operacional e a con�guração da rede �cam a cargo do locatário da nuvem. A infraestrutura do ambiente de computação em nuvem normalmente é composta por um grande número, centenas ou milhares de máquinas físicas ou nós físicos de baixo custo, conectadas por meio de uma rede. Dentro de cada máquina física existe um número variável de máquinas virtuais (VM) ou nós virtuais em execução, de acordo com a capacidade do hardware disponível na máquina física (SOUSA et al., 2010). Esse modelo de serviço não desobriga o armazenamento de arquivos em discos rígidos, no qual tal trabalho é realizado por servidores gigantescos que ocupam diversos galpões. Data centers controlados por grandes empresas de TI, como Microsoft, Google e Amazon, são dotados de softwares de virtualização, responsáveis por encaminhar serviços sob demanda via rede e, assim, aproveitar ao máximo e durante mais tempo o poder das máquinas. A infraestrutura é uma forma de oferecer a sua solução de virtualização para a computação em nuvem. Em um ambiente virtualizado, os aplicativos são executados em um servidor e são exibidos no cliente. O servidor pode ser local ou do outro lado da nuvem. A virtualização está ganhando a adoção generalizada devido aos seus benefícios indiscutíveis aos clientes. Pode-se dizer que essas iniciativas buscam bene�ciar os usuários �nais com: disponibilidade de aceleração das novas tecnologias do conhecimento de virtualização, pois podem otimizar as tecnologias que existem e inserir tecnologias novas para aplicação em ambientes virtuais; expandir as soluções de virtualização, pois se tem a disponibilidade das interfaces de visualização de padrão aberto; interoperabilidade expandida e a capacidade de suporte. Com relação aos padrões abertos Hypervisor, eles são os componentes fundamentais da infraestrutura virtual que permitem a participação de sistema do computador. Coomunity Source é um programa que busca parceiros do setor com a oportunidade de acesso ao código fonte VMware ESX Server sob uma licença livre de direitos autorais. Esses parceiros podem ajudar compartilhando códigos ou formando módulos binários para estimular e aumentar soluções de virtualização. Para os clientes, a expectativa é que o programa VMware Community ofereça um amplo conjunto de soluções de parceiros que sejam bem integrados com os produtos de infraestrutura virtual VMware. Realizadas por meio de uma interface baseada na Web, as atividades de instalação, monitoramento, con�guração e otimização das máquinas virtuais e serviços de nuvem �cam na seção “gerenciamento de infraestrutura de nuvem”. Empresas como Amazon, Google e Microsoft estão publicando serviços computacionais baseados na infraestrutura da computação em nuvem, sendo a Amazon a pioneira a oferecer uma infraestrutura desse tipo. VIDEOAULA: INFRAESTRUTURA EM NUVEM O vídeo aborda os diferentes serviços de nuvens, como PaaS, IaaS e SaaS, em referência aos diferentes modelos de serviço de nuvem. Esses modelos de�nem os diferentes níveis de responsabilidade compartilhados pelo provedor e pelo locatário de nuvem. CONCEITOS DE BANCO DE DADOS EM NUVEM O mundo de hoje representa uma nova realidade: a tecnologia está sempre presente através da nuvem, oferecendo fácil acesso a serviços digitais. Capitalizar essa mudança é essencial para a inovação e crescimentoda organização. A mudança não é fácil, por impactar pessoas e a cultura das empresas, e isso pode trazer o sentimento de risco, o que requer um pensamento novo e disruptivo, uma mudança de cultura dentro da organização. Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 7/16 A computação em nuvem é um modelo baseado em consumo, em que os provedores de serviço de nuvem acontecem em um modelo baseado em consumo, ou seja, os usuários �nais só pagam pelos recursos que utilizam. Um modelo baseado em consumo tem vários benefícios, incluindo: não ter custos prévios, não ter necessidade de comprar uma infraestrutura cara que seus usuários podem não usar ao máximo; a capacidade de pagar para obter recursos adicionais quando necessário e a capacidade de parar de pagar por recursos que não são mais necessários. Alguns dos benefícios da computação em nuvem são: con�abilidade, produtividade, desempenho e tantos outros benefícios da computação em nuvem. A computação em nuvem traz várias vantagens, principalmente para as organizações ou empresas, entre elas o custo. O custo elimina o gasto do capital com a compra de hardware, software, con�guração e execução de data centers locais, além de TI para o gerenciamento da infraestrutura. Outro benefício é a questão da escala global e a questão do desempenho, em que os maiores serviços de computação em nuvem são executados em uma rede mundial de data centers seguros, os quais são atualizados regularmente com as mais recentes gerações de hardware de computação rápida e e�ciente. Tem-se um outro benefício, que é a questão da segurança: muitos provedores em nuvem oferecem um grande conjunto de políticas, tecnologias e controles que fortalecem sua postura geral de segurança, ajudando, dessa forma, a proteger os dados, as aplicações e a infraestrutura. A velocidade também é outro benefício da computação em nuvem, cuja maior parte dos serviços é disponibilizada por um alto serviço sob demanda para que até grandes quantidades de recursos de computação possam ser provisionados em minutos, fornecendo às empresas muita �exibilidade e aliviando a pressão do planejamento da capacidade. Tem-se uma maior produtividade ao usar o banco de dados em nuvem, em que os data centers locais exigem pilhas de equipamentos e implementações, como con�guração de hardware, con�guração de software e outras atividades mais demoradas de gerenciamento da TI. A computação em nuvem acaba tirando a necessidade de muitas dessas tarefas, e as equipes podem investir o seu tempo na conquista de metas comerciais mais importantes. E, por �m, um outro benefício é a con�abilidade, ao reduzir os custos de backup de dados, recuperação de desastre e andamento dos negócios, já que os dados podem ser espelhados em diversos sites redundantes na rede do provedor nuvem. Já os fatores que complicam a adoção da computação em nuvem pelas empresas são: necessidade de melhor integração entre os sistemas que rodam na nuvem e os sistemas que rodam internamente na organização e necessidade de acesso estável à internet e com banda de comunicação adequada para o nível de uso, principalmente quando os sistemas produzem serviços para clientes internos (OPUS SOFTWARE, 2016). VIDEOAULA: CONCEITOS DE BANCO DE DADOS EM NUVEM Com relação à elasticidade e escalabilidade, um ambiente computacional será elástico se conseguir proporcionar os recursos demandados pelos sistemas que rodam nele, já a escalabilidade é no sentido de conseguir acompanhar o aumento da demanda. ESTUDO DE CASO Você trabalha no departamento de TI da Arena Traders, que decidiu migrar seus aplicativos e dados para o Microsoft Azure. Você está informado de que a computação em nuvem economizará tempo e dinheiro de sua empresa migrando do hardware físico local para uma solução de nuvem. Com essa nova solução, você precisará pagar apenas pelos recursos e pelo tempo de computação que usar. Porém, alguns conceitos da computação em nuvem são novos para muitos membros da equipe de TI, que faz perguntas especí�cas sobre o que a computação em nuvem pode fazer por eles. Por exemplo, a equipe que gerencia o site da Arena Traders quer saber de que forma o Azure melhora a escalabilidade do site. A equipe que cuida da implantação do novo hardware está interessada para ver como a computação em nuvem pode tornar seus processos de implantação mais rápidos. Além de tudo, a equipe de desenvolvedores quer saber mais sobre as diferentes opções disponíveis para eles quando estiverem criando aplicativos. Por exemplo, há alguma forma de executar os aplicativos em uma con�guração híbrida, na qual parte do aplicativo é executada localmente e o restante do aplicativo é executado na nuvem? RESOLUÇÃO DO ESTUDO DE CASO Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 8/16 Você poderia mostrar as várias vantagens com relação a um ambiente físico, que a Arena Traders pode usar após sua migração para o Azure. E sobre os modelos para a computação em nuvem, há três: nuvem pública, nuvem privada e nuvem híbrida. Cada modelo de implantação tem aspectos diferentes que você deve considerar ao migrar para a nuvem. Uma nuvem híbrida é um ambiente de computação que combina uma nuvem pública e uma nuvem privada, permitindo que dados e aplicativos sejam compartilhados entre elas. Saiba mais O uso da computação em nuvem possui vários benefícios se comparado à forma comum de se acessar informação e tem como principal objetivo fornecer o acesso à informação pela internet. Para saber mais sobre a computação em nuvem, leia o livro Cloud Computing. Resolução do Estudo de Caso Para visualizar o objeto, acesse seu material digital. INTRODUÇÃO Tomar as decisões certas só é possível se tivermos as informações certas e necessárias para avaliar cada situação, não é mesmo? A tendência de hospedar as várias partes de um sistema de informação na nuvem também atinge os bancos de dados. Assim como devemos escolher cuidadosamente a instituição �nanceira em que o nosso dinheiro será con�ado, também devemos escolher de forma criteriosa com que organização vamos compartilhar os nossos dados. Deve-se ter em mente que, onde quer que esteja, nosso banco de dados deve estar sempre pronto para atender as requisições de seus usuários e garantir que as informações estejam sempre corretas, em um estado estável e que sejam con�áveis. Por �m, precisamos ter uma linguagem adequada para nos comunicarmos com nossas bases de dados. Essa linguagem deve ser capaz de criar estruturas que armazenarão os dados e oferecerão comandos que nos permitam criar, ler, alterar e excluir os dados armazenados. PRINCIPAIS FORNECEDORES DE BANCO DE DADOS EM NUVEM A computação em nuvem está levando os serviços digitais (e até mesmo os que ainda não são) a um nível de qualidade ainda mais alto. Esses serviços ou aplicativos deixam de estar limitados a apenas um servidor contratado, que, na prática, poderia sofrer dos mesmos problemas que um servidor local mantido pela própria empresa, e passam a contar com toda a robustez e con�abilidade das empresas que oferecem os serviços da nuvem. As considerações, levantamentos e possíveis apontamentos sobre os fornecedores de banco de dados em nuvem acabam sendo praticamente os mesmos da infraestrutura de nuvem de forma geral. Isso acontece porque é esperado que a maioria das aplicações em nuvem sejam dependentes de algum tipo de sistema de Aula 3 SERVIÇOS E MANIPULAÇÃO DE DADOS Identi�car quais protocolos de redes utilizar para a comunicação de dados entre cliente/servidor.Conhecer os principais conceitos, a importância dos grandes volumes de dados e a sua implicação no armazenamento em nuvem. 25 minutos 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao=… 9/16 banco de dados. É difícil encontrar um fornecedor que se concentre exclusivamente no serviço de banco de dados em nuvem sem fornecer também os demais tipos de serviços que envolvem questões de rede, infraestrutura, segurança entre outros. A concorrência do mercado desses fornecedores é bastante forte, o que contribui positivamente para a escolha de qual deles se enquadra melhor nas necessidades da aplicação. Temos, então, muitas opções de qualidade sendo oferecidas por cada fornecedor e com preços interessantes, em virtude da concorrência. Alguns dos principais provedores de nuvem estão listados em sequência junto de uma breve descrição. • Amazon Web Service (AWS): um dos serviços mais utilizados. Oferece várias opções de serviços de banco de dados e motores. Oferece alto desempenho, disponibilidade e segurança. Existe, ainda, a possibilidade de contratar o serviço de banco de dados totalmente gerenciados (BANCOS [...], 2022). • Google Cloud Platform: assim como seu concorrente, ele oferta vários modelos de bancos de dados. Assim como esperado, os usuários não precisam se preocupar com con�gurações e eventuais manutenções nas tecnologias subjacentes (GOOGLE [...], 2022). • Microsoft Azure: possui as mesmas características gerais de seus concorrentes citados anteriormente, com destaque para as funções inteligentes que oferecem insights de desempenho (TIPOS [...], 2022), (DADOS [...], 2022). • Oracle Cloud: destaca-se como primeiro banco de dados autônomo do mundo. Essa tecnologia dispensa a �gura de um administrador de banco de dados. Essa característica o torna, pelo menos em teoria, independente, sendo automaticamente ajustado pelas próprias tecnologias da nuvem e técnicas de machine learning (BANCO [...], 2022), (ORACLE [...], 2022), (ALTA [...], 2022). Atualmente, existem, ainda, várias outras opções de qualidade no mercado como: Alibaba Cloud (ALIBABA [...], 2022), IBM (IBM [...], 2022), VMware (PRINCIPAIS [...], 2022), DigitalOcean (WORRY-FREE [...], 2022) e Rackspace (PRINCIPAIS [...], 2022). Essas opções podem não oferecer a grande variedade de sistemas de banco de dados dos fornecedores anteriores, porém todos buscam oferecer um serviço que traga para si as dispendiosas questões de manutenção e con�guração de sistemas de banco de dados. Cada fornecedor busca apresentar ofertas e condições que podem fazer mais ou menos sentido de acordo com o contexto de cada cliente e aplicação. A escolha da melhor opção envolve necessariamente um estudo minucioso de cada uma das opções disponíveis comparadas com os requisitos de armazenamento de dados da aplicação. VIDEOAULA: PRINCIPAIS FORNECEDORES DE BANCO DE DADOS EM NUVEM Quais são as atualizações e novidades que os fornecedores de bancos de dados em nuvem oferecem? Existem vários tipos de banco de dados oferecidos. Qual deles é melhor para a aplicação que estamos desenvolvendo? CONSISTÊNCIA E DISPONIBILIDADE Assim como é fundamental escolher onde serão armazenados os dados da nossa aplicação, também precisamos entender dois conceitos de grande importância computacional aplicados a banco de dados: consistência e a disponibilidade (ELMASRI; NAVATHE, 2005), (ALTA [...], 2022). Embora esses conceitos sejam um tanto intuitivos, vale a pena analisá-los com mais atenção. Com relação à consistência, podemos entender o termo como sinônimo de duas outras palavras: certeza e sentido. Um banco de dados deve sempre permanecer em um estado consistente, ou seja, os dados sempre devem estar corretos, isto é, eles sempre devem possuir os valores esperados. Se vários usuários tentarem alterar a mesma informação ao mesmo tempo, deve haver uma forma bem de�nida de controlar esses acessos para que os dados permaneçam sempre corretos, a �m de que eles sejam verdadeiramente a representação atual do que se espera que eles sejam, ou seja, consistentes. Em um sentido complementar, também esperamos que, em uma base de dados, a altura de pessoas não tenha nenhum valor abaixo de zero, a�nal nenhum ser humano pode medir -50 centímetros, não é mesmo? Nesse sentido, consistência também signi�ca que os dados armazenados sempre farão sentido. Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao… 10/16 Manter a consistência é ainda mais importante para instituições �nanceiras. Imagine se um banco, com o volume diário de transações realizadas por dia, tivesse que se preocupar em veri�car a todo momento se os dados das operações estão consistentes. Certamente a situação seria caótica e tornaria o sistema atual inviável. Por esse motivo, a consistência é uma característica indispensável. Pensando agora em disponibilidade, não basta que os nossos dados sejam corretos e façam sentido, precisamos também acessá-los a qualquer momento. É comum encontrarmos o termo 24 x 7, que signi�ca que, em boa parte das aplicações, é preciso que nossa base funcione 24 horas por dia e 7 dias por semana, isto é, o tempo todo. É comum que um banco de dados seja distribuído, ou seja, que ele esteja �sicamente presente em mais de uma máquina. Essa arquitetura é importante para garantir que os dados estejam sempre disponíveis uma vez que eventuais falhas de qualquer natureza ocorram em uma máquina especí�ca. Outras, com os mesmos dados armazenados, poderão ser igualmente acessadas, garantindo, assim, a disponibilidade dos dados. Assim como a consistência, falhas de disponibilidade podem afetar não apenas a percepção de qualidade, tempo ou comodidade, mas também as questões relacionadas ao dinheiro. Pensando ainda em sistemas �nanceiros, imagine o quanto se perderia com apenas um minuto de inatividade do banco de dados principal de uma instituição �nanceira. Existem muitas questões de projeto para garantir a qualidade de um banco de dados. Decisões precisam ser tomadas para equilibrar custos, desempenho, segurança e outros fatores. No entanto, algumas propriedades não podem ser ignoradas, devem ser consideradas irrevogáveis e indispensáveis, e certamente isso inclui a consistência e a disponibilidade. VIDEOAULA: CONSISTÊNCIA E DISPONIBILIDADE Os conceitos de consistência e disponibilidade podem parecer um pouco abstratos à primeira vista. Vamos ver um exemplo mais palpável com o banco de dados MySQL. INTRODUÇÃO A SQL E NOSQL Até agora discutimos questões de alto nível que são importantes quando pensamos em um banco de dados em nuvem. Agora vamos entender como podemos comandar o sistema que gerencia o banco de dados para realizar as operações que queremos, sejam essas operações de natureza estrutural, como criar uma tabela que armazena informações, ou operações que envolvem a manipulação dos dados em termos de inserção, visualização, atualização ou remoção (ELMASRI; NAVATHE, 2005). É comum dividirmos os bancos de dados em dois grandes grupos: os relacionais e demais que não se enquadram nessa categoria, ou seja, os não relacionais. De forma simpli�cada, os bancos de dados relacionais são aqueles que possuem tabelas como a estrutura de armazenamento de informações; essas tabelas, na verdade, indicam relação entre os dados. Se uma tabela com os dados de pessoas possui uma coluna com nome e outra com a idade, podemos entender que esses dados estão relacionados, ou seja, em cada linha o nome e a idade referem-se a uma pessoa especi�camente. Os bancos de dados que não se enquadram nessa de�nição são os bancos não relacionais. Neles, as informaçõespodem ser armazenadas de forma diferentes, como em documentos, colunas, chave e valor, grá�cos, séries temporais, objetos entre outros. Essas representações podem ser bastante úteis para determinadas aplicações. SQL (Structured Query Language) é a linguagem padrão para manipular bancos de dados relacionais. A linguagem permite que sejam realizados comandos de consulta, de�nição e atualização de dados. Dizemos que SQL é composta por uma linguagem de manipulação de dados (DML – Data Manipulation Language) e uma linguagem de de�nição de dados (DDL – Data De�nition Language). Como linguagem de manipulação de dados, podemos inserir informações pelo comando INSERT, atualizar informações pelo comando UPDATE e excluir informações como comando DELETE. Nesse sentido, podemos fazer operações semelhantes com as tabelas, podemos criar tabelas com o comando CREATE TABLE, de�nindo as colunas e seus tipos de dados; podemos alterar as con�gurações de uma tabela já criada com o comando ALTER TABLE e, por �m, podemos apagar uma tabela já criada com o comando DROP TABLE. Pensando ainda em SQL, podemos consultar as informações em uma tabela com o comando SELECT, que é parametrizado de acordo com as informações que desejarmos obter. Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao… 11/16 O termo noSQL, como o nome sugere, serve para designar a forma como podemos fazer operações em bancos de dados não relacionais. A linguagem SQL supõe que haja relação entre os dados. Como os bancos de dados não relacionais, por de�nição, não possuem essas características, outras formas de manipulação devem ser feitas de acordo com o tipo de banco de dados. Por armazenarem dados de forma diferente, os bancos de dados noSQL utilizam estruturas de dados diferentes dos bancos relacionais, o que pode melhorar o desempenho nas operações. VIDEOAULA: INTRODUÇÃO A SQL E NOSQL Agora que entendemos as diferenças entre os tipos de bancos de dados, vamos ilustrar como realizar alguns comandos simples utilizando SQL. ESTUDO DE CASO O responsável por administrar o banco de dados da empresa que você trabalha tirou férias e não há ninguém para ajudar o time de vendas a demonstrar para um novo cliente como os seus dados podem ser armazenados digitalmente. Sua missão agora é ajudar o time com um exemplo simples que ilustre como um banco de dados funciona. RESOLUÇÃO DO ESTUDO DE CASO Você pode usar alguns comandos simples da linguagem SQL para criar a tabela com algumas colunas. Digamos que a tabela criada tenha as colunas “nome” e “idade”. Os comandos de criação seriam: CREATE TABLE CLIENTES (nome varchar(100), idade int) Esse comando cria uma tabela de nome clientes que aceita um nome de até 100 caracteres e uma idade expressa como um número inteiro. Para inserir algumas entradas alguns exemplos seriam: INSERT INTO CLIENTES (nome,idade) VALUES ( 'Joao', '20' ); INSERT INTO CLIENTES (nome,idade) VALUES ( 'Pedro', '30' ); INSERT INTO CLIENTES (nome,idade) VALUES ( 'Maria', '25' ); Por �m, você pode mostrar os dados inseridos usando o comando: SELECT * FROM CLIENTES Saiba mais Existem várias plataformas on-line para treinar SQL, tanto a teoria quanto a prática podem ser trabalhadas em https://www.w3schools.com/sql/ com exemplos práticos dos comandos padrão da linguagem. Você também pode criar e manipular dados das suas próprias tabelas em https://sqliteonline.com/ . Para visualizar o objeto, acesse seu material digital. Resolução do Estudo de Caso Para visualizar o objeto, acesse seu material digital. Aula 4 BIG DATA Identi�car quais protocolos de redes utilizar para a comunicação de dados entre cliente/servidor. Conhecer os principais conceitos, a importância dos grandes volumes de dados e a sua implicação no armazenamento em nuvem. https://www.w3schools.com/sql/ https://sqliteonline.com/ 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao… 12/16 INTRODUÇÃO A evolução da forma como tratamos os dados e o volume em que eles são gerados têm despertado o interesse não só da academia, como também do mercado. As inovações tecnológicas, especialmente as relacionadas à informação, revolucionaram e estão revolucionando o modo como a humanidade lida com os dados coletados e produzidos. Agora as características observáveis no mundo real podem ser representadas virtualmente por meio de dados, o que nos permite que eles sejam tratados e analisados utilizando o poder de processamento de dados dos computadores. O volume de dados produzido pelas pessoas e sistemas computacionais nos últimos anos tem aumentado a ponto de as estratégias convencionais não serem su�cientes para armazená-los da forma adequada. Nesse contexto, a partir de 2001, o termo Big Data ganhou destaque. Ele é vinculado a esse novo fenômeno computacional. Dados de todos os tipos e fontes diferentes são coletados a todo momento, e novas estratégias têm sido propostas e aplicadas para lidar com eles. CONCEITOS FUNDAMENTAIS SOBRE BIG DATA Não é apenas o grande volume de dados que alicerça o Big Data. O conceito é constantemente de�nido na literatura em termos dos “seis Vs”, que estabelecem as suas características fundamentais. Podemos dividi-los em dois grupos: os nativos e os adquiridos. O primeiro é composto por volume, variedade e velocidade e o segundo por variabilidade, veracidade e valor (MACHADO, 2017), (PEREIRA et al., 2019). O volume refere-se à quantidade de dados coletada e tratada. Os dados têm origem de múltiplas fontes, como mídias sociais, smartphones, transações, dados de compra, dispositivos de Internet das coisas, motores de busca e semelhantes. O volume é o principal destaque do Big Data. Os bancos de dados do passado não eram capazes de suportar uma grande quantidade de informação. Limitações de hardware e software não permitiam isso, especialmente porque os recursos computacionais eram muito caros e não tão acessíveis como hoje. A velocidade decorre da necessidade de um grande volume de dados ser processado em um tempo adequado. Grandes volumes de dados processados de forma não e�ciente podem gerar �las cada vez maiores de dados esperando para serem processados, e isso in�uencia a qualidade do serviço. É desejável que o processamento dos dados ocorra em tempo real. A variedade destaca os diversos tipos de formatos que devem ser manipulados em um sistema de Big Data. Os dados que esses sistemas devem manipular podem não ser bem-organizados e estruturados como dados de um banco relacional. Imagens, vídeos e documentos são exemplos desses dados. Ainda com relação à variedade, podemos classi�car os dados em estruturados (como os presentes em bancos relacionais), semiestruturados (como o XML) e não estruturados (como imagens e vídeos). A veracidade está atrelada à con�abilidade dos dados coletados. É provavelmente um dos maiores desa�os em Big Data, considerando a di�culdade em garantir que os dados entrantes serão con�áveis. Para minimizar o problema, é necessário veri�car a reputação da origem das informações, se elas são de alguma forma tendenciosas ou ainda se estão dentro do prazo de validade. O valor está relacionado à importância dos dados, quão signi�cantes eles são para o contexto da organização. Dados valiosos podem trazer informações relevantes e, se bem explorados, podem gerar vantagens de mercado competitivas. É, então, importante que haja esforço por parte da organização para analisar os dados, pensando neles como fontes de valor agregado que podem nortear importantes tomadas de decisão. Por �m, a variabilidade, ou volatilidade, diz respeito à mudança que ocorre nos dadosao longo do tempo. As diferentes fontes de coleta de dados fazem com que as suas dimensões e o seu formato esperado mudem conforme o tempo. A quantidade de Vs não é um consenso na literatura. Inicialmente havia os três primeiros Vs destacados; alguns livros traziam cinco; outros, seis. Atualmente, existem fontes com até mesmo 10. 29 minutos 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao… 13/16 VIDEOAULA: CONCEITOS FUNDAMENTAIS SOBRE BIG DATA O quanto é realmente “big”? Vamos ver alguns exemplos atuais dos volumes de dados em escala global. COMO O BIG DATA É GERADO? Vimos como é grande a quantidade de dados gerados em um contexto de Big Data. Agora vamos entender o processo de geração dessa grande quantidade de potenciais informações. Podemos de�nir dados como um conjunto de valores agrupados. Embora seja comum usar os dois termos como sinônimos, dados não são necessariamente informações. É difícil pensar como o preço da carne poderia in�uenciar a venda dos produtos de uma loja de roupas. Dessa forma, dizemos que os dados podem se transformar em informações desde que eles sejam úteis para o contexto da organização. Saber identi�car quais dados realmente são úteis para uma organização entre o grande volume coletado não é uma tarefa fácil. Enquanto os dados estão sendo coletados das suas múltiplas fontes, é necessário que os �ltros apropriados sejam aplicados para separar os dados que realmente importam no tratamento. Vimos no bloco anterior que os dados podem ser classi�cados em termos de sua estrutura. Outra forma de classi�cá-los é quanto ao seu ente gerador, que pode ser um dispositivo computacional ou um humano (MARQUESONE, 2016). Os dados gerados por humanos são aqueles provenientes de mídias sociais, da interação de clientes com sites de compra ou qualquer outro tipo de contato com o ambiente virtual. Esses dados são geralmente não estruturados. Um exemplo são os vídeos carregados a todo momento na plataforma YouTube. A quantidade de informações presentes em cada vídeo é sem dúvidas riquíssima, porém muito difícil de ser extraída. Como fazer a prospecção de informações realmente relevantes considerando aspectos geográ�cos, conteúdo segmentado por faixa etária e por assunto? Outro exemplo importante de dados gerados por humanos são as avaliações. Aqui, sites de compras como Amazon e de viagens como o TripAdvisor se destacam. Apenas a média da quantidade de estrelas que um local ou produto recebe pode não ser su�ciente para nutrir os so�sticados sistemas de recomendação baseados em inteligência arti�cial que têm sido propostos. É necessário fazer a análise do comentário e muitas vezes das imagens anexadas em cada avaliação. Os dados gerados por dispositivos computacionais, isto é, por máquinas, também representam uma grande quantidade de dados. Esses dados, em geral, são aqueles produzidos sem a necessidade da intervenção humana de forma explícita. Para servir aos usuários, os sistemas computacionais demandam uma grande quantidade de processamento e troca de mensagens. Podemos pensar que a quantidade de dados gerados por um sistema computacional é proporcional ao seu tamanho. É necessário que haja o monitoramento das atividades do sistema por meio de registros de log, o que, em sistemas que estão ativos em todo tempo, gera uma quantidade signi�cativa de dados pois são registradas informações de vários componentes do sistema. Ainda como um último exemplo, temos o número crescente de dispositivos de IoT sendo acrescentados às redes. O volume de dados desses dispositivos, que capturam dados do ambiente por meio de seus sensores, também é signi�cativo. VIDEOAULA: COMO O BIG DATA É GERADO? Coletar uma grande quantidade de dados não é uma tarefa fácil. Vamos ver como funciona o Filebeat, um dos componentes da Elastic Stack. Para visualizar o objeto, acesse seu material digital. Para visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao… 14/16 BANCOS DE DADOS PARA GERENCIAMENTO DE BIG DATA Os bancos de dados convencionais não são capazes de comportar o volume e a gama de dados em um contexto de Big Data. Por esse motivo, foram desenvolvidos outros sistemas capazes de manipular um grande volume de dados heterogêneos. Daremos destaque ao Hadoop, ao Apache Spark e ao MongoDB. O Hadoop nasceu da necessidade de manipular um grande volume de dados de forma escalável (PEREIRA et al., 2019). O sistema é usado hoje por grandes empresas como o The New York Times, Facebook, Yahoo, Adobe, Linkedin, Amazon, Twitter, Oracle, entre outras. O Hadoop teve boa aceitação por ser uma solução para questões computacionais difíceis de computação paralela, como balanceamento de carga, tolerância a falhas, escalonamento, divisão de tarefas entre outras. Empregar o Hadoop implica uma demanda menor de recursos humanos especializados nessas tarefas, fornecendo facilidade de uso para a organização. Em termos arquiteturais, o Hadoop é implementado como um cluster, que é um conjunto de computadores interligados para resolver um problema especí�co, em que uma máquina principal é denominada mestre e as demais são as escravas. A tarefa é dada para a máquina mestre que �ca responsável por delegar e coordenar o processamento da solução da tarefa entre as máquinas escravas. O Hadoop é composto por módulos, os quais podemos destacar (PEREIRA et al., 2019), (SANTOS et al., 2021): • Hadoop Common: são ferramentas utilizadas em outros módulos do Hadoop. • Hadoop MapReduce: fornece uma solução para programação que permite fazer o processamento de dados em larga escala. • HBase: é um banco de dados distribuído e escalável desenvolvido pelo Google. O foco é o armazenamento de dados em tabelas grandes. • Hadoop Distributed File System (HDFS): é o sistema de arquivos do Hadoop. É importante destacar que naturalmente esse sistema é distribuído, caso contrário não poderia integrar o Hadoop. Além disso, o HDFS é projetado para fornecer mecanismos de tolerância a falhas e altas taxas de transferência. • Um módulo do Hadoop que merece destaque é o Apache Spark. Seu propósito é o processamento distribuído de dados em larga escala. Ele foi projetado para fornecer rapidez e robustez na execução das tarefas. Pode ser con�gurado de maneira independente ou integrado a um cluster Hadoop. O Spark possui ferramentas de alto nível interessantes para certos tipos de aplicação. As principais são: • SparkSQL: como o nome sugere, permite que consultas SQL sejam feitas sobre o Spark. • Spark Streaming: auxilia em aplicações que necessitem processar �uxos de dados em tempo real. • MLlib: é uma biblioteca que contém importantes algoritmos de aprendizagem de máquina. • GraphX: é voltado para o processamento de grafos. O MongoDB carrega Big Data começando com seu nome. Mongo signi�ca enorme, em uma alusão ao Big Data. É um banco de dados especializado em armazenar documentos, agrupando-os em coleções, mesmo que eles não tenham os mesmos atributos. Ele ainda oferece vantagens como particionamento e replicação automática dos dados, além da alta tolerância a falhas (PEREIRA et al., 2019). VIDEOAULA: BANCOS DE DADOS PARA GERENCIAMENTO DE BIG DATA Vimos alguns bancos de dados que foram projetados para Big Data. Agora vamos ver um exemplo simples de como o MongoDB funciona. ESTUDO DE CASO Você agora é o responsável por visitar um importante cliente da sua empresa de software. Sua tarefa é convencê-lo de que investir em soluções de bancos de dados que suportem Big Data é cada vez mais importante para manter a competitividade comercial da empresa dele. RESOLUÇÃO DO ESTUDO DE CASOPara visualizar o objeto, acesse seu material digital. 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao… 15/16 Os sites dessas soluções de Big Data fornecem excelentes panoramas do potencial de cada ferramenta. Você pode usar esses recursos para elevar o entendimento do seu cliente para convencê-lo. Saiba mais As ferramentas abordadas nessa aula possuem sites bastante ilustrativos e ricos em informações interessantes sobre cada uma delas: • Elastic Stack: https://www.elastic.co/ • MongoDB: https://www.mongodb.com/ • Hadoop: https://hadoop.apache.org/ • Spark: https://spark.apache.org/ Para visualizar o objeto, acesse seu material digital. Aula 1 LOUREIRO, A. A. F. et al. Redes de Sensores Sem Fio. SIMPÓSIO BRASILEIRO DE REDES DE COMPUTADORES, 21., 2003, Natal, RN. Anais [...]. Natal, RN: SBC, 2003. Disponível em: https://homepages.dcc.ufmg.br/~loureiro/cm/docs/sbrc03.pdf. Acesso em: 2 fev. 2022. VELTE, A. T. et al. Computação em Nuvem. Rio de Janeiro: Alta Books, 2012. 334 p. Aula 2 OPUS SOFTWARE. Computação em nuvem: o que você realmente precisa saber. São Paulo: Opus Software, 2016. Edição do Kindle. SERPA, M.D.S.; AL., E. Cloud Computing. Porto Alegre: Grupo A, 2020. Disponível em: https://integrada.minhabiblioteca.com.br/#/books/9786556900193/ . Acesso em: 17 fev. 2022 SOUSA, F. R. C.; MOREIRA, L. O.; MACÊDO, J. A. F. de; MACHADO, J. C. Gerenciamento de Dados em Nuvem: Conceitos, Sistemas e Desa�os. Sociedade Brasileira de Computação, 2010, p. 101-130. Disponível em: https://sol.sbc.org.br/livros/index.php/sbc/catalog/download/18/81/167-1?inline=1. Acesso em: 11 fev. 2022. SOUSA, F. R. C.; MOREIRA, L. O.; MACHADO, J. C. Computação em Nuvem: Conceitos, Tecnologias, Aplicações e Desa�os. III Escola Regional de Computação Ceará (ERCEMAPI), 2009. Disponível em: http://www.lia.ufc.br/~�avio/papers/ercemapi2009.pdf . Acesso em: 11 fev. 2022. Aula 3 ALIBABA Cloud Database Services Empower Your Business. Alibaba. 2022. Disponível em: https://www.alibabacloud.com/product/databases . Acesso em: 4 fev. 2022. ALTA disponibilidade no banco de dados Oracle. Devmedia. Disponível em: https://www.devmedia.com.br/alta-disponibilidade-no-banco-de-dados-oracle/28971 . Acesso em: 4 fev. 2022. BANCO de dados em nuvem. Oracle. 2022. Disponível em: https://www.oracle.com/br/database/what-is-a- cloud-database . Acesso em: 4 fev. 2022. REFERÊNCIAS 10 minutos https://www.elastic.co/ https://www.mongodb.com/ https://hadoop.apache.org/ https://spark.apache.org/ https://homepages.dcc.ufmg.br/~loureiro/cm/docs/sbrc03.pdf https://integrada.minhabiblioteca.com.br/#/books/9786556900193/ https://sol.sbc.org.br/livros/index.php/sbc/catalog/download/18/81/167-1?inline=1 http://www.lia.ufc.br/~flavio/papers/ercemapi2009.pdf https://www.alibabacloud.com/product/databases https://www.devmedia.com.br/alta-disponibilidade-no-banco-de-dados-oracle/28971 https://www.oracle.com/br/database/what-is-a-cloud-database https://www.oracle.com/br/database/what-is-a-cloud-database 01/12/23, 21:13 wlldd_u1_ban_dad_nuv https://www.colaboraread.com.br/integracaoAlgetec/index?usuarioEmail=milkgui006%40gmail.com&usuarioNome=GUILHERME+DE+CARVALHO&disciplinaDescricao=&atividadeId=3680108&atividadeDescricao… 16/16 BANCOS de dados na nuvem da AWS. Amazon Web Services. 2022. Disponível em: https://aws.amazon.com/pt/products/databases/. Acesso em: 4 fev. 2022. DADOS não relacionais e NoSQL. Microsoft. 2022. Disponível em: https://docs.microsoft.com/pt- br/azure/architecture/data-guide/big-data/non-relational-data . Acesso em: 4 fev. 2022. ELMASRI, R.; NAVATHE, S. B. Sistemas de banco de dados. São Paulo: Pearson Addison Wesley, 2005. GOOGLE Cloud databases. Google. 2022. Disponível em: https://cloud.google.com/products/databases . Acesso em: 4 fev. 2022. IBM Db2 Database. IBM. 2022. Disponível em: https://www.ibm.com/br-pt/products/db2-database . Acesso em: 4 fev. 2022. ORACLE Enterprise Database Service. Oracle. 2022. Disponível em: https://www.oracle.com/br/database/enterprise/ . Acesso em: 4 fev. 2022. PRINCIPAIS fornecedores de nuvem. Education Wiki. Disponível em: https://pt.education-wiki.com/4107913- top-cloud-providers . Acesso em: 4 fev. 2022. TIPOS de bancos de dados no Azure. Microsoft Azure. 2022. Disponível em: https://azure.microsoft.com/pt- br/product-categories/databases/ . Acesso em: 4 fev. 2022. WORRY-FREE database hosting. Digital Ocean. 2022. Disponível em: https://www.digitalocean.com/products/managed-databases/ . Acesso em: 4 fev. 2022. Aula 4 MACHADO, A. L. Administração do Big Data. São Paulo: Senac São Paulo, 2017. MARQUESONE, R. Big Data: Técnicas e tecnologias para extração de valor dos dados. Editora Casa do Código, 2016. PEREIRA, M. A. et al. Framework de Big Data. Porto Alegre: SAGAH, 2019. SANTOS, R. R. et al. . Fundamentos de Big Data. Porto Alegre: SAGAH, 2021. https://aws.amazon.com/pt/products/databases/ https://docs.microsoft.com/pt-br/azure/architecture/data-guide/big-data/non-relational-data https://docs.microsoft.com/pt-br/azure/architecture/data-guide/big-data/non-relational-data https://cloud.google.com/products/databases https://www.ibm.com/br-pt/products/db2-database https://www.oracle.com/br/database/enterprise/ https://pt.education-wiki.com/4107913-top-cloud-providers https://pt.education-wiki.com/4107913-top-cloud-providers https://azure.microsoft.com/pt-br/product-categories/databases/ https://azure.microsoft.com/pt-br/product-categories/databases/ https://www.digitalocean.com/products/managed-databases/