SlideShare uma empresa Scribd logo
The Google File System


               Mycke  Richard Guntijo
               Renato Gomes Borges
                  Tauan Nascimento
Introdução

• Motivação
• Arquitetura
   o Chunkservers
   o Master Servers
   o Metadata
• Operações
   o read
   o write
   o record append
   o snapshot
• Tolerância a falhas
• Conclusão


                        2
Motivação

• Espaço de armazenamento de centenas de terabytes sobre 
  milhares de discos em mais de mil máquinas.

• Acessado por centenas de clientes concorrentemente.

• Atender requisitos de:
   o alta performance
   o tolerância a falhas
   o escalabilidade




                                           3
Arquitetura
      




              4
Chunk

• Arquivos
  o Chunk Size




                 5
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB




                      6
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB
      Menos comunicação cliente/servidor




                                  7
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB
      Menos comunicação cliente/servidor
      Não sobrecarrega a rede




                                  8
Chunk

• Arquivos
  o Chunk Size
  o Motivação 64 MB
      Menos comunicação cliente/servidor
      Não sobrecarrega a rede
      Redução de metadados




                                  9
Chunkserver

• Armazenam chunks 




                      10
Chunkserver

• Armazenam chunks
• Executam sistema Linux
  o Linux controla máquina
      Possui próprio sistema de arquivo  




                                    11
Metadados

• Informações sobre chunk
   o Nome do local de arquivo e do chunk
   o Mapeamento de arquivos para chunk
   o Localização de cada chunk e suas réplicas




                                   12
Metadados

• Armazenamento de metadados
  o Informações sobre chunks : 64 bytes  




                                  13
Metadados

• Armazenamento de metadados
  o Informações sobre chunks : 64 bytes
• Evitar falta de memória
  o Mover chunks  
  o Garbage Collection




                                  14
Master Server

• Armazena metadados




                       15
Master Server

• Armazena metadados
• Primeiro a se comunicar com cliente




                                  16
Master Server

• Armazena metadados
• Primeiro a se comunicar com cliente
• Armazenamento não persistentes de 
  endereços de chunk




                                 17
Master Server

• Armazena metadados
• Primeiro a se comunicar com cliente
• Armazenamento não persistentes de 
  endereços de chunk
• Outras funções
  o Alocação de chunk
  o Exclusão de chunks
  o Armazena estados sobre chunkservers



                                18
Master Server

• Operação log
  o Guarda mudanças críticas sobre mudanças nos 
    metadados




                                   19
Master Server

• Operação log
  o Guarda mudanças críticas sobre mudanças nos 
    metadados
  o É uma operação crítica
      Alta prioridade
      Várias cópias




                                   20
Esquema GFS




              21
Operações
     




            22
Operações

•   Interface POSIX
•    Criar, deletar, ler e escrever.
•   Captura instantânea (snapshots)
•   Gravação anexa (record append)
•   Termo: Mutação - operações que mudam o conteúdo do 
    metadata. 




                                           23
Operações - Leitura




1 - Aplicação informa (file name, byte range) para o Cliente 
GFS.
2 - Cliente GFS traduz o pedido da aplicação para (file name, 
chunk index).
3 - Master responde para o Cliente GFS com (chunk handle, 
replica locations).
                                              24
Operações - Leitura




4 - Cliente GFS manda para os Chunk Servers (chunk handle, 
byte range).
5 - Chunk Servers respondem com o dado do arquivo.
6 - Enfim, o Cliente GFS manda para aplicação o dado 
solicitado.

                                            25
Operações - Gravação




1 - Aplicação faz um pedido de escrita.
2 - O Cliente GFS traduz o pedido (file name, data) para (file 
name, chunk index) e manda ao master.
3 - O mestre responde com o (chunk handle, primary and 
secondary replica locations), localizações das réplicas.
                                                26
Operações - Gravação




4 - O cliente envia dados de escrita para todas as localidades. 
Os dados são armazenados em buffers internos dos 
chunkservers.


                                               27
Operações - Gravação




