Sistema
Distribuido
Google
ndice
Introduccin
Arquitectura
global
y
principios
de
diseo
Paradigmas
de
comunicacin
Servicios
de
almacenamiento
de
datos
y
de
coordinacin
Servicios
de
computacin
distribuida
Conclusin
Bibliografa
Introduccin
Google
[[Link]]
es
una
corporacin
estadounidense
con
su
ocina
central
(Googleplex)
en
Mountain
View,
California,
que
ofrece
bsquedas
en
Internet
y
amplias
aplicaciones
web,
obteniendo
ingresos
en
gran
parte
de
la
publicidad
asociada
a
dichos
servicios.
Google
naci
de
un
proyecto
de
investigacin
en
la
Universidad
de
Stanford,
la
compaa
se
puso
en
marcha
en
1998.
Desde
entonces,
ha
crecido
hasta
tener
una
posicin
dominante
en
el
mercado
de
bsquedas
en
Internet,
gran
parte
debido
a
la
ecacia
del
algoritmo
de
clasicacin
utilizado
en
su
motor
de
bsqueda.
Introduccin
Google
es
uno
de
los
sistemas
distribuidos
ms
complejos
en
uso
y
su
infraestructura
ha
satisfecho
requisitos
tan
exigentes
como:
escalabilidad,
rendimiento,
abilidad
y
transparencia.
Google
se
ha
diversicado,
y
adems
de
ofrecer
un
motor
de
bsqueda
es
ahora
un
actor
importante
en
computacin
en
la
nube
ofreciendo
un
conjunto
de
aplicaciones
y
servicios
en
la
nube.
Introduccin
Motor
de
bsqueda
de
Google
Dada
una
consulta,
devuelve
una
lista
ordenada
de
los
resultados
ms
relevantes.
El
motor
de
bsqueda
consiste
en
un
conjunto
de
servicios:
Rastreo
Indexacin
Clasicacin
Introduccin
Motor
de
bsqueda
de
Google
Rastreo
(crawling):
:
localizar
y
recuperar
el
contenido
de
la
Web
y
pasar
el
contenido
sobre
el
subsistema
de
indexacin.
Esto
se
lleva
a
cabo
por
un
servicio
de
software
llamado
Googlebot
y
Caeine
(2010).
Indexacin:
produce
un
ndice
invertido
ordenado
de
los
contenidos
Web
Relaciona
palabras
o
recursos
documentales
con
las
posiciones
donde
se
encuentran
en
las
pginas.
Tambin
mantiene
un
ndice
de
enlaces:
qu
pginas
apuntan
a
una
pgina
web.
Introduccin
Motor
de
bsqueda
de
Google
Clasicacin:
Importancia
relativa
de
las
pginas
(PageRank)
Importancia:
depende
del
nmero
de
enlaces
que
la
apuntan
Tambin
considera:
la
importancia
de
los
sitios
que
apuntan
la
posicin
del
enlace,
el
tamao
de
su
letra
o
si
est
en
maysculas
proximidad
de
las
palabras
de
la
consulta.
Introduccin
Servicios
en
la
nube
Aplicaciones
Google
como
servicios:
Aplicaciones
web:
tratan
de
reemplazar
al
software
tradicional
Programas
omticos,
calendarios,
herramientas
de
colaboracin,
etc.
Plataforma
Google
como
un
servicio:
APIs
de
sistemas
distribuidos,
para
desarrollo
de
aplicaciones
Google
AppEngine:
Ofrece
su
infraestructura
de
sistemas
distribuidos
como
un
servicio
en
la
nube.
Se
usa
en
aplicaciones
internas
y
se
ofrece
acceso
externo
Introduccin
10
Arquitectura
global
y
principios
de
diseo
La
losofa
clave
de
Google
en
trminos
de
infraestructura
fsica
es
el
uso
de
un
gran
nmero
de
equipos
bsicos
para
producir
un
entorno
rentable
para
el
almacenamiento
distribuido
y
computacin.
La
decisin
de
compra
se
basa
en
obtener
el
mejor
rendimiento
por
dlar
en
lugar
de
la
rentabilidad
absoluta.
Principio
bsico:
usar
un
gran
nmero
de
PCs
bsicos,
para
construir
un
entorno
efectivo
de
cmputo
y
almacenamiento
distribuido.
PC
con
2
TB
de
disco
y
16
GB
de
DRAM
.
Versin
adaptada
del
ncleo
de
Linux.
11
Arquitectura
global
y
principios
de
diseo
Por
qu
la
eleccin
de
ordenadores
bsicos?
En
gran
medida
la
fuente
ms
comn
de
fallos
es
debido
al
software.
20
mquinas
de
media
se
reinician
diariamente
por
fallos
del
software.
Los
fallos
de
hardware
representan
1/10
de
los
fallos.
En
torno
al
2-3%
de
los
PCs
fallan
por
ao
debido
a
errores
de
hardware.
De
stos,
el
95%
se
deben
a
fallos
en
los
discos
o
DRAM.
Esto
justica
la
decisin
de
adquirir
equipos
bsicos;
dado
que
la
gran
mayora
de
los
fallos
se
deben
a
software,
no
vale
la
pena
invertir
en
un
hardware
ms
caro,
ms
able.
12
Arquitectura
global
y
principios
de
diseo
Arquitectura
fsica
de
Google
Los
PCs
se
organizan
en
racks
de
entre
40-80
Tiene
un
switch
ethernet
para
conectividad
interna
y
externa
Los
racks
se
organizan
en
clsters
Son
la
unidad
de
gestin
principal.
Contiene
al
menos
30
racks.
Dos
switches
para
conectividad
con
el
exterior:
redundancia.
Los
clsters
estn
en
centros
de
datos
de
Google
La
capacidad
total
de
almacenamiento:
Cifras
totales
no
divulgadas.
Alrededor
de
200
clsters.
Un
rack
de
80
PCs
proporciona
160
terabytes,
un
grupo
de
30
rack
-
4,8
petabytes,
200
grupos
-
960
petabytes
-
1
exabyte.
13
Arquitectura
global
y
principios
de
diseo
14
Arquitectura
global
y
principios
de
diseo
Amrica
Asia
Europa
Condado
de
Berkeley,
Carolina
del
Sur
Condado
de
Mayes,
Oklahoma
Hong
Kong
Hamina,
Finlandia
Council
Blus,
Iowa
Lenoir,
Carolina
del
Norte
Singapur
Saint-Ghislain,
Blgica
Condado
de
Douglas,
Georgia
The
Dalles,
Oregn
Taiwn
Dubln
(Irlanda)
Quilicura,
Chile
15
Arquitectura
global
y
principios
de
diseo
Requisitos
fundamentales
Escalabilidad:
1. Tratar
con
ms
datos
2. Tratar
con
ms
consultas
y
3.
Bsqueda
de
mejores
resultados.
16
Arquitectura
general
y
losofa
de
diseo
Requisitos
fundamentales
Fiabilidad:
Requisitos
exigentes
de
disponibilidad
Mecanismos
de
deteccin,
redundancia
y
tolerancia
a
fallos
Rendimiento:
Proporcionar
respuesta
rpida,
aumenta
las
consultas
Respuesta:
depende
de
los
tiempo
entre
extremos
Transparencia:
Facilitar
el
desarrollo
de
nuevas
aplicaciones
17
Arquitectura
general
y
losofa
de
diseo
Arquitectura
general
de
los
sistemas
de
Google
Capa
inferior
:
Computacin
fundamental
Capa
intermedia:
infraestructura
distribuida
comn
que
proporciona
apoyo
middleware
para
la
bsqueda
y
la
computacin
en
la
nube.
Capa
superior:
los
servicios
conocidos
de
Google
y
las
aplicaciones
en
la
parte
superior.
18
Arquitectura
general
y
losofa
de
diseo
Principios
de
diseo
Simplicidad:
El
software
hace
una
cosa
y
la
hace
bien.
APIs
tan
sencillas
como
sea
posible.
Rendimiento:
Cada
milisegundo
cuenta.
Estimacin
del
rendimiento
de
un
diseo:
tamao
de
los
mensaje,
acceso
a
disco,
acceso
mutex,
etc.
Pruebas:
Pruebas
exhaustivas
al
software.
Seguimiento
para
detectar
y
resolver
fallos.
19
Paradigmas
de
comunicacin
Protocolo
Buers
(Invocacin
remota)
Se
usa
para
almacenamiento
e
invocacin
Proporciona
un
mecanismo
para
especicar
y
serializar
datos
Neutral
respecto
al
lenguaje
y
a
la
plataforma
Simple
y
muy
eciente
Los
mensajes
se
describen
mediante
un
lenguaje
Conjuntos
de
campos
enumerados
con
identicador
nico.
Se
indica
el
tipo
de
la
informacin.
Etiquetas
para
caracterizar
los
campos:
Requerido,
opcional
o
repetido.
20
Paradigmas
de
comunicacin
Ejemplo
protocolo
buers
21
Paradigmas
de
comunicacin
Protocolo
Buers
(Invocacin
remota)
Formato
ms
sencillo
que
XML
Adaptado
a
las
necesidades
de
Google
Ms
rpido
y
conciso
Permite
expresar
servicios
remotos
service SearchService {
rpc Search (RequestType) returns (ResponseType)
}
22
Paradigmas
de
comunicacin
Publicacin/Suscripcin
Diseminacin
de
eventos
rpidamente
y
con
garanta
de
abilidad
a
un
gran
nmero
de
receptores
El
sistema
est
basado
en
temas
Ms
eciente
que
si
estuviera
basado
en
contenidos,
aunque
tiene
menos
poder
expresivo
Un
evento:
cabecera,
conjunto
de
palabras
clave
e
informacin
Suscripcin:
indica
un
tema
y
un
ltro
sobre
las
palabras
clave
Canales
Se
proporcionan
canales
asociados
a
temas
Flujos
de
datos
estticos,
con
alta
transferencia
de
eventos
(1Mbps)
Si
un
canal
genera
poco
ujo,
se
incluye
en
otro
23
Paradigmas
de
comunicacin
Publicacin/Suscripcin
Se
implementa
como
un
conjunto
de
rboles
La
raz
es
el
tema
Las
hojas
son
los
suscriptores
Los
ltros
se
aplican
lo
ms
cerca
de
la
raz
posible
Fiabilidad:
se
mantienen
rboles
redundantes:
Al
menos
dos
por
tema
Calidad
de
servicio:
se
fuerza
un
lmite
por
usuario
y
por
tema.
24
Servicio
de
almacenamiento
de
datos
y
coordinacin
Sistema
de
cheros
de
google
(GFS)
Acceso
a
datos
no
estructurados.
Optimizados
para
el
estilo
de
datos
y
accesos
requeridos
por
Google.
Chubby:
Cerrojos
distribuidos
para
coordinacin
distribuida.
Almacenamiento
de
pequeas
cantidades
de
datos.
Bigtable:
Acceso
a
datos
estructurados,
en
forma
de
tablas,
que
pueden
ser
indexadas
de
varias
formas,
tanto
por
la
o
columna.
Base
de
datos
distribuida
que
no
proporciona
todos
los
operadores
relacionales.
25
Servicio
de
almacenamiento
de
datos
y
coordinacin
Google
File
System
(GFS):
Requisitos
Ejecuta
sobre
la
plataforma
de
Google
Debe
supervisar
su
funcionamiento
y
detectar,
tolerar
y
recuperarse
de
fallos
Optimizarse
para
el
tipo
de
uso
dentro
de
Google
El
nmero
de
cheros
no
es
muy
grande.
Lo
es
su
tamao
El
acceso
es
normalmente
secuencial:
Lecturas
secuenciales
Escrituras
secuenciales,
que
aaden
informacin
al
nal
del
chero
Acceso
concurrente
de
lectura
y
escritura
Requisitos
de
la
infraestructura
Google
Es
importante
el
ancho
de
banda,
ms
que
la
velocidad
de
respuesta
26
Servicio
de
almacenamiento
de
datos
y
coordinacin
Google
File
System
(GFS):
Interfaz
Interfaz
de
un
sistema
de
cheros
convencional
Espacio
de
nombres
jerrquico.
Ficheros
identicados
por
la
ruta
donde
se
encuentran.
Operaciones
comunes:
crear,
borrar,
abrir,
cerrar,
leer,
escribir.
Operaciones
especiales:
Snapshot:
Mecanismo
eciente
para
copiar
un
chero
o
una
estructura
de
directorios
Record
Append
:
Mltiples
clientes
aaden
informacin
al
nal
del
chero
27
Servicio
de
almacenamiento
de
datos
y
coordinacin
Google
File
System
(GFS)
:
Arquitectura
Almacenamiento
en
trozos
(chunks)
de
64MB
GFS
relaciona
cheros
con
trozos
Cada
grupo
(clster)
de
GFS
tiene
un
maestro
y
varios
servidores
de
trozos
El
maestro
gestiona
los
metadatos
de
los
cheros:
Espacio
de
nombres,
control
de
acceso,
los
trozos
que
lo
forman
28
Servicio
de
almacenamiento
de
datos
y
coordinacin
Google
File
System
(GFS)
:
Arquitectura
Funcionamiento:
Cuando
recibe
una
peticin
de
un
cliente,
el
maestro
le
indica
un
un
primario
y
las
rplicas
restantes.
El
cliente
manda
datos
a
las
rplicas,
que
los
guardan
en
buer.
Cuando
las
rplicas
reconocen
la
recepcin
de
los
datos,
ordena
al
primario
la
escritura,
impone
el
orden
y
lo
aplica
localmente.
Luego,
ordena
a
las
rplicas
el
mismo
orden
y
mandan
reconocimiento.
Si
se
reciben
las
conrmaciones,
el
primario
informa
del
xito
de
la
operacin.
En
caso
contrario,
se
informa
del
fallo.
Entonces
se
vuelve
a
realizar
la
operacin.
Si
persiste
el
fallo,
puede
haber
incoherencias.
29
Servicio
de
almacenamiento
de
datos
y
coordinacin
Chubby
Proporciona
cerrojos
distribuidos
para
sincronizar
actividades
en
un
entorno
de
gran
escala
y
asncrono.
Proporciona
un
sistema
de
cheros,
con
almacenamiento
able
de
cheros
pequeos.
Permite
seleccionar
un
primario
entre
un
conjunto
de
rplicas.
Se
usa
como
un
servicio
de
nombres
en
Google.
El
consenso
distribuido
es
su
funcionalidad
ms
importante.
Fiabilidad
y
disponibilidad,
frente
a
rendimiento.
30
Servicio
de
almacenamiento
de
datos
y
coordinacin
Chubby
Cada
entidad
con
datos
es
un
chero
Espacio
de
nombres:
/ls/chubby_cell/directorio/.../chero
Una
entidad
combina
un
chero
y
un
cerrojo.
Las
operaciones
sobre
cheros
Se
transere
el
chero
completo.
Se
realizan
de
forma
atmica
Los
cerrojos
son
informativos
El
sistema
no
bloquea
el
acceso
a
los
datos
asociados.
Los
programadores
deben
usarlos
de
forma
adecuada
31
Servicio
de
almacenamiento
de
datos
y
coordinacin
Chubby
32
Servicio
de
almacenamiento
de
datos
y
coordinacin
Chubby
:
Funciones
Eleccin
de
un
primario.
Los
candidatos
tratan
de
adquirir
un
cerrojo
asociado
a
la
eleccin.
El
que
tiene
xito
es
el
primero.
Escribe
en
el
chero
su
identidad.
Seleccin
de
un
primario,
basada
en
servicio
de
consenso.
Proporciona
un
servicio
sencillo
de
eventos.
Pueden
ser
cambios
en
un
chero,
manejador
invlido,
etc.
Se
ejecuta
una
funcin
asncronamente
(callback).
Otras
caractersticas.
No
permite
mover
un
chero,
ni
enlaces
simblicos
.
Mantiene
pocos
metadatos.
33
Servicio
de
almacenamiento
de
datos
y
coordinacin
Chubby
:
Arquitectura
Los
componentes
fundamentales:
Cliente,
que
emplea
una
biblioteca
para
llamadas.
Una
clula
Chubby.
Se
comunican
mediante
RPC
La
clula
Chubby
Compuesta
por
cinco
rplicas.
Al
menos
tres
deben
estar
operativas.
Las
rplicas
se
sitan
en
diferentes
racks.
La
clula
suele
estar
en
el
mismo
clster.
Las
rplicas
mantienen
copias
de
una
BD
sencilla.
Slo
el
maestro
inicia
operaciones
de
lectura/escritura
de
a
BD.
Se
emplea
un
protocolo
de
consenso
34
Almacenamiento
de
datos
y
servicios
de
coordinacin
Arquitectura
Chubby
35
Servicio
de
almacenamiento
de
datos
y
coordinacin
Chubby
:
Arquitectura
Los
clientes
buscan
al
maestro
y
luego
le
envan
sus
peticiones
Si
el
maestro
cae,
las
rplicas
eligen
otro.
Luego,
lo
puede
detectar
el
cliente
Se
establece
una
sesin
entre
el
cliente
y
el
maestro
Se
mantiene
mientras
ambos
estn
operativos
(KeepAlive)
La
biblioteca
copia
localmente
los
cheros
usados
Consistencia:
para
hacer
una
mutacin
de
un
chero:
Se
bloquea
la
operacin,
hasta
invalidar
todas
las
caches
Las
caches
nunca
se
modican
directamente.
36
Servicio
de
almacenamiento
de
datos
y
coordinacin
Chubby
:
Consistencia
entre
rplicas
Basada
en
Paxos:
familia
de
protocolos
para
consenso
distribuido
para
sistemas
asncronos
No
es
posible
garantizar
consistencia.
Puede
que
no
termine.
37
Servicio
de
almacenamiento
de
datos
y
coordinacin
Algoritmo
Paxos
38
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable
Sistema
de
almacenamiento
distribuido
para
grandes
volmenes
de
datos
estructurados
Gestiona
el
almacenamiento
tolerante
a
fallos,
creacin,
borrado
y
gestin
de
grandes
tablas
Google
Analytics
almacena
informacin
de
enlaces
visitados
asociados
con
usuarios
que
visitan
un
sitio
en
una
tabla
(200TB)
y
resume
la
informacin
analizada
en
otra
(20TB)
Las
bases
de
datos
relacionales
no
sirven
No
proporcionan
buen
rendimiento
y
escalabilidad
Bigtable
Sigue
el
modelo
de
tablas.
Con
una
interfaz
muy
sencilla,
adaptada
a
las
necesidades
de
Google.
39
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable:
Interfaz
Acceso
indexado
por
la,
columna
y
marca
de
tiempo:
Filas:
Identicadas
por
una
clave,
que
es
una
tira
de
caracteres
de
hasta
64KB
Ej.
direccin
de
una
web
Ordenadas
lexicogrcamente
por
la
clave
Filas
relacionadas
se
almacenan
juntas
Los
accesos
a
las
las
son
atmicos
Columnas:
Nombre
de
columna:
Nombre
de
familia:calicador
Enfoque:
pocas
familias
y
muchas
columnas
Ej.
informacin
de
la
direccin
de
web:
enlaces,
lenguajes,
etc
Marca
de
tiempo
(timestamp)
Una
celda
tiene
varias
versiones,
indexadas
con
este
parmetro.
Puede
ser
tiempo
rea
o
tiempo
lgico
Se
puede
aplicar
un
recolector
de
memoria
40
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable:
Interfaz
41
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable:
Interfaz
Proporciona
funciones,
como
Creacin
y
borrado
de
tablas
Creacin
y
borrado
de
familias
de
columnas
Acceso
a
datos
de
una
la
Escritura
y
borrado
de
datos
de
las
celdas
Mutaciones
atmicas
en
las,
como
acceso,
escritura
y
borrado
de
datos
Iteracin
sobre
familias
de
columnas,
incluyendo
el
uso
de
expresiones
regulares
Asociar
metadatos
con
tablas
y
familias
de
columnas,
como
listas
de
acceso
42
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable:
Arquitectura
Se
divide
en
tabletas,
que
son
un
conjunto
de
las
Relaciona
las
tabletas
con
cheros
en
GFS
.
Garantiza
equilibrado
de
la
carga
entre
los
servidores.
Clster:
un
instancia
de
Bigtable
Almacena
y
gestiona
un
conjunto
de
tabletas.
Arquitectura
similar
a
GFS;:
biblioteca,
maestro
y
servidores
de
tabletas.
43
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable:
Almacenamiento
de
datos
El
almacenamiento
de
tablas
en
GFS:
La
tabla
se
dividen
en
tabletas,
por
las,
con
un
tamao
medio
100-200
MB
Una
tableta
se
representa
mediante
conjunto
de
cheros
que
almacenan
datos
en
formato
SSTable
otras
estructuras
de
almacenamiento
para
las
bitcoras
Relacin
entre
tabletas
y
SSTables
mediante
ndice
jerrquico
SSTable:
mapa
ordenado
e
inmutable
de
pares
(clave,
valor)
operaciones
para
acceso
y
gestin
eciente
incluye
un
ndice,
que
se
carga
en
memoria
inicialmente
los
cambios
se
escriben
en
una
bitcora
en
GFS
las
lecturas
se
hacen
combinando
los
datos
en
SSTable
y
en
la
bitcora
44
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable:
Almacenamiento
de
datos
La
relacin
entre
tabletas
y
cheros
en
memoria
se
gestiona
en
una
estructura
en
rbol,
donde
se
almacenan
metadatos
y
la
situacin
de
los
datos
de
las
tabletas
45
Servicio
de
almacenamiento
de
datos
y
coordinacin
BigTable:
Funcionamiento
Uso
interesante
de
Chubby:
Mantiene
un
directorio
en
Chubby
con
cheros
representado
los
servidores
de
tabletas.
Los
servidores
obtienen
un
cerrojo
sobre
el
chero.
Su
existencia
indica
la
correcta
operacin
del
servidor.
Operacin
del
servidor
de
tableta
Los
servidores
supervisan
su
cerrojo.
Si
se
pierde,
se
paran.
Intentan
adquirir
el
cerrojo.
Si
el
chero
se
borra,
terminan.
Si
el
servidor
debe
terminar,
libera
el
cerrojo.
Operacin
del
maestro
El
maestro
consulta
el
valor
del
cerrojo
peridicamente.
Si
est
liberado,
entonces
intenta
adquirirlo.
Si
tiene
xito,
el
problema
est
en
el
servidor.
Borra
el
chero
y
asigna
la
tableta
a
otro
servidor.
46
Servicios
de
computacin
distribuida
MapReduce
Modelo
sencillo
de
programacin
para
el
desarrollo
de
aplicaciones
paralelas
y
distribuidas.
Fragmentacin
de
datos
de
entrada
y
anlisis
y
procesamiento
de
estos
fragmentos
en
paralelo.
Oculta
los
detalles
de
este
enfoque
al
programador.
Interfaz
de
MapReduce:
Funcionamiento:
Partir
los
datos
de
entrada
en
un
conjunto
de
trozos
(chunks).
Procesamiento
paralelo
de
los
trozos
y
generacin
de
un
resultado
intermedio.
Combinacin
de
los
resultados
intermedios
.
Funciones:
Map:
Parte
de
un
conjunto
de
pares
(clave,
valor)
y
genera
un
conjunto
intermedio
de
pares
del
mismo
tipo.
Reduce:
Ordenacin
por
clave
y
generacin
de
valores
para
cada
grupo.
47
Servicios
de
computacin
distribuida
MapReduce:
Arquitectura
Biblioteca
que
permite
al
programador
centrarse
en
las
funciones
Map
y
Reduce
Se
crean
un
conjunto
de
trabajadores
Un
maestro
para
supervisar
48
Servicios
de
computacin
distribuida
MapReduce:
Tolerancia
de
fallos
Garantiza
el
determinismo
de
las
operaciones
El
maestro
comprueba
si
los
trabajadores
funcionan.
Si
falla:
Map:
Se
reprograma
la
operacin.
Los
resultados
no
estarn
disponibles,
pues
se
escriben
en
almacenamiento
local
Reduce:
Se
comprueba
si
se
complet.
Entonces,
se
usan
los
datos
que
estarn
en
GFS.
En
caso
contrario,
se
vuelve
a
realizar
Las
salidas
de
los
trabajadores
se
escriben
atmicamente
Gestin
de
trabajadores
lentos
Ocurre
con
cierta
frecuencia
(a
veces
problemas
hardware).
Cuanto
se
est
completando
una
operacin,
lanza
trabajadores
nuevos
como
respaldo
a
los
lentos.
49
Servicios
de
computacin
distribuida
Sawzall
Lenguaje
de
programacin
interpretado
para
realizar
anlisis
de
datos
paralelos
sobre
grandes
conjuntos
de
datos
en
entornos
altamente
distribuidos
Tamao
de
programas,
menor
que
con
MapReduce
Esquema
de
cmputo
dado
y
supone:
La
ejecucin
de
ltros
y
agregadores
es
conmutativa
respecto
a
los
registros.
Se
pueden
ejecutar
en
cualquier
orden
Las
operaciones
de
agregacin
son
asociativas
50
Servicios
de
computacin
distribuida
Sawzall
Se
proporcionan
un
conjunto
de
agregadores
por
defecto
Ejemplo
count:
table
sum
of
int;
total:
table
sum
of
oat;
x:
oat
=
input;
emit
count
<-
1;
emit
total
<-
x;
51
Conclusin
Se
ha
descrito
como
una
empresa
muy
grande
de
Internet
en
este
caso
Google
ha
abordado
el
diseo
de
un
sistema
distribuido
para
ofrecer
un
excelente
motor
de
bsqueda
y
un
conjunto
de
aplicaciones
y
servicios
en
la
nube.
Conjunto
de
componentes
y
modelo
fsico
para
el
desarrollo
de
aplicaciones
en
sistemas
distribuidos.
Soluciones
adaptadas
a
las
necesidades
de
Google.
Requisitos:
escalabilidad,
rendimiento,
abilidad,
transparencia.
Entorno
en
continua
evolucin
52
Bibliografa
(I)Coulouris,
Dollimore,
Kindberg
and
Blair.
Distributed
Systems:
Concepts
and
Design.
Edition
5,
Addison-Wesley
2012
(II)Centro
de
datos
de
Google.
Consultado
el
7
de
mayo
de
2013.
[Link]
(III)Dentro
de
Google.
Consultado
el
6
de
mayo
de
2013.
[Link]
Sistema
Distribuido
Google