Buscar

desafios

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Padrão de resposta esperado
A proposta de solução é baseada no uso de sistemas distribuídos para alocação de dados em servidor. Com a obtenção dos dados por meio de sensores, os dados armazenados em arquivos podem ser dados como entrada em servidores de bancos de dados, como o Oracle. O próprio SGBD Oracle tem ferramentas que auxiliam na distribuição dos dados em diferentes servidores.
Com o uso desse banco de dados, o projeto criará diferentes instâncias de dados, os agrupando de maneira a segmentar os dados em tabelas, separando-os por data de lançamento no sistema. Assim, ao distribuir os dados, estes podem ser divididos em pelo menos três sedes da empresa ou em servidor em nuvem terceirizado.  
Na primeira solução, poderiam ser escolhidas as cidades de São Paulo, Recife e Porto Alegre (locais em que a empresa tem unidades), onde os dados serão distribuídos e replicados de maneira a agilizar o processo de consulta posterior para as devidas análises dos dados.
Na segunda solução, existem serviços como AWS da Amazon, Azure Storage da Microsoft, IBM Cloud Storage ou Google Cloud Storage. Todos eles possibilitam a ingestão de dados multivariados de todas as filiais e análise em conjunto. Todas essas soluções já trabalham de forma nativa com o particionamento dos dados.
Assim, tanto com uso da primeira quanto da segunda solução, os dados ficam prontos e podem ser armazenados na estrutura de servidores distribuídos, com as tabelas de dados em partições, as quais permitirão uma análise dos dados por série temporal de maneira menos demorada e mais assertiva.
Empresas de todos os tamanhos estão adotando a rápida modernização de aplicativos voltados para o usuário como parte de uma estratégia de transformação digital. A infraestrutura de banco de dados relacional, de que esses aplicativos dependem, repentinamente precisa suportar tamanhos de dados e volumes de transações muito maiores do que o planejado inicialmente. Um SGBD monolítico pode ficar rapidamente sobrecarregado em um cenário de big data. 
Suponha que a empresa em que você trabalha tem máquinas que chegam a armazenar até 2 milhões de registros de dados de clientes. Com esse aumento repentino, o SGBD está atingindo um ponto de interrupção e, provavelmente, ultrapassará 2,5 milhões de usuários em breve.Assim, a empresa precisa de uma solução que trate o problema do surgimento de um grande conjunto de dados.
Como profissional de dados, indique ao menos uma solução para que as consultas de dados e a sobrecarga sobre os servidores seja resolvida, mantendo os dados acessíveis e seguros.
Sua respostaUm dos maiores desafios quando se trata de big data é a escalabilidade. Escalabilidade é a capacidade de uma empresa, ou sistema, de atender suas necessidades de crescimento sem perder qualidade, e com aumento de custos baixo (Ferreira, 2020). Também pode ser definido como habilidade de um sistema computacional tem de lidar, de forma transparente, com um número crescente de usuários ao mesmo tempo (Veras, 2016). Isso é um dos problemas mais comuns e importantes que toda empresa enfrenta, ou seja, lidar com negócios em crescimento, o que traz a necessidade de armazenamento exponencial de dados e grande demanda de disponibilidade deles. Considerando que os recursos financeiros são limitados e com a intenção de não comprometer nenhuma das plataformas tecnológicas instaladas, a técnica de sharding surge como uma solução possível. O sharding é, portanto, um padrão de arquitetura para sistemas distribuídos, relacionado ao particionamento horizontal, onde cada partição tem o mesmo esquema e as mesmas colunas, mas com linhas, isto é, os registros no banco em si, totalmente diferentes. O sharding é um método para distribuir dados em várias máquinas. Uma das maneiras de controlar o consumo dos recursos de servidores é a utilização de clusters em servidores de dados. Uma ferramenta que utiliza o sharding para distribuição dos dados em cluster é o ElasticSearch. No ElasticSearch, acontecem todas as operações de indexação, fragmentação, pesquisa e análise.
Padrão de resposta esperado
Nesse cenário, existem boas possibilidades diante do grande volume de dados.
A primeira é dividir o banco de dados em dois. A princípio, cada novo banco de dados teria parte dos registros, tendo ambos 1 milhão de registros, por exemplo. Uma vez que cada um tenha a capacidade de 2 milhões de registros (como o primeiro banco tinha), isso implica a expansão da capacidade de armazenamento de 2 para 4 milhões de registros, garantindo bom tempo de uso.
Outra possibilidade é a migração dos dados para um banco de dados distribuído, por meio da clusterização. Cada nó do cluster fica responsável por armazenar parte dos dados, o que distribui a carga de consultas entre cada nó, deixando os dados em partições menores, reduzindo também o tempo de resposta em cada consulta aos dados.
Mais uma possibilidade seria a migração dos dados para um sistema de arquivos distribuído como o HDFS. Ele faz parte do ecossistema Hadoop e, em conjunto com algum banco de dados NoSQL, como o Hive ou HBase (ambos sob licença da fundação Apache), pode ser utilizado para armazenar os dados em cluster. Assim, com os dados armazenados em um banco que se adapte a dados não estruturados, um indexador, como o ElasticSearch ou o Apache Solr, permite aceleração nas consultas de dados mais críticos.
Desafio
As soluções de Big Data estão se tornando mais populares a cada dia devido à vantagem competitiva que oferecem para as empresas, o que torna os profissionais dessa área cada vez mais desejados e concorridos no mercado. As soluções para tratar fluxos de dados são ainda mais recentes, e esse segmento carece de profissionais experientes, o que
é uma ótima oportunidade para a entrada de pessoas na área.
Imagine que você trabalhe em uma empresa que está começando a vender serviços de criação de soluções de stream e tenha recebido o chamado de um empresário que precisa contar o número de hashtags associadas ao seu nome, de forma que seja possível entender o que
as pessoas pensam a respeito dele, seja bom, seja ruim, para que
seja possível criar uma estratégia de marketing mais alinhada com
​​​​​​​as necessidades de seu público. Além disso, o gerente de sistemas solicitou as opções de mercado possíveis de ser utilizadas.
Dessa forma, você tem como desafios:
a) listar opções de ferramentas disponíveis para solucionar
o desafio imposto;
b) identificar qual dessas ferramentas é a mais adequada;
c) justificar a escolha dessa ferramenta.
Padrão de resposta esperado
a) Por se tratar de um problema de contagem de palavras sem a exigência de controle do tempo do evento, diversas ferramentas podem ser utilizadas para solucionar esse desafio, como o Spark Streaming, o Flink, o Storm, entre outras.
b) Entretanto, como a empresa está começando, o mais indicado é utilizar o Spark Streaming, por conta da sua simplicidade de uso, do tamanho da comunidade e das demais características.
c) Como é possível observar na documentação e no guia de desenvolvimento do Spark Streaming, o framework tem como vantagem a sua relativa simplicidade para desenvolvimento de soluções para stream de dados, além de ter a maior comunidade de desenvolvimento e contribuidores até o momento, o que gera melhor resultado para quem busca na Internet exemplos de solução para diversos tipos de erros e informações no caso de dificuldades; ainda, sua documentação oficial
é muito trabalhada pela comunidade, a fim de fortalecer o framework.
As principais características do Spark Streaming têm relação com seus recursos de alta taxa de transferência, alta escalabilidade e tolerância a falhas, sem que o desenvolvedor precise escrever código específico para esses fins, gerando a possibilidade de a equipe focar nas regras de negócio exigidas para solucionar o desafio que a solução se propõe
​​​​​​​a resolver. Essas características são herdadas do Spark, como acontece com o tratamento de dados em lotes pelos RDDs antes mesmo da possibilidade de criação de soluções para streamde dados.
Como o Spark Streaming é executado em cima do Spark, ele permite a combinação de operações de stream de dados com e buscas interativas, além do reuso do mesmo código de processamento de fluxos para processar dados que chegam das fontes em lotes. Nele também é possível realizar a ingestão de dados de diversas fontes distintas, como sockets TPC, plataformas como Kafka, Flume e Kineses, ou de DStream de saída de outros sistemas.
Surgiu uma nova plataforma de streaming no mercado e você foi contratado para ajudar na escolha da melhor solução de armazenamento para essa plataforma. Algumas informações lhe foram passadas:
- O plano é começar com um catálogo pequeno e aumentar ao longo do tempo, de acordo com a aderência das assinaturas.
- Em uma pesquisa de mercado, foi definido um preço inicial para a assinatura mensal da plataforma, que não opera com uma grande margem de lucro.
- A empresa pensa em futuramente oferecer outras mídias além de vídeo.
- Não há um espaço físico muito grande na sede da empresa.
​​​​​​​​​​​​​​Qual forma de armazenamento você indicaria e quais vantagens dela sustentam a sua preferência?
Padrão de resposta esperado
Os serviços de streaming já estabelecidos movimentam milhares de dados diariamente e precisam estar disponíveis para os clientes de todo o mundo 24 horas por dia.
Pensando no crescimento gradativo de assinantes e da quantidade de itens disponibilizados no catálogo, no valor acessível a ser pago pelo serviço e no pouco espaço físico disponibilizado, é preciso escolher uma solução de armazenamento que conserve os princípios do big data, mas que também ofereça um bom custo-benefício.
Nesse caso, o armazenamento em nuvem seria a melhor opção por ser escalonável, podendo aumentar a capacidade de armazenamento ao passo que o número de clientes e catálogo aumenta. Essa opção apresenta uma boa elasticidade, sendo capaz de se adaptar a novos formatos e mudanças necessárias. Além disso, oferece um custo-benefício a longo prazo e ausência da necessidade de um espaço físico grande. 
Essa alternativa é melhor que um datacenter próprio porque, além de pagar apenas por aquilo que se utiliza, não é necessário se preocupar com a estrutura física do local e com uma equipe de suporte fixa.
Desafio
Dentro de uma empresa existem dados sensíveis que requerem um maior cuidado de quem tem acesso e pode manipulá-los. Os sistemas de gerenciamento de identidade e acesso armazenam informações sobre as pessoas de uma empresa (nome, cargo, função e nível de acesso) e também sobre os dados (onde estão contidos, quais flags têm, qual o tipo de dado, entre outros), juntamente com as regras que regem o acesso a esses recursos.
Você trabalha como analista de dados em uma empresa que desenvolve softwares relacionados à área de gestão de pessoas. A empresa está desenvolvendo uma nova versão do software, e você foi convidado a ajudar na escolha de um banco de dados NoSQL para esta solução.
Levando em consideração que o acesso a esse tipo de documento ​​​​​​​deve ser rápido e garantir que o usuário tenha seguido todas as regras determinadas, qual seria o melhor tipo de sistema de banco de dados entre documento, chave-valor, grafos e colunas para essa situação?
Padrão de resposta esperado
O melhor sistema seria o de banco de dados orientado a grafos.
A justificativa para este modelo é que além de armazenar estruturas complexas, é capaz de suportar estruturas hierárquicas e não hierárquicas entre os dados, além de percorrer milhares de relacionamentos em um curto espaço de tempo e realizar as consultas em diferentes “direções”, sendo possível buscar não só a quais recursos um usuário tem acesso, mas também quais ​​​​​​​usuários têm acesso a um determinado recurso.

Continue navegando