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

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

Jul 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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