You are on page 1of 52

Sumrio

1. Introduo a Aplicaes No-Convencionais


2. Reviso de Modelaem Conceitual
!. "# $rientado a $%&etos '"#$$(
). "# $%&eto-Relacional '"#$R(
*. "# +emporal '"#+(
,. "# -eor.ico '"#-(
/. "# 0M1
8. BDs nas Nuvens
2. -er3ncia de #ados na 4e%
+5picos
1. Introduo 6 Computao nas Nuvens
2. -er3ncia de #ados na Nuvem
!. Cateorias de "#s na Nuvem
). "#s No-S71
*. Consideraes 8inais
+5picos
1. Introduo 6 Computao nas Nuvens
2. -er3ncia de #ados na Nuvem
!. Cateorias de "#s na Nuvem
). "#s No-S71
*. Consideraes 8inais
Computao na Nuvem 'Cloud Computing(

9aradima de o.erta de servios remotos de


computao
:
;ia Internet ou outra in.raestrutura de rede
Computao na Nuvem

$%&etivos
:
Atendimento em lara escala de usurios e orani<aes
sem in.raestrutura computacional ou capital
:
Atendimento de orani<aes com re=uisitos din>micos
em termos de demanda computacional

Caracter?sticas principais dos servios o.erecidos


:
"ai@o custo 'ou ratuitos(
:
+ranspar3ncia de acesso
:
Alasticidade 'e@tensoBretrao de servios so%
demanda(

Analoia com servios de lu<C uaC tele.oneC ...


N?veis de $.erta de Servios

DardEare 'In.raestrutura( 'IaaS(


:
ServidoresC discoC redeC F

#emanda de processamentoC arma<enamentoC ...


:
A@emploG Amazon elastic cloud computing

9lata.ormas '9aaS(
:
S$C am%ientes de desenvolvimentoC linuaens
de proramao

A@emploG Microsoft Azure


N?veis de $.erta de Servios

So.tEare 'SaaS(
:
9rop5sitos espec?.icos e e@ecuo em di.erentes
dispositivos

1aptopsC celularesC etc


:
A@emploG Google drive

-er3ncia de #ados '#aaS(


:
SGBDs nas nuvens

A@emplosG Amazon S3, Cassandra, Mongo DB, ...


+5picos
1. Introduo 6 Computao nas Nuvens
2. -er3ncia de #ados na Nuvem
!. Cateorias de "#s na Nuvem
). "#s No-S71
*. Consideraes 8inais
-er3ncia de #ados na Nuvem

;antaens
:
Reduo de custos para a=uisio de S-"#
:
#eleao de tare.as de administrao de dados
'%ai@a interveno Humana(

A@emploG Tuning, ac!up, ... do "#


:
Ascalvel para processamento de randes
volumes de dados

Ar=uitetura %aseada
em Data Centers
S-"#s na Nuvem - Caracter?sticas

Ascala%ilidade
:
Data centersC processamento paralelo

#isponi%ilidade
:
Replicao de dadosC consist3ncia rela@ada

A9Is simples para acesso


:
"ai@o over"ead com parsingBe@ecuo de
comandos de linuaens de "#

Altern>ncia de #or!load
:
Alasticidade na demanda por operaes so%re
dados e alocao de recursos
1( Modelos de $rograma%&o
:
A@emploG Map'educe '2 operaes(

$%&etivoG paraleli<ar o processamento de rande volume de dados


: 9aradima (dividir para con)uistar*

MapG rece%e uma .onte de dados e retorna um coleo de pares


+c"ave, valor,

ReduceG rece%e uma coleo de pares +c"ave, valor, e retorna um


resultado sumari<ado
+ecnoloias para Arma<enamento e
Acesso a #ados na Nuvem
/* Exemplo: determinar frequncia de palavras em docs Web */

MAP(U! "e#$%trin& value' (A)(%trin& "e#$*nt value'+
E,U-E((A)(%trin& "e#$*nt value'' !*%.(%trin& "e#$*nt
value'+
MapReduce - A@emplo
MapReduce - A@emplo
- #ivide a massa de dados entre servidores

- -era um mapeamento dos dados para a caracter?stica a ser


processada 'Ipalavras e suas .re=u3nciasJ(
MapReduce - A@emplo
- Coleta os pares +c"ave,valor, produ<idos em cada servidor

- -era o resultado .inal sumari<ado 'I.re=u3ncia total de cada palavraJ(


+ecnoloias para Arma<enamento e
Acesso a #ados na Nuvem
2( Sistemas de ar=uivos
:
A@emplosG

-8S 'Google -ile S.stem(


: $timi<ado para acesso a randes volumes de dados
: Sistema de ar=uivos distri%u?dos em data centers

D#8S '/adoop -ile S.stem(


: Similar ao -8S
: #esenvolvido pela ApacHe
: 0pen source
-oole 8ile SKstem '-8S(

Ar=uivos orani<ados em parties 'c"un!s(


:
C"un!sG pores de BigTales

Lm cluster possui 1 nodo Master e nodos C"un! Server


:
Master G ?ndices e catloos de metadados
:
C"un! Server G ar=uivos de dados

8oco em operaes read e


append

Cada c"un! replicado


pelo menos !@
Dadoop 8ile SKstem 'D#8S(

Ar=uitetura tam%Mm M Master1Slave

Centrada em processamento Map'educe


:
Nodos slave podem manter dados e processar
tare.as Map e 'educe
:
Nodos master

Mant3m ?ndices e
metadados

Controlam
processos
Map'educe

9odem manter
dadosC para melHor
e.ici3ncia de acesso
+ecnoloias para Arma<enamento e
Acesso a #ados na Nuvem
!( Novas estruturas de acesso
:
A@emploG #D+ 'Distriuted /as" Tale(

Arma<enamento e acesso %aseado em "as" para


randes volumes de dados
:
Cada valor de cHave 2 mapeia para o con&unto de
nodos =ue possuem 2
:
Cada nodo com seu ?ndice "as" local =ue indica a
locali<ao de 2
:
Cada nodo mantMm sua c5pia da #D+
#D+ - A@emplo
DasH ta%le
#istri%uted
DasH ta%le
"#s nas Nuvens - +ransaes
ACID
'"#s convencionais(
BASE
'"#s na nuvem(
Atomicidade
Consist3ncia
Isolamento
#ura%ilidade
"AsicallK Availa%le

"# por default est dispon?vel


So.t State

"# no necessariamente est sempre


consistente
AventuallK Consistent

"# torna-se consistente em um


determinado momento
Consist3ncia eventual '.raca(
+5picos
1. Introduo 6 Computao nas Nuvens
2. -er3ncia de #ados na Nuvem
!. Cateorias de "#s na Nuvem
). "#s No-S71
*. Consideraes 8inais
Cateorias de "#s na Nuvem
Nativo No-Nativo
Relacional
No-Relacional
SQL
Ama<on R#S
Relational Cloud
S71 A<ure
Ama<on S!
;oldemort
D"ase
Cassandra
CoucH #"
Mono #"
Neo)&
$rient #"
(BDs chave-valor)
(BDs coluna)
(BDs documento)
(BDs grafo)
Cateorias de "#s na Nuvem
Nativo No-Nativo
Relacional
No-Relacional
SQL
Ama<on R#S
Relational Cloud
S71 A<ure
Ama<on S!
;oldemort
"i +a%le
Cassandra
CoucH #"
Mono #"
Neo)&
$rient #"
(BDs chave-valor)
(BDs coluna)
(BDs documento)
(BDs grafo)
S-"#Rs constru?dos para operar na nuvemC
ou se&aC em%utem .uncionalidades de er3ncia
de dados ade=uadas para um S-"# na nuvem
Cateorias de "#s na Nuvem
Nativo No-Nativo
Relacional
No-Relacional
SQL
Ama<on R#S
Relational Cloud
S71 A<ure
Ama<on S!
;oldemort
"i +a%le
Cassandra
CoucH #"
Mono #"
Neo)&
$rient #"
(BDs chave-valor)
(BDs coluna)
(BDs documento)
(BDs grafo)
S-"#Rs no conce%idos para a nuvemC
mas =ue podem ser e@ecutados na nuvem
atravMs da utili<ao de servios de
erenciamento adicionais
Cateorias de "#s na Nuvem
Nativo No-Nativo
Relacional
No-Relacional
SQL
Ama<on R#S
Relational Cloud
S71 A<ure
Ama<on S!
;oldemort
D"ase
Cassandra
CoucH #"
Mono #"
Neo)&
$rient #"
(BDs chave-valor)
(BDs coluna)
(BDs documento)
(BDs grafo)
S-"#s no-relacionais conce%idos para a
nuvemC ou se&aC %aseados em modelos de
dados propostos para a nuvem

Cateorias de "#s na Nuvem
Nativo No-Nativo
Relacional
No-Relacional
SQL
Ama<on R#S
Relational Cloud
S71 A<ure
Ama<on S!
;oldemort
D"ase
Cassandra
CoucH #"
Mono #"
Neo)&
$rient #"
(BDs chave-valor)
(BDs coluna)
(BDs documento)
(BDs grafo)
S-"#s no-relacionais no conce%idos
para a nuvemC mas so utili<ados em
am%ientes na nuvem
Cateorias de "#s na Nuvem
Nativo No-Nativo
Relacional
No-Relacional
SQL
Ama<on R#S
Relational Cloud
S71 A<ure
Ama<on S!
;oldemort
D"ase
Cassandra
CoucH #"
Mono #"
Neo)&
$rient #"
(BDs chave-valor)
(BDs coluna)
(BDs documento)
(BDs grafo)
BDs No-SQL
+5picos
1. Introduo 6 Computao nas Nuvens
2. -er3ncia de #ados na Nuvem
!. Cateorias de "#s na Nuvem
). "#s No-S71
*. Consideraes 8inais
3o4S56 +3ot 0nl. S56,