5 - O cliente manda o comando de escrita a réplica primária.
6 - Esta réplica determina a ordem em série das instâncias dos 
dados armazenados no
buffer e escreve nesta ordem no chunk.
7 - A primária manda a ordem aos secundários, requisitando a 
escrita.
                                              28
Operações - Gravação




8 - As secundárias respondem à primária.
9 - A primária responde ao cliente.




                                           29
Operações - Snapshot

• Cópias de um arquivo ou árvore de diretório com baixo 
  custo
• Prioritária 




                                            30
Operações - Record append

• Atomicidade
• Aplicações distribuídas, concorrência 
• GFS escolhe o local a ser gravado




                                           31
Operações - Garbage collector

• Exclusão lógica
• Prazo: 3 dias
• Operação Log




                           32
Tolerância a falhas
          




                 33
Tolerância a falhas


• Evitar falhas de componentes
• Componentes defeituosos podem resultar em:
   o sistema indisponível
   o dados corrompidos




                                         34
Alta disponibilidade

• Baseia-se em duas estratégias simples:
   o recuperação rapida
   o replicação



• Recuperação rápida:
  o reiniciar e carregar seu estado anterior em questão de 
    segundos
  o não existe diferenciação entre terminação normal e 
    anormal



                                             35
Alta disponibilidade

• Replicação:
  o cada chunk é replicado em múltiplos chunkservers
  o usuário pode especificar o nível de replicação (o padrão 
    é 3)
  o logs em master servers também são replicados




                                             36
Integridade de dados

• Somas de verificação (checksum) de 32 bits para cada 
  bloco de 64 KB
• Checksums são mantidos na mémoria
• Integridade é mantida em cada operação




                                           37
Integridade de dados (read)

• Requisição de leitura é feita para o chunkserver
  o verifica o checksum sobre os dados lidos
  o se um erro é encontrado:
      chunkserver avisa ao master e ao cliente do erro
      o cliente faz a leitura de uma réplica
      o master corrige o chunkserver incorreto através das 
       réplicas




                                             38
Integridade de dados (append)

• Atualiza o checksum antigo apenas incrementando a nova 
  soma
• Quando é necessário usar um novo bloco de dados, a soma 
  de verificação é calculada para o restante dos dados deste 
  bloco.




                                            39
Integridade de dados (write)

• Se uma operação de escrita sobrescreve uma série de 
  dados do chunk, é necessário verificar o primeiro e o último 
  bloco sendo sobrescrito
• Faz-se a escrita necessária
• Recalcula o checksum para todos os blocos modificados




                                              40
Ferramentas de diagnóstico

• Todos os servidores GFS geram logs de eventos:
   o chunkservers conectando e desconectando
   o todas as requisições e respostas
• Funcionalidade poderosa para:
   o encontrar erros
   o isolar problemas
   o medir desempenho
   o realizar testes
• Baixo custo
• Logs podem ser removidos sempre que necessário



                                         41
Conclusão

• Atende as principais propostas:
   o desempenho
   o tolerância a falhas
   o escalabilidade
• Fácil manutenção e barata
• Permite desenvolver aplicações de grande porte na escala 
  de toda a internet




                                            42
Referências

• http://static.googleusercontent.com/external_content/untrust
  ed_dlcp/labs.google.com/pt-BR//papers/gfs-sosp2003.pdf

• http://www.uio.no/studier/emner/matnat/ifi/INF5100/h10/und
  ervisningsmateriale/gfs.pdf




                                              43

Mais conteúdo relacionado

PDF
Google File System
PDF
Alta disponibilidade com PostgreSQL
ODP
PostgreSQL Transformando um elefante numa manada
PDF
PPT
Cluster e replicação em banco de dados
PDF
Gerenciamento de Backups PostgreSQL com pgbarman
PPTX
Apresentação PGDAY - Replicação Nativa - PostgreSQL
PDF
Alta Disponibilidade utilizando Pacemaker e DRBD
Google File System
Alta disponibilidade com PostgreSQL
PostgreSQL Transformando um elefante numa manada
Cluster e replicação em banco de dados
Gerenciamento de Backups PostgreSQL com pgbarman
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Alta Disponibilidade utilizando Pacemaker e DRBD

Mais procurados (20)

PDF
Alta Disponibilidade em Linux com Heartbeat e Drbd
PDF
ODP
Cluster de Alta Disponibilidade em Linux
ODP
Replicação PostgreSQL com RepManager
PDF
Ferramentas para Detecção de Problemas em Redes
PPT
Cluster de Alta disponibilidade
PPTX
Estou seguro com no sql
PDF
Linux Network Fault Tolerance
PPTX
Sistemas Distribuídos - Replicação de Banco de Dados
PDF
Distribuição de Dados em Escala Global com Cassandra
PDF
Alta Disponibilidade na Prática utilizando servidores Linux
PPSX
NFS – Network File System
PDF
Cluster ha com banco de dados
PPTX
Aula 3 (alta disponibilidade)
PDF
Como criar infraestrutura de sites para receber milhões de usuários?
PDF
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
DOC
Hardware memória principal
PPT
Memória Compartilhada Distribuída (DSM)
PDF
Redes prática - NFS
PDF
Alta Disponibilidade
Alta Disponibilidade em Linux com Heartbeat e Drbd
Cluster de Alta Disponibilidade em Linux
Replicação PostgreSQL com RepManager
Ferramentas para Detecção de Problemas em Redes
Cluster de Alta disponibilidade
Estou seguro com no sql
Linux Network Fault Tolerance
Sistemas Distribuídos - Replicação de Banco de Dados
Distribuição de Dados em Escala Global com Cassandra
Alta Disponibilidade na Prática utilizando servidores Linux
NFS – Network File System
Cluster ha com banco de dados
Aula 3 (alta disponibilidade)
Como criar infraestrutura de sites para receber milhões de usuários?
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Hardware memória principal
Memória Compartilhada Distribuída (DSM)
Redes prática - NFS
Alta Disponibilidade
Anúncio

Semelhante a Gfs slides (20)

PDF
Cap-6-Multiplrocessadores.pdf
PDF
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PDF
Apresentação GT - Digital Preservation
PDF
Arquitetura de computadores - memória cache parte 3
PPT
Arquitetura 8 1 - 2012.2
PPT
Arquitetura 8 1 - 2012.2
PPTX
19-Sistemas Distribuidos.pptx
PPTX
Microarquitetura Intel Core Duo
PDF
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - Fatree
PDF
Otimizacao de websites em PHP
PPT
Apostila 2 conceitos de hardware e software
PDF
SNMP - Rafael Rodriques
PPTX
Resumos sobre tecnologias de informação e conceitos basicos
PDF
Virtualização de Banco de Dados por Bruno Domingues
PPT
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
PDF
Processos e threads cap 02 (i unidade)
PDF
Kernel do Linux
PDF
Arquitetura de computadores – memórias
PPTX
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017
PDF
memorias
Cap-6-Multiplrocessadores.pdf
PostgreSQL Tuning: O elefante mais rápido que um leopardo
Apresentação GT - Digital Preservation
Arquitetura de computadores - memória cache parte 3
Arquitetura 8 1 - 2012.2
Arquitetura 8 1 - 2012.2
19-Sistemas Distribuidos.pptx
Microarquitetura Intel Core Duo
A SCALABLE, COMMODITY DATA CENTER NETWORK ARCHITECTURE - Fatree
Otimizacao de websites em PHP
Apostila 2 conceitos de hardware e software
SNMP - Rafael Rodriques
Resumos sobre tecnologias de informação e conceitos basicos
Virtualização de Banco de Dados por Bruno Domingues
Projeto InterVoIP - Arquitetura - I Workshop CPqD de Inovação Tecnológica em ...
Processos e threads cap 02 (i unidade)
Kernel do Linux
Arquitetura de computadores – memórias
Producao Segura de Containers com Kubernetes e CoreOS - QCONSP 2017
memorias
Anúncio

Gfs slides