Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados II - 2015.1 Big Data e NoSQL Big Data - Definição O que não é: 3Imagem disponível em: <http://bit.ly/1HD7Q5V> Big Data - Definição O que é: ● Termo nasceu nos anos 90, na NASA. ● Descrição de grandes conjuntos de dados complexos que desafiavam os limites computacionais tradicionais de: ○ captura ○ processamento ○ análise ○ armazenamento 4 Big Data - Definição O que é: “Conjuntos de dados extremamente amplos e que, por este motivo, necessitam de ferramentas especialmente preparadas para lidar com grandes volumes, de forma que toda e qualquer informação nestes meios possa ser encontrada, analisada e aproveitada em tempo hábil.” [ALECRIM, 2013] “Transformação na forma como a informação é captada, processada e disseminada em todos os níveis da sociedade.” [AVOYAN, 2013] “Análise de grandes quantidades de dados para a geração de resultados importantes que, em volumes menores, dificilmente seriam alcançados.” [ALECRIM, 2013] 5 Big Data - Definição MAS E AÍ? O QUE É ISSO??? CONCEITO DA ANÁLISE DE GRANDE QUANTIDADE DE DADOS ESTRUTURADOS E NÃO ESTRUTURADOS, GERANDO INFORMAÇÕES ANTES NÃO RELACIONADAS. 6 Big Data - Contextualização ● Emails ● Blogs ● Redes Sociais ● Aplicações ● Gadgets ● IoT ● Cidades Inteligentes 7Imagem disponível em: <http://bit.ly/1JmL7ve> Big Data - Contextualização Crescimento na produção e fluxo de dados. 8 0 a 2003: 5 exabytes até 2012: 2.7 zettabytes até 2015: 8.1 zettabytes Fonte: Intel Brasil em <http://bit.ly/1ObiC7g> 1 exabyte = 1.000.000.000 de GB 1 zettabyte = 1.000.000.000 de TB Imagem disponível em: <http://bit.ly/1HD7XP2> Big Data - Contextualização 9 Fontes: http://canaltech.com.br/noticia/redes/Estudo-preve-aumento-de-10x-no-trafego-global-de-dados-moveis-ate-2019/ http://olhardigital.uol.com.br/noticia/trafego-de-redes-sociais-mais-que-dobra-em-um-ano/39461 http://www1.folha.uol.com.br/tec/2015/02/1595790-redes-sociais-e-videos-lideram-trafego-de-web-movel-no-mundo-diz-estudo.shtml Big Data - Contextualização 10 Fonte: http://www.cisco.com/web/PT/press/articles/2015/20150203.html Big Data - Motivação ● Forma como estas informações são tratadas ● Informação é dinheiro! ● 1kg de ferro (R$ 3,81) vs. 1kg de satélite (U$$ 50.000) ● Uso destas informações como ativos empresariais 11 Big Data - Objetivos Ter, a partir de análise de dados em massa, informações valiosas sobre o que se analisa. 12 Big Data - Objetivos Objetivos distintos: ● Combater o câncer Em parceria com um consórcio da área de saúde, a IBM está usando seu supercomputador Watson para escanear mutações genéticas e descobrir o melhor tratamento para cada tipo de câncer. ● Medir inflação Em São Francisco,a startup Premise paga 700 colaboradores que tiram fotos do preço e disponibilidade de alguns produtos nas prateleiras de 25 cidades na Ásia, América Latina (incluindo o Brasil) e Estados Unidos. Reunidos, os dados são usados para medir inflação. ● Acabar com engarrafamentos A Prefeitura de Dublin fez um acordo com IBM e usou câmeras e GPS para monitorar trânsito da cidade a fim de evitar congestionamentos e a lotação de transportes públicos. ● Oferecer filmes Hoje, o Netflix já usa dados de big data para indicar filmes para os usuários do site de acordo com suas preferências. 13 Big Data - Objetivos Objetivos distintos: ● Prever fim de namoro Um algoritmo no Facebook analisou 8,6 bilhões de conexões de 1,3 milhão de usuários do Facebook para aprender a prever quando um namoro está perto do fim. ● Evitar suicídios O Durkheim é um projeto que acompanha redes sociais para detectar palavras e frases que caracterizem o autor como um potencial suicida. ● Encontrar namorados O OkCupid e outros sites de encontro já usam big data para identificar entre seus usuários cadastrados quais são aqueles que tem a maior chance de formar casais com potencial de dar certo. ● Eleger candidatos Nas eleições de 2012, Barack Obama recolheu por 18 meses dados sobre seus eleitores na internet. Isso permitiu uma melhor compreensão dos interesses e preocupações do eleitorado e, provavelmente, o ajudou a ser reeleito presidente dos EUA. 14 Big Data - Objetivos Objetivos distintos: ● Evitar fraudes Em parceria com a Accenture, uma grande operadora de celular brasileira (que a Accenture não conta qual é por razões contratuais) desenvolveu um sistema baseado em big data voltado para a indústria financeira. Ao informar dados relativos à localização de smartphones, a novidade pretende inibir as fraudes nas compras com cartão. ● Espionar pessoas Em 2013, Edward Snowden revelou a existência na NSA do X-Keyscore, que captura todo o conteúdo que trafega na conexão interceptada para, depois, analisá-lo e extrair os dados desejados. Só em 2012, agências federais dos EUA gastaram 5 bilhões de dólares com pesquisas em big data - o investimento deve chegar a 8 bilhões de dólares em 2017. ● Ganhar a Copa!!! A Seleção Alemã usou uma solução de big data chamada Match Insights. O aplicativo deixa técnicos e preparadores processarem todo o volume de informações que é gerado em uma partida ou mesmo na preparação. Dessa forma, eles avaliam situações de jogo e descobrem o que é mais indicado para cada um da equipe fazer nos treinos. 15 Big Data - Como Funciona 5 Vs do Biga Data ● Volume ● Variedade ● Velocidade ● Veracidade* ● Valor* 16 Big Data - Como Funciona ● Bancos Comuns, por que não? ○ Elasticidade ○ Padrão ACID (atomicidade, consistência, isolamento, durabilidade) ● O Big Data se baseia nas propriedades do padrão BASE (basicamente disponível, estado leve, eventualmente consistente). 17 Big Data - Estudos de Caso ● IBM Many Eyes ● IBM Watson Analytics 18 manyeyes Imagem disponível em: <http://bit.ly/1Oii5Av> NoSQL O que não é: NoSQL não significa uma negação ao SQL 19 Imagem disponível em: <http://bit.ly/1SriphD> NoSQL O que é: NoSQL significa uma alternativa aos bancos de dados relacionais. 20Imagem disponível em: <http://bit.ly/1e4CXia> NoSQL - Definição Segundo seu autor, Carlo Strozzi(2007), o NoSQL "é completamente distinto do modelo relacional e portanto deveria ser mais apropriadamente chamado ‘NoREL’ ou algo que produzisse o mesmo efeito". 21 NoSQL - Contextualização ● Popularização da Internet ● Crescimento na quantidade de dados ● Redes sociais ● Dados gerados através de dispositivos móveis ● Análise de dados 22 NoSQL - Contextualização 23 Fonte: http://www.bbc.com/portuguese/noticias/2015/04/150429_divulgacao_pnad_ibge_lgb NoSQL - Motivação ● Escalabilidade ● Suporte a dados semiestruturados, não estruturados ou complexos ● Necessidade de mais desempenho ● Dificuldades do SQL com distribuição horizontal 24 NoSQL - Motivação ● Então o NoSQL é a solução para todos os problemas? ● Bancos relacionais são mais indicados em situações nas quais os dados são muito importantes e não pode haver nenhuma quebra de referência. Ex.: Transações bancárias 25Imagem disponível em: <http://bit.ly/1Objqci> NoSQL - Porque SGBDs não são recomendados? Modelo de garantia baseado no ACID Inviabiliza a distribuição de dados de forma elástica Esse tipo de controle é quase inviável se dados e processamento são divididos em vários nós 26 NoSQL - Teorema CAP O Teorema CAP (Consistency, Availability, Partition tolerance) diz que só é possível garantir duas dessas propriedades simultaneamente em um ambiente de processamento distribuído de grande porte. 27 NoSQL - Como funciona NoSQL utiliza o paradigma BASE, trazendo uma sensível garantia de consistência dos dados, se comparados aos SGBDs tradicionais. BA -> se um nó cair, os outros continuam processando Ss/Ec -> o banco está sempre em estado leve, de mudanças, de acordo com as entradas de dados. Com o tempo, consigue desenvolver um padrão de consistência. 28 NoSQL - Tipos de armazenamento Há vários tipos de armazenamento,com características específicas Isso possibilita que cada banco seja usado para uma finalidade diferente 29 NoSQL - Key/Value Store (Chave/Valor) É o tipo mais simples. Há uma chave e um valor para a mesma. Aguenta mais carga de dados. Possui a maior escalabilidade. 30Imagem disponível em: <http://bit.ly/1gCE4Yl> Imagem disponível em: <http://bit.ly/1I8o6Q3>Imagem disponível em: <http://bit.ly/1J1l54S> NoSQL - Column Oriented Store Bancos de dados relacionais que possuem características do NoSQL. Dados armazenados em colunas. 31Imagem disponível em:http://bit.ly/1TKNS0F Imagem disponível em: http://bit.ly/1RHEKMH Imagem disponível em: http://bit.ly/1KeZ9Vq 32 Bancos relacionais Bancos orientados a coluna id1, nome1, senha1 id2, nome2, senha2 id1, id2 nome1, nome2 senha1, senha2 NoSQL - Column Oriented Store NoSQL - Wide Columns Store Suporta várias linhas e colunas. Permite subcolunas. 33Imagem disponível em: <http://bit.ly/1CHXPaS> Imagem disponível em: <http://bit.ly/1e1orba> Imagem disponível em: <http://bit.ly/1LaWEn8l> NoSQL - Document Store Baseados em documentos XML e JSON. Podem ser localizados por ID único ou qualquer registro no documento. 34Imagem disponível em: <http://bit.ly/1DhPeGQ> Imagem disponível em: <http://bit.ly/1JiVRL5> Imagem disponível em: <http://bit.ly/1I3FDuJ> NoSQL - Graph Store Mais complexo Guarda objetos ao invés de registros. 35Imagem disponível em: <http://bit.ly/1M6DyxH> Imagem disponível em: <http://bit.ly/1M6DG0r> Imagem disponível em: <http://bit.ly/1HyGqhE> NoSQL - Modelagem A modelagem relacional é feita a partir de uma estrutura de dados disponível. Que respostas eu tenho? A modelagem NoSQL é feita a partir de padrões de acesso específicos do aplicativo. Que perguntas eu tenho? 36 NoSQL - Modelagem Na modelagem NoSQL é preciso ter uma compreensão mais profunda de Estruturas de Dados que na modelagem relacional. A desnormalização e duplicação de dados é muito importante nos bancos não relacionais. Existem várias técnicas para modelar, dependendo do tipo de banco NoSQL. 37 NoSQL - Modelagem A desnormalização consiste em copiar os mesmos dados em vários documentos ou tabelas, com o objetivo de simplificar o processamento de consultas 38 NoSQL - Modelagem Algumas técnicas de modelagem: ● Desnormalização ● Agregação ● Agregados atômicos ● Chaves enumeráveis ● Redução de dimensionalidade 39 NoSQL - Estudo de Caso 40 Imagem disponível em: <http://bit.ly/1GmUCIz> NoSQL - Estudo de Caso - Netflix A empresa utiliza três tipos de bancos NoSQL: ● SimpleDB (Key/Value) ● HBase (Wide Columns) ● Cassandra (Wide Columns) 41 NoSQL - Estudo de Caso - Netflix Por que usar SimpleDB? ● A Netflix utiliza o serviço AWS, da Amazon. Como o SimpleDB também é da Amazon, esta foi uma escolha natural. ● Operações como vários atributos chave de linha e operações em lote também fizeram diferença na escolha. 42 NoSQL - Estudo de Caso - Netflix Por que usar HBase? ● Ele está muito ligado ao Hadoop ● Possibilita a escrita de consultas em tempo real ● Possibilita combinar consultas HBase com o lote Map-Reduce do Hadoop 43 NoSQL - Estudo de Caso - Netflix Por que usar Cassandra? ● Grande capacidade de escalabilidade ● Consegue replicar dados assincronamente através de múltiplas regiões geográficas ● Escala dinamicamente, adicionando servidores sem necessidade de reiniciar ou re-shard 44 Trabalho Prático Locadora de Filmes ● Redis ● Recomendação por interesses 45 Q & A 1. Qual o conceito de Big Data? R. Análise de grande quantidade de dados estruturados e não estruturados, gerando informações antes não relacionadas. 2. Quais são as 5 características que definem o Big Data? (5 Vs) R. Volume, Variedade, Velocidade, Veracidade, Valor 3. Por que é difícil trabalhar com Big Data nos bancos tradicionais? R. Bancos tradicionais comprometem a elasticidade, são padrão ACID. O Big Data se baseia nas propriedades do padrão BASE. 46 Q & A 4. O que é NoSQL? R. É uma alternativa aos bancos de dados relacionais, devido a necessidade de mais desempenho, suporte a dados complexos e escalabilidade. 5. O NoSQL é sempre o mais indicado em todos os casos? R. Não! Os bancos relacionais são mais indicados se os dados forem muito importantes e não puder haver quebra de referência. 6. Cite três tipos de armazenamento utilizados pelos bancos NoSQL: R. Key⁄Value Store, Wide Columns Store, Document Store, Graph Store, Column Oriented Store 47 Conclusão & Perguntas Trabalho apresentado ao Professor Pablo, como requisito parcial para a obtenção de aprovação na disciplina de Banco de Dados II, do curso de Bacharelado em Sistemas de Informação, no Instituto Federal de Educação, Ciência e Tecnologia da Bahia. Vitória da Conquista, Julho de 2015. Allexandre Sampaio Italo Miranda 48 Referências ALECRIM, Emerson. O que é Big Data?. 2015. Disponível em: <http://www.infowester.com/big-data.php> Acesso em: 25 mar. 2015. AVOYAN, Hovhannes. Big Data – O que é e por que é importante – Parte 01. 2013. Disponível em: <http://imasters.com.br/gerencia-de-ti/tendencias/big-data-o-que-e-e-por-que-e-importante-parte-01/> Acesso em: 25 mar. 2015. AVOYAN, Hovhannes. Big Data – O que é e por que é importante – Parte 02. 2013. Disponível em: <http://imasters.com.br/tecnologia/big-data-o-que-e-e-por-que-e-importante-parte-02/> Acesso em: 25 mar. 2015. AVOYAN, Hovhannes. Big Data – O que é e por que é importante – Parte 03. 2013. Disponível em: <http://imasters.com.br/gerencia-de-ti/tendencias/big-data-o-que-e-e-por-que-e-importante-parte-03/> Acesso em: 25 mar. 2015. AVOYAN, Hovhannes. Big Data – O que é e por que é importante – Parte 04. 2013. Disponível em: <http://imasters.com.br/gerencia-de-ti/tendencias/big-data-o-que-e-e-por-que-e-importante-parte-04/> Acesso em: 25 mar. 2015. COUTINHO, Emanuel F. (et al). Elasticidade em Computação na Nuvem: Uma Abordagem Sistemática. 31º Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos – SBRC 2013. Disponível em: <http://sbrc2013.unb.br/files/anais/minicursos/minicurso-5.pdf> Acesso em: 20 jul. 2015. 49 Referências CRIVELINI, Wagner. Minhas primeiras impressões sobre o NoSQL. 2013. Disponível em: <http://imasters.com.br/banco-de- dados/minhas-primeiras-impressoes-sobre-o-nosql/> Acesso em: 25 mar. 2015. FINLLEY, Klint. A grande lista de casos para usar NoSQL. 2011. Disponível em: <http://imasters.com.br/artigo/21646/banco-de- dados/a-grande-lista-de-casos-para-usar-nosql/> Acesso em: 25 mar. 2015. FRANÇA, Guilherme. Entenda melhor o NoSQL e o Big Data. 2013. Disponível em: <http://blog.websolute.com.br/entenda- melhor-o-nosql-e-o-big-data/> Acesso em: 25 mar. 2015. GUIMARÃES, Saulo P. 30 casos que mostram o impacto do big data no seu dia a dia. 2014. Disponível em: <http://exame.abril.com.br/tecnologia/noticias/30-casos-mostram-o-impacto-do-big-data-no-dia-a-dia> Acesso em: 25 mar. 2015. HAMANN, Renan. Do bit ao Yottabyte: conheça os tamanhos dos arquivos digitais [infográfico]. 2011. Disponível em: <http://www.tecmundo.com.br/infografico/10187-do-bit-ao-yottabyte-conheca-os-tamanhos-dos-arquivos-digitais-infografico-.htm> Acesso em: 04 mai. 2015. HARVEY, Cynthia . 50 Top Open Source Tools for Big Data. 2012. Disponível em: <http://www.datamation.com/data-center/50- top-open-source-tools-for-big-data-1.html> Acesso em: 30 abr. 2015. 50 Referências IANNI, Vinicius. Introdução aos bancos de dados NoSQL. 2012. Disponível em: <http://www.devmedia.com.br/introducao-aos- bancos-de-dados-nosql/26044> Acesso em: 25 mar. 2015. INTELBRASIL. Afinal, o que é BIG DATA?. 2013. Disponível em: <https://www.youtube.com/watch?v=u0ux8D9skpM> Acesso em: 26 abr. 2015. KATSOV, Ilya. NOSQL DATA MODELING TECHNIQUES. 2012. Disponível em: <https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/> Acesso em: 18 jul. 2015. LIST OFNOSQL DATABASES. 2015. Disponível em: <http://nosql-database.org/> Acesso em: 25 mar. 2015. MAYUMI, Priscila. Recursos para aprender noSQL. 2013. Disponível em: <http://imasters.com.br/banco-de-dados/recursos-para- aprender-nosql/> Acesso em: 25 mar. 2015. MERIAT, Vitor. Azure Table Storage e o NoSQL – Conceitos, ACID, BASE e o Big Data. 2013. Disponível em: <http://www.vitormeriat.com.br/azure-table-storage-e-o-nosql-conceitos-acid-base-e-o-big-data/> Acesso em: 15 jul. 2015. 51 Referências NASCIMENTO, Jean. NoSQL – você realmente sabe do que estamos falando?. 2010. Disponível em: <http://imasters.com.br/artigo/17043/banco-de-dados/nosql-voce-realmente-sabe-do-que-estamos-falando/> Acesso em: 25 mar. 2015. PRITCHETT, Dan. Base: An Acid Alternative. Queue - Object-Relational Mapping. Volume 6, 3ª edição. May/June 2008. Páginas 48-55. ACM New York, NY, USA. Disponível em: <http://dl.acm.org/citation.cfm?id=1394128> Acesso em: 20 jul. 2015. ROGENSKI, Renato. Uma entrevista didática sobre Big Data. 2013. Disponível em: <http://exame.abril.com.br/tecnologia/noticias/uma-entrevista-didatica-sobre-big-data> Acesso em: 25 mar. 2015. TARIFA, Alexandre. O que é big data e como usar na sua pequena empresa. 2014. Disponível em: <http://exame.abril.com.br/pme/noticias/o-que-e-big-data-e-como-usar-na-sua-pequena-empresa> Acesso em: 25 mar. 2015. TAURION, Cezar. A revolução do Big Data está prestes a acontecer. 2012. Disponível em: <http://imasters.com.br/artigo/23437/banco-de-dados/a-revolucao-do-big-data-esta-prestes-a-acontecer/> Acesso em: 25 mar. 2015. 52 Referências VARDANYAN, Mikayel. Um olhar sobre alguns bancos de dados NoSQL. 2012. Disponível em: <http://imasters.com.br/artigo/22034/banco-de-dados/um-olhar-sobre-alguns-bancos-de-dados-nosql/> Acesso em: 25 mar. 2015. VIEGAS, Fernanda. Planejamento de Vendas - O que é Big Data?. TEDx São Paulo. 2009. Disponível em: <https://www.youtube.com/watch?v=sZf8F0dziJA> Acesso em: 26 abr. 2015. VIEIRA, Marcos Rodrigues (et al). Bancos de Dados NoSQL: Conceitos, Ferramentas, Linguagens e Estudos de Casos no Contexto de Big Data. Minicurso no Simpósio Brasileiro de Bancos de Dados - SBBD 2012. Disponível em: <http://data.ime.usp.br/sbbd2012/artigos/pdfs/sbbd_min_01.pdf> Acesso em: 26 abr. 2015. 53
Compartilhar