Movimento a .avor do desenvolvimento de S-"#s


no-relacionais para a er3ncia de dados na
nuvem

9rincipais Caracter?sticas '.oco(


:
-rande volume de dados
:
Consist3ncia .raca
:
Astruturas de arma<enamentoBacesso simples

Inter.aces de acesso simples

9rincipais aplicaes
:
Social net#or!sC e4commerceC 7e searc" engines
"#s No-S71

9rincipais a%ordaens
:
"# cHave-valor

A@emploG Ama<on S!
:
"# de coluna

A@emploG Cassandra
:
"# de documentos

A@emploG CoucH#"
:
"# de ra.o

A@emploG Neo)&
Alta Heteroeneidade
em termos de modelos
de dadosN
Ama<on S! 'Simple Storae Service(

#esenvolvido pela Amazon.com Inc.

Modelo cHave-valor
:
Lm valor de cHave remete a um con&unto de
outros valores associados
:
A9I simplesG get+!e.,, put+!e., value, e
delete+!e.,

No suporta
:
#e.inio de es=uemas
:
Relacionamentos entre dados
:
1inuaem de consulta
Modelo CHave-;alor
$utro e@emploG
+(Cloud Dataases*, (+ISB3, 888,, +edi%&o, 9,, ...*,
Cassandra

Criado pelo 8ace%ooO e mantido atualmente pela


ApacHe 8oundation
:
Ltili<ado pelo eBa. e T#itter

Suportes
:
#e.inio de es=uemas
:
A9I proprietria
:
1inuaem de consulta

No suporta
:
#e.inio de relacionamentos entre dados
Cassandra : Modelo de #ados

Modelo de coluna
:
Noo de .am?lia de colunas 'column famil.(

1ista ordenada de colunas

Inde@ada por uma cHave

2e.space
: Con&unto de .am?lia de colunas

Modelo mais r?ido =ue o cHave-valor

$rani<a os dados em dom?nios '!e.spaces( e classes


de dados com os mesmos atri%utos 'column families(
: 2e.space BD e Column famil. taela em um "#R

9ermite super-colunas
: colunas compostas por outras colunas
Modelo %aseado em Coluna
A9I +Hri.t

Modi.icao de dados
:
InclusoBe@cluso de uma ou mais colunas
:
A@emplos

insert+,, atc":insert+, 'inclui vrias colunas(C remove+,C ...

Consulta a dados
:
"usca nomes de colunasC seus contePdos 'incluindo
su%-colunas( a partir de uma cHave ou de uma .ai@a de
cHaves
:
A@emplos

get+, 'retorna colunas a partir de 1 cHave(C multiget+,


'vrias cHaves(C get:slice+, '.ai@a de cHaves(C ...
C71 'Cassandra 7uerK 1anuae(

##1
:
Criao de 2e.spaces
:
Criao de .am?lias de colunas para !e.spaces

#M1
:
InseroBatuali<ao de valores de colunas de uma
.am?lia de colunasC dada uma cHave
:
Remoo de colunas ou valores de colunas de uma
.am?lia de colunasC dada uma cHave
:
Consulta a valores de colunas de .am?lias de
colunasC com predicados de seleo simples
C71 - A@emplo
CREATE KEYSPACE Livraria
WITH strategy_class = SimpleStrategy
AND strategy_pti!s"replicati!_#actr = $%
&SE Livraria%
'( ai!)a !* +, s-prte para i!ser.* )e
s-per/cl-!as ('
CREATE C0L&1N2A1ILY A-tres
3Key te4t PRI1ARY KEY5
Email te4t5 6igra#ia te4t7%
CREATE C0L&1N2A1ILY Livrs
3Key te4t PRI1ARY KEY5
IS8N 9igi!t5
A! i!t5
A-tr te4t7%
WHERE A! : ;<<<%
C71 - A@emplo
INSERT INT0 A-tres 3Key5 Email5 6igra#ia7
=AL&ES 3Emma!-el Silva5
>emma!-el?email@cm>5
>6igra#ia ) a-tr aA-i>7%
INSERT INT0 Livrs 3Key5 IS8N5 A!5 A-tr7
=AL&ES 3BCBDBDBDB5 ;<<E5 >Emma!-el Silva>7%
&PDATE A-tres
SET Email = >Esilva?gmail@cm>
WHERE KEY = Emma!-el Silva%
DELETE C0L&1NS IS8N
2R01 Livrs WHERE KEY = Apre!)e!) Fava%
SELECT 2IRST B< RE=ERSED A!5 A-tr
2R01 Livrs
WHERE A! : ;<<<%
CoucH #"

#esenvolvido pela I"M


:
Mantido atualmente pela ApacHe

No suporta
:
#e.inio de es=uemas
:
Relacionamentos entre dados
:
1inuaem de consulta

Modelo de dados %aseado em documento


:
Noo de um o%&eto comple@o '"#$$(

Atri%utos com dom?nios simples ou comple@os 'listas ou reistros(


:
Arma<enamento no .ormato de o%&etos Qava QS$N
Modelo "aseado em #ocumento
R STidSGSdiscussionTta%lesSC
STrevSGS#1C2),"/SC
SSunriseSGtrueC
SSunsetSG.alseC
S8ullDoursSGU1C2C!C)C*C,C/CVC2C1WXC
SActivitiesSG U
RSNameSGS8oot%allSC S#urationSG2C S#urationLnitSGSDoursSYC
RSNameSGS"reaO.astSC S#urationSG)WC S#urationLnitSGSMinutesSC
SAttendeesSGUSQanSC S#amienSC S1auraSC S-EendolKnSC SRoseannaSXY X Y
R
STidSGSsomeTdocTidSC
STrevSGS#1C2),"/SC
SSu%&ectSGSI liOe 9lanOtonSC
SAutHorSGSRustKSC
S9osted#ateSGS2WW,-WV-1*+1/G!WG12-W)GWWSC
S+asSGUSplanOtonSC S%ase%allSC SdecisionsSXC
S"odKSGSI decided todaK tHat I donZt liOe %ase%all. I liOe planOton.S Y
Atri%utos default
$%&etos comple@os QS$N
Acesso a #ados

A9I proprietria
:
Acesso via aplicao ou D++9
:
Lnidade de atuali<aoG documento
:
Recuperao de documentos completos

.iltros apenas por atri%uto's( prM-de.inidos


: I# do docC I# da revisoC ...

9rincipais operaes
:
Get '%usca(
:
$ost 'similar a um insert com I# erado pelo S-"#(
:
Delete
A9I - A@emplos
/* busca por *, do documento */
GET /ttp://m#database:0123/discussion4tables
/* busca 56 documentos a partir de *,s que iniciam com 7doc87 */
GET /ttp://m#database:0123/4all4docs9start"e#:;doc8;<limit:56
/* inser=>o de novo documento */
P0ST /ttp://m#database:0123?
;%ub@ect;:;* li"e Plan"ton;$
;Aut/or;:;ust#;$
;Posted,ate;:;866AB62B50.5C:D6:58B63:66;$
;.a&s;:E;plan"ton;$ ;baseball;$ ;decisions;F$
;(od#;:;* decided toda# t/at * don7t li"e baseballG * li"e
plan"tonG;H
/* remove documentos com um certo *, de revis>o */
DELETE /ttp://m#database:0123/some4doc9rev:5028A6DD2C
Neo)&

#esenvolvido pela Neo +ecHnoloK

No suporta de.inio de es=uemas

Suporte opcional a transaesC deadloc! e %lo=ueios

Modelo de dados de ra.o


:
Nodos

Itens de dados com I# e atri%utos


:
Arestas direcionadas e rotuladas

Relacionamentos entre dados

9odem ter atri%utos


:
+ipos de atri%utos

Simples ou arra.s de tipos simples


Modelo "aseado em -ra.o
Acesso a #ados

A9I Rest
:
Suporta acesso via D++9
:
9rincipais .uncionalidades

IBA de nodos e de relacionamentos

IBABA de atri%utos

Naveao em ra.os
: Indicao do nodo de partidaC critMrio de paradaC
restries '.iltros( para visita a nodosC tipo de %usca
'larura ou pro.undidade(C ...

A9I RAS+ - A@emplos
/* -ria 8 nodos com atributos e 5 aresta */
U* firstIode : createN)e('+
a))Prperty( firstIode$ ;name;$ ;Jo/n;'+
U* secondIode : createN)e('+
a))Prperty( secondIode$ ;name;$ ;%ara;'+
U* relation : addelations/ip( firstIode$
secondIode$ ;friend;'+
/* Karredura em profundidade$ pesquisando uma
Lnica veM os atributos dos nodos li&ados pelo
relacionamento friend */
GGG
.raversal,escription t : neN
TraversalDescripti!('+
tGset0r)er(.raversal,escriptionG,EP.O4P*%.'+
tGset&!iA-e!ess(.raversal,escriptionGIQ,E'+
tGsetRet-r!2ilter(.raversal,escriptionGA!!'+
tGsetRelati!s+ips(neN elations/ip( ;friend;$
elations/ipGQU.''+
GGG
CKpHer 7uerK 1anuae

1inuaem de consulta do Neo)&

Sinta@e %sica
:
"loco S+AR+-MA+CD-4DARA-RA+LRN

S+AR+
:
Nodos alvo da consulta

MA+CD
:
Casamentos a serem .eitos

4DARA
:
8iltros

RA+LRN
:
Resultado da consulta
CKpHer - A@emplo
+5picos
1. Introduo 6 Computao nas Nuvens
2. -er3ncia de #ados na Nuvem
!. Cateorias de "#s na Nuvem
). "#s No-S71
*. Consideraes 8inais
"#s nas Nuvens

-er3ncia de randes volumes de dados


:
Ade=uado a vrios tipos de aplicaes

#ados na 4e%C dados de sensoresC dados cient?.icosC F


#esa.ios associados com a arantia da =ualidade


desta er3ncia on demand
:
AumentoBmelHoria de in.raestruturaC mirao de
dadosBservios para nodos com maior capacidade de
processamentoC particionamento de dadosC ...

+end3ncias de 9es=uisa

Aprimoramento de er3ncias
:
Manipulao de dados mais ro%usta

#M1sC suporte a &oinsC ...


:
Consist3ncia de transaes

Avaliao de desempenHo na nuvem


: #eterminar modelosBerenciadores mais ade=uados para certos
dom?nios e certos volumes de dados

Acesso relacional a dados na nuvem


: 9ermitir acesso a dados na nuvem atravMs de vises relacionais
8acilitar o acesso para aplicaes %aseadas em "#Rs
-arantir o menor over"ead poss?vel no mapeamento relacional-cloud

InteraoBInteropera%ilidade
: Matc"ing de es=uemasBdados Hetero3neosC visando consultas a
vrias .ontes

Metodoloias de 9ro&eto de "#s NoS71

You might also like