Discos & Cia em PostgreSQL

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Discos & Cia em PostgreSQL - Presentation Transcript

    1. Tudo que você queria saber sobre o  uso de discos em servidores  PostgreSQL e tinha vergonha de  perguntar por Fábio Telles Rodriguez    
    2. Agenda  Discos  Controladoras  Storage  RAID  Sistemas de Arquivo  Particionamento  Exemplos práticos    
    3. Discos  SATA – Baixo desempenho  SCSI – Substituído pelo SAS  SAS – Armazenamento local  Fibre Channel – Utilizado em storages   SSD – Hot files!    
    4. Discos Capacidade Latência Custo / Custo / Tecnologia (GB) (µs) IOPS IOPS (USD) GB (USD) Cloud Storage Ilimitado 60.000 20 0,015/GB 0,15 / mês HDs de alta capacidade 2.500 12.000 250 1,67 0,15 HDs de alto desempenho 300 7.000 500 1,52 1,30 SSD (escrita) 64 300 5.000 0,20 13 SSD (leitura) 64 45 30.000 0,03 13 DRAM 8 0,005 500.000 0,001 52 Fonte: (Sun) Database performance tuning for SSD based storage    
    5. Solid State Disks  RAM:   Storages com memórias RAM conectadas por FC;  Baterias alimentam discos que gravam conteúdo da  RAM em caso de falta de energia;  600.000 IOPS !!!  Flash:  Uso de SLC Flash, algorítimos especiais e outras  técnicas para aumentar a vida útil e desempenho;  100.000 IOPS !!!  Flash + RAM    
    6. Controladoras ou melhor: Host Bus Adapter (HBA)  Discos locais:  SATA,  SAS, SCSI  Número de discos suportados  Buffer de leitura e Buffer de escrita  Bateria interna X Bateria externa  Suporte a RAID  Storage:  ISCSI, FC, Infiniband  Uso de fabric  Software p/ load balance e fail over    
    7. Storage  Suporte a discos: SATA, SAS, SCSI, FC  Suporte a vários tipos de RAID  Suporte a diversas interfaces: Infiniband, FC, iSCSI  Buffer gerenciável de 2GB a 256GB   Baterias confiáveis  Software para tuning, snapshot, gerencimento, etc  Redundância de controladoras, discos, HBAs,  fontes, baterias, ventoinhas, etc;    
    8. RAID Redundant Array of Independent Drives  JBOD (just a bonch of disks)  RAID 0 (strip)  RAID 1 (mirror)  RAID 2, RAID 3, RAID 4  RAID 5 (paridade distribuída)  RAID 6 (paridade dupla distribuída)  RAID 10 (strip + mirror)    
    9. RAID 1 300 2x 1X Baixo Discos: 4x 300GB (sem hot spare) Tipo Espaço (GB) Leitura Gravação Risco 5 900 3x 1,5X Médio 6 600 2x 1,5X Baixo 10 600 2x 2x Baixo Discos: 8x 300GB (sem hot spare) Tipo Espaço (GB) Leitura Gravação Risco 5 2100 7x 3x Alto 6 1800 6x 3x Médio 10 1200 4x 4x Baixo    
    10. Sisemas de Arquivos  Linux:  EXT2, EXT3, EXT4, XFS, ReiserFS  FreeBSD:   UFS2  Solaris:   UFS2, ZFS  Windows  FAT, NTFS    
    11. Sistemas de Arquivos  Desempenho:  Testes c/ pgbench (em linux):  $ pgbench ­i 1000 testedb  $ pgbench ­c 100 ­T 3600  EXT2 >> XFS > EXT4 > EXT3 > ReiserFS  Segurança  EXT4 = EXT3 = XFS > ReixerFS >> EXT2    
    12. Particionamento  Porquê separar diferentes tipos de arquivos?  Desempenho;  Segurança;  Facilidade de administração.  Ambientes críticos e com boa mão de obra  dedicada: divisão agressiva;  Ambiente não crítico com mão de obra ocasional:  agrupamento em poucas partições.    
    13. Particionamento  SO: /boot, /var, /usr, /home, /tmp, /  swap;  Log de trasação: pg_xlog,  mv /postgres/teste/pg_xlog/ /postgres  ln -s /postgres/pg_xlog /postgres/teste/pg_xlog   Aquivamento (postgresql.conf);  archive_mode = on  archive_command = 'cp "%p" /postgres/archive/"%f"'  archive_timeout = 3600  Logs de erro e monitoramento; http://www.postgresql.org/docs/current/static/runtime­config­logging.html#RUNTIME­CONFIG­LOGGING­WHERE  Backup local;    
    14. Particionamento  Tablespaces temporário (postgresql.conf):   temp_tablespaces = '/postgres/temp'  Tablespaces por tipo ou uso (index, data, hist,  OLTP, BI, etc)  mkdir /postgres/data /postgres/index /postgres/old /postgres/rh  CREATE TABLESPACE data LOCATION '/postgres/data';  CREATE TABLESPACE data LOCATION '/postgres/index';  CREATE TABLESPACE data LOCATION '/postgres/old';  CREATE TABLESPACE data OWNER 'hr' LOCATION '/postgres/index'  SET default_tablespace = '/postgres'    
    15. Particionamento  O que particionar, o que separar em discos / RAIDs  distintos?  Depende de quantos discos, RAIDs você tem  disponível;  Depende da mão­de­obra disponível;  Depende do perfil da carga da aplicação;  Depende do volume e tipo de dados da aplicação;    
    16. Exemplos práticos Caso 1 - Ambiente  Base de 50GB;  Aplicação com 50 usuários, carga mista de OLTP e  relatórios;  Sem DBA dedicado;  Baixo poder de investimento;  Ambiente não crítico;  Discos: 2 discos SAS 300GB.    
    17. Exemplos práticos Caso 1 - Sugestão  RAID 1;  /boot (100MB)  / (40GB)  /postgres (dados) (120GB)  /backup (backup) (120GB)  swap (4GB)    
    18. Exemplos práticos Caso 2 - Ambiente  Base de 10GB;  Aplicação Web com milhares de acessos  simultâneos;  Administrador de sistema monitora o PostgreSQL  com frequência;  Disponibilidade e desempenho críticos;  Discos: 5 discos SAS 300GB.    
    19. Exemplos práticos Caso 2 - Sugestão  1º RAID 1;  /boot (100MB)  / (50GB)   /postgres/pg_xlog  (20GB)  /backup (backup) (200GB)  swap (8GB)  2º RAID 1 + Hot Spare  /postgres/data (300GB)    
    20. Exemplos práticos Caso 3 - Ambiente  ERP c/ 250 GB:  OLTP c/ 500 usuários simultâneos;  Relatórios pesados de fechamento mensal;  Cargas em lote diárias;  DBA + Sysadmin;  Disponibilidade + perda de dados + desempenho  críticos;  Discos: 12 discos SAS 300GB.    
    21. Exemplos práticos Caso 3 - Sugestão  RAID 1 + hot spare / 15Krpm:  /boot (100MB);  / (20GB);  /var (20GB);  /postgres/pg_xlog (50GB)  swap (8GB)    
    22. Exemplos práticos Caso 3 – Sugestão (continuação)  RAID 10 c/ 4 discos (10Krpm):  /postgres/archive (200GB);  /postgres/backup (400GB);  RAID 4 c/ 4 discos + hot spare / 15Krpm:  /postgres/data (600GB);    
    23. Exemplos práticos Caso 4 – Ambiente  OLAP + Data Mining (1TB)  Cargas pesadas à noite;  Poucos usuários realizando consultas complexas;  Desempenho crítico;  DBA e Sysadmin c/ nível sênior;  3 discos locais: SAS 300GB 10Krpm  12 discos em storage: FC 146GB 15Krpm   6 discos em storage: SAS 300GB 10Krpm    
    24. Exemplos práticos Caso 4 – Sugestão  RAID 1 + Hot Spare ­ local  /boot (100MB)  / (50GB)   /var (50GB)  /postgresql/pg_xlog (200GB) – EXT3 c/ noatime  swap (16GB)    
    25. Exemplos práticos Caso 4 – Sugestão (continuação)  RAID 5 c/ 5 discos SAS 10Krpm + hot spare:  /postgresql/data/old (800GB) – XFS  /postgresql/archive (400GB) – EXT3 c/ noatime +  writeback  RAID 0 c/ 3 discos FC 15Krpm ­ Storage:  /postgresql/data/temp (226GB) – EXT2  RAID 10 c/ 8 discos FC15Krpm + hot spare:  /postgresql/data/new (568 GB) – XFS c/ noatime    
    26. Obrigado!  Perguntas, Sugestões e cervejas!  Contatos:  telles@timbira.com.br  gtalk/msn/mail: fabio.telles@gmail.com  Skype: fabio_telles  http://www.midstorm.org.br    

    + Fábio Telles RodriguezFábio Telles Rodriguez, 1 month ago

    custom

    100 views, 1 favs, 0 embeds more stats

    Tudo o que você queria saber sobre o uso de discos more

    More info about this document

    CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

    Go to text version

    • Total Views 100
      • 100 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 4
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories