Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento...

22
GOOGLE BIGTABLE Guilherme Simas 06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Transcript of Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento...

Page 1: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

GOOGLE BIGTABLEGuilherme Simas

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 2: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Motivação

• Necessidade de sistema escalável

• Armazenamento na ordem de PB (10^15)

• Servidores locais não suportam

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 3: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Solução

• Armazenamento distribuído

• Múltiplos servidores que se comunicam

• Escalabilidade

• Baixa latência

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 4: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Bigtable

• 2006

• NoSQL

• A Bigtable is a sparse, distributed, persistent multi-dimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes.

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 5: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Modelo

• Linhas– Ordem lexicográfica (“alfabética”)– Agrupamento dos dados

• Colunas– Famílias e Qualificadores– Compressão dos dados– Operações

• Timestamps– Versionamento– Garbage collection

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 6: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 7: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Componentes

• Chubby

– Concorrência

– Locks

– Permissões de acesso

• Google File System

– Armazenamento

– Load balance

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 8: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Chubby

• Locks para Sistema distribuído

• Sincronismo

• Sistema de arquivos

• Mutualmente exclusive

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 9: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Chubby

Implementação = Mágica

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 10: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 11: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Chubby

• Abstração:

– Sistema de arquivos

– Cada arquivo = lock

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 12: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Google File System

• 2003

• Armazenamento distribuído

• Único master

• Múltiplos servidores

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 13: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 14: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 15: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 16: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 17: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Metatables

• 128 MB

• 2^34 Tablets

• 2.34 ExaBytes (1000 PetaBytes)

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 18: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 19: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Atualmente

• Aprimoramentos

• Google Cloud Services

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 20: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 21: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Referências

• https://en.wikipedia.org/wiki/NoSQL

• https://cloud.google.com/bigtable/

• https://research.google.com/archive/chubby.html

• https://research.google.com/archive/gfs.html

• https://research.google.com/archive/bigtable.html

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário

Page 22: Guilherme Simas GOOGLE BIGTABLE - PUC-Rionoemi/sd-17/seminarios/Guilherme.pdf · •Armazenamento distribuído •Múltiplos servidores que se comunicam •Escalabilidade ... 06 de

Perguntas?

06 de Julho de 2017 Sistemas Distribuídos – INF2545 Seminário