big data e nosql

53

Upload: allexandre-sampaio

Post on 14-Aug-2015

59 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Big Data e NoSQL
Page 2: Big Data e NoSQL

Banco de Dados II - 2015.1Big Data e NoSQL

Page 3: Big Data e NoSQL

Big Data - Definição

O que não é:

3Imagem disponível em: <http://bit.ly/1HD7Q5V>

Page 4: Big Data e NoSQL

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

Page 5: Big Data e NoSQL

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

Page 6: Big Data e NoSQL

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

Page 7: Big Data e NoSQL

Big Data - Contextualização

● Emails

● Blogs

● Redes Sociais

● Aplicações

● Gadgets

● IoT

● Cidades Inteligentes

7Imagem disponível em: <http://bit.ly/1JmL7ve>

Page 8: Big Data e NoSQL

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>

Page 9: Big Data e NoSQL

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/39461http://www1.folha.uol.com.br/tec/2015/02/1595790-redes-sociais-e-videos-lideram-trafego-de-web-movel-no-mundo-diz-estudo.shtml

Page 10: Big Data e NoSQL

Big Data - Contextualização

10Fonte: http://www.cisco.com/web/PT/press/articles/2015/20150203.html

Page 11: Big Data e NoSQL

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

Page 12: Big Data e NoSQL

Big Data - Objetivos

Ter, a partir de análise de dados em massa, informações valiosas sobre o que se analisa.

12

Page 13: Big Data e NoSQL

Big Data - Objetivos

Objetivos distintos:

● Combater o câncerEm 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çãoEm 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 engarrafamentosA 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

Page 14: Big Data e NoSQL

Big Data - Objetivos

Objetivos distintos:

● Prever fim de namoroUm 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ídiosO Durkheim é um projeto que acompanha redes sociais para detectar palavras e frases que

caracterizem o autor como um potencial suicida.

● Encontrar namoradosO 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 candidatosNas 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

Page 15: Big Data e NoSQL

Big Data - ObjetivosObjetivos distintos:

● Evitar fraudesEm 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 pessoasEm 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

Page 16: Big Data e NoSQL

Big Data - Como Funciona

5 Vs do Biga Data

● Volume

● Variedade

● Velocidade

● Veracidade*

● Valor*

16

Page 17: Big Data e NoSQL

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

Page 18: Big Data e NoSQL

Big Data - Estudos de Caso

● IBM Many Eyes● IBM Watson Analytics

18

manyeyesImagem disponível em: <http://bit.ly/1Oii5Av>

Page 19: Big Data e NoSQL

NoSQL

O que não é:

NoSQL não significa uma negação ao SQL

19Imagem disponível em: <http://bit.ly/1SriphD>

Page 20: Big Data e NoSQL

NoSQL

O que é:

NoSQL significa uma alternativa aos bancos de dados relacionais.

20Imagem disponível em: <http://bit.ly/1e4CXia>

Page 21: Big Data e NoSQL

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

Page 22: Big Data e NoSQL

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 dados22

Page 23: Big Data e NoSQL

NoSQL - Contextualização

23Fonte: http://www.bbc.com/portuguese/noticias/2015/04/150429_divulgacao_pnad_ibge_lgb

Page 24: Big Data e NoSQL

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

Page 25: Big Data e NoSQL

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>

Page 26: Big Data e NoSQL

NoSQL - Porque SGBDs não são recomendados?

Modelo de garantia baseado no ACID

Inviabiliza a distribuição de dados de forma

elásticaEsse tipo de controle é quase inviável se dados e processamento são divididos em vários nós

26

Page 27: Big Data e NoSQL

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

CO

NSI

STEN

CY AVA

ILAB

ILITY

PARTITION TOLERANCE

Page 28: Big Data e NoSQL

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 processandoSs/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

Page 29: Big Data e NoSQL

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

Page 30: Big Data e NoSQL

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>

Page 31: Big Data e NoSQL

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

Page 32: Big Data e NoSQL

32

Bancos relacionais

Bancos orientados a coluna

id1, nome1, senha1

id2, nome2, senha2

id1, id2 nome1, nome2 senha1, senha2

NoSQL - Column Oriented Store

Page 33: Big Data e NoSQL

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>

Page 34: Big Data e NoSQL

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>

Page 35: Big Data e NoSQL

NoSQL - Graph Store

Mais complexoGuarda 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>

Page 36: Big Data e NoSQL

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

Page 37: Big Data e NoSQL

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

Page 38: Big Data e NoSQL

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

Page 39: Big Data e NoSQL

NoSQL - Modelagem

Algumas técnicas de modelagem:

● Desnormalização● Agregação● Agregados atômicos● Chaves enumeráveis● Redução de dimensionalidade

39

Page 40: Big Data e NoSQL

NoSQL - Estudo de Caso

40Imagem disponível em: <http://bit.ly/1GmUCIz>

Page 41: Big Data e NoSQL

NoSQL - Estudo de Caso - Netflix

A empresa utiliza três tipos de bancos NoSQL:

● SimpleDB (Key/Value)● HBase (Wide Columns)● Cassandra (Wide Columns)

41

Page 42: Big Data e NoSQL

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

Page 43: Big Data e NoSQL

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

Page 44: Big Data e NoSQL

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

Page 45: Big Data e NoSQL

Trabalho Prático

Locadora de Filmes

● Redis● Recomendação por interesses

45

Page 46: Big Data e NoSQL

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

Page 47: Big Data e NoSQL

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

Page 48: Big Data e NoSQL

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

Page 49: Big Data e NoSQL

ReferênciasALECRIM, 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

Page 50: Big Data e NoSQL

ReferênciasCRIVELINI, 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

Page 51: Big Data e NoSQL

ReferênciasIANNI, 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 OF NOSQL 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

Page 52: Big Data e NoSQL

ReferênciasNASCIMENTO, 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

Page 53: Big Data e NoSQL

ReferênciasVARDANYAN, 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