SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Globalcode – Open4education
Trilha banco de dados - SSD no
banco de dados é bom mesmo?
Dr. Mauro Pichiliani
mauro@pichiliani.com.br
Globalcode – Open4education
Quem sou eu
Mestre e doutor em computação pelo ITA
Escritor da SQL Magazine, .NET e Java Magazine
Colaborador do iMasters há 15 anos
Autor do livro “Conversando sobre banco de dados”
Co-produtor do DatabaseCast
Consultor independente e autor de cursos on-line
Globalcode – Open4education
Agenda
Subsistema de armazenamento
SSD: opções de mercado
Vale a pena? Show me the money!
Análise dos resultados
Conclusão
Globalcode – Open4education
Subsistema de armazenamento
Possui vários componentes: conheça todos!
Simplificando:
Tecnologia de transferência
Hardware/Software
Tecnologias de transferência comuns:
USB 2.0: 480 Mbit/s
SATA (Seria AT Attachment): 6 Gbit/s
SAS (Serial Attached SCSI): 12 Gbit/s
Globalcode – Open4education
Hardware – HD magnética
HD (Hard Disk) magnética
Também chamada de HDD (High-capacity hard disk
drive)
Componentes mecânicos (sujeito a falhas)
Grande quantidade de dados (Terabytes)
Memória cache interna
Característica RPM (rotações por minuto):
5.400 rpm: notebooks
7.200 rpm: desktops
15.000 (15k) rpm: servidores
Globalcode – Open4education
Hardware – SSD
SSD (Solid State Drive): “revolução” na área
Também chamado de flash drive
Sem componentes mecânicos: memória flash + memória
cache interna
Média quantidade de dados (Gigabytes)
Alta taxa de transferência de dados
Requer alguns cuidados especiais
Velocidades variam muito de acordo com cada fabricante
Relação custo x benefício
Nota: não se esqueça do tempo de vida!
Globalcode – Open4education
Hardware/Software - Ramdrive
Ramdrive: mapear memória RAM em um drive
Tecnologia “antiga”, mas com novidades
Reserva memória RAM de forma exclusiva
Reduz memória para processos do SO
Volátil, porém pode-se exportar drive (ISO)
Alta velocidade (barramento interno)
Baixa quantidade de armazenamento (gigabytes)
Não é limitado pela tecnologia de transferência
Exemplo: SoftPerfect RAM Disk
Globalcode – Open4education
Hardware/Software - Nuvem
 Utilizam ambiente virtualizado: hypervisor (Xen, KVM,
Virtual PC, etc)
 Custo por uso ou valor fixo mensal
 Possibilidade de adição de recursos (modelo de
escalonamento horizontal/banco distribuído)
 Componentes virtualizados
 Ambiente com recursos compartilhados
 Baixa velocidade
 Quantidade de armazenamento variável
 SLA de IOPS em alguns casos
Globalcode – Open4education
SSD: Opções de mercado
Geralmente storage híbrido ou completo (all-flash)
Cuidado com DAS (direto) e NAS/SAN (remoto)
Fatores: IOPS, latência e throughput
Preço varia de acordo com componentes e contrato
Linhas de produtos específicos para bancos de dados
Dica: canais do YouTube contêm muita informação!
Exemplos:
EMC Unity 300F All-flash
http://bit.ly/299bxHJ
Dell PowerVault MD1220
Híbrido
http://dell.to/2989YxX
Globalcode – Open4education
Vale a pena? Comparando
desempenho
Comparação empírica: medir taxa de acesso para (1) importar/exportar
dados; (2) backup/restore; e (3) executar transações
Comparação justa e prática: ambientes devem realizar a mesma tarefa (ler e
gravar dados por meio do banco de dados)
Opções comparadas:
HD magnética 5400 rpm mSATA (notebook): HD 5400
HD magnética 7200 rpm SATA (desktop): HD 7200
SSD 250 GB SATA (desktop): SSD
Ramdrive 10 GB (desktop): ramdrive
Nuvem fornecedor X com HD normal: Cloud normal
Nuvem fornecedor X com HD SSD: Cloud SSD
Comparação apenas com uma instância (sem ambiente distribuído)
Testes realizados sem opções de paralelismo e RAID
Globalcode – Open4education
Ambiente: Hardware e software
Hardware:
Desktop Intel Core i950 (4 cores @ 3.06 GHZ), 16GB RAM: HD 7200, SSD, ramdrive
Notebook Dell Inspiron 14 (i3, 2 cores @ 1.7Ghz), 4 GB RAM: HD 5400
CPU virtual (Intel Xeon 2 cores @ 2.6 Ghz): Cloud normal e Cloud SSD
Software:
Crystal Disk Mark 64 bits (baseline)
SQL Server 2014 Standard
Windows Server 2008
Sistema de arquivos NTFS com opções padrão
Ambiente, protoloco do experimento, dados e análises disponíveis futuramente
no site da revista SQL Magazine
Globalcode – Open4education
Ambiente: Dados
Arquivos/Tabela com 11 colunas: 1 int + 10 float
Coluna int (sequêncial) + valores float aleatórios (entre 1,00 e 100.000,00)
Arquivo CSV com linhas (N) variando de 1.000.000 a 10.000.000
Quantidade de transações (N) variando de 10.000 a 100.000
Medição da taxa de transferência em Megabytes por segundo (MB/s):
Crystal Disk Mark: informado pela ferramenta
Backup/Restore: informado pelo comando
Importação/Exportação: tamanho do arquivo dividido pelo tempo
Medição de transações pelo tempo total gasto em segundos
Cada teste foi realizado 10 vezes e obtida a média
Arquivos de dados, transaction log e arquivos CSV no mesmo drive
Espaço em disco alocado previamente para arquivos de dados e log
Sem configurações de cache, lock e parâmetros específicos
Recovery model: bulk-logged
Globalcode – Open4education
Baseline: Crystal Disk Mark
Testes com o Crystal Disk Mark mediram taxa de transferência de
dados em MB/s: quanto maior, melhor
4 testes internos para leitura e gravação:
Seq Q32T1: Leitura/Gravação sequencial (tam. bloco = 128KB) com múltiplas filas
(queues) e threads
4K Q32T1: Leitura/Gravação randômica (tam. do bloco = 4KB) com múltiplas filas
(queues) e threads
Seq: Leitura/Gravação sequencial (tam. do bloco = 1MB) com uma única thread
4K: Leitura/Gravação randômica (tam. do bloco = 4KB) com uma thread e uma fila
(queue)
Globalcode – Open4education
Crystal Disk Mark – Resultado leitura
Na média geral SSD foi 73% mais rápido que HD 7200
Globalcode – Open4education
Crystal Disk Mark – Resultado
gravação
Na média geral SSD foi 73% mais rápido que HD 7200
Globalcode – Open4education
(1) Testes de backup/restore
Testes de backup/restore mediram taxa de transferência de dados em
MB/s: quanto maior, melhor
Backup e restore completo (full) do banco
Somente um backup por arquivo (backup device)
Checagem de arquivo não computada no valor de MB/s retornado
Globalcode – Open4education
Testes de restore (leitura)
Na média geral SSD foi 53% mais rápido que HD 7200
Globalcode – Open4education
Testes de backup (gravação)
Na média geral SSD foi 78% vezes mais rápido que HD 7200
Globalcode – Open4education
(2) Testes de importação e
exportação
Testes de importação/exportação mediram taxa de transferência de
dados em MB/s: quanto maior, melhor
Testes de importação/exportação divididos em dois grupos:
Importação/exportação linha a linha de arquivos CSV (BCP)
Importação/exportação direta binária dos arquivos (BULK)
Importação BCP: utilitário de linha de comando bcp
Importação BULK: SELECT com função OPENROWSET()
Exportação BCP: utilitário de linha de comando bcp
Exportação BULK: utilitário de linha de comando bcp com parâmetro -c
A cada operação de importação/exportação:
Limpeza do cache
Backup de transaction log
Globalcode – Open4education
Testes de importação BCP (leitura)
Na média geral SSD e HD 7200 foram praticamente iguais no teste
Globalcode – Open4education
Testes de exportação BCP (gravação)
Na média geral SSD e HD 7200 foram praticamente iguais no teste
Globalcode – Open4education
Testes de importação BULK (leitura)
Na média geral SSD foi 53% mais rápido que HD 7200
Globalcode – Open4education
Testes de exportação BULK (gravação)
Na média geral SSD foi 48% mais rápido que HD 7200
Globalcode – Open4education
(3) Testes de transações
Testes de transações mediram o tempo de execução: quanto menor,
melhor
Testes de transação divididos em dois grupos:
Individuais: cada instrução é uma transação
Agrupadas: todas as instruções dentro de uma única transação
Uso do comando INSERT dentro de script com loop: mesmos dados
dos arquivos CSV
N variando de 10.000 a 100.000 por motivos de duração de testes
A cada teste de transação:
Limpeza do cache
Backup de transaction log
Globalcode – Open4education
Testes de transações individuais
Na média geral SSD e HD 7200 foram praticamente iguais no teste
Globalcode – Open4education
Testes de transações agrupadas
Na média geral RAMDRIVE, SSD, HD 7200, HD 5400 foram praticamente
iguais no teste
Globalcode – Open4education
Tabela de resultados
Tipo de
teste
Detalhe do
teste
Último
colocado
Valor
Médio
último
colocado
(MB/s)
Primeiro
colocado
Valor médio
primeiro
colocado
(MB/s)
Crystal
Disk Mark -
Leitura
4K HD 5400 0,3 ramdrive 1.216,4
SEQ Cloud SSD 25,2 ramdrive 5.778,6
4K Q32T1 HD 5400 0,5 ramdrive 1.079,1
SEQ Q32T1 Cloud SSD 25,2 ramdrive 3.905,8
Crystal
Disk Mark -
Gravação
4K HD 5400 0,7 ramdrive 937
SEQ Cloud SSD 25,2 ramdrive 6.592,5
4K Q32T1 HD 5400 0,7 ramdrive 910,7
SEQ Q32T1 Cloud SSD 25,2 ramdrive 5.504,1
Restore
(leitura)
Restore
Cloud SSD 3,5 ramdrive 1.024,7
Backup
(gravação)
Backup
Cloud SSD 13 ramdrive 2.332,2
Importação
(leitura)
BCP HD 5400 5,8 ramdrive 20,4
Bulk insert Cloud SSD 52,3 ramdrive 4.071,5
Exportação
(gravação)
BCP HD 5400 5,5 ramdrive 11,2
Bulk export Cloud SSD 8,8 ramdrive 115,9
Transações Individual Cloud SSD 37,3s ramdrive 1,7s
Agrupado HD 5400 0,6s
SSD,
HD 7200,
ramdrive
0,4s
Globalcode – Open4education
Análise dos resultados
ramdrive teve melhor desempenho seguido de SSD
SSD é mais rápido ou igual que HD 7200
em todos os testes (média de 63% mais rápida)
Opções na nuvem deixaram muito a desejar:
Em alguns casos, resultados piores que HD 5400
Diferença de preço de Cloud SSD para Cloud HD não possui boa relação custo x
benefício
Opções na nuvem apresentaram muita variações nos testes (fatores
externos?)
Memória virtual não foi usada em nenhum dos cenários de testes
Críticas:
Poucas opções de nuvem testadas
Sem uso de RAID e storage específico
Ambiente Windows e SQL Server apenas
Globalcode – Open4education
Conclusão
P: SSD no banco de dados é bom mesmo?
R: Sim, mas o quão bom depente da tarefa!
Não esqueça de colocar custos na discussão!
Há evidências empíricas que sugerem melhor desempenho de opções
em memória (ramdrive e SSD) em relação às demais
Há evidência que sugerem que opção na nuvem não é a mais “rápida”
Muitas técnicas podem ser aplicadas para melhorar taxas de
transferências e tempos de execução
Não concorda com os resultados?
Replique o experimento
Me contrate para uma consultoria! 
Globalcode – Open4education
Perguntas?
Dr. Mauro Pichiliani
mauro@pichiliani.com.br
@pichiliani
@databasecast

Mais conteúdo relacionado

Mais procurados

Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Olivier DASINI
 
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data AnalyticsSupersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analyticsmason_s
 
Ubuntu tutorial slides
Ubuntu tutorial slidesUbuntu tutorial slides
Ubuntu tutorial slidesTrung Nguyen
 
02 - Hadoop. Архитектура HDFS
02 - Hadoop. Архитектура HDFS02 - Hadoop. Архитектура HDFS
02 - Hadoop. Архитектура HDFSRoman Brovko
 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesSean Chittenden
 
PostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with groupingPostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with groupingAlexey Bashtanov
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookThe Hive
 
MariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and OptimizationMariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and OptimizationMariaDB plc
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxNeoClova
 
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsMongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsSteven Francia
 
Resolving Firebird performance problems
Resolving Firebird performance problemsResolving Firebird performance problems
Resolving Firebird performance problemsAlexey Kovyazin
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephRongze Zhu
 
Inside the Volta GPU Architecture and CUDA 9
Inside the Volta GPU Architecture and CUDA 9Inside the Volta GPU Architecture and CUDA 9
Inside the Volta GPU Architecture and CUDA 9inside-BigData.com
 
History of jQuery
History of jQueryHistory of jQuery
History of jQueryjeresig
 
05 - Hadoop. Парадигма MapReduce и фреймворк MapReduce
05 - Hadoop. Парадигма MapReduce и фреймворк MapReduce05 - Hadoop. Парадигма MapReduce и фреймворк MapReduce
05 - Hadoop. Парадигма MapReduce и фреймворк MapReduceRoman Brovko
 
Solving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsSolving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsAlexander Korotkov
 

Mais procurados (20)

Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8Case Study: MySQL migration from latin1 to UTF-8
Case Study: MySQL migration from latin1 to UTF-8
 
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data AnalyticsSupersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
Supersized PostgreSQL: Postgres-XL for Scale-Out OLTP and Big Data Analytics
 
Ceph on arm64 upload
Ceph on arm64   uploadCeph on arm64   upload
Ceph on arm64 upload
 
Système RAID
Système RAIDSystème RAID
Système RAID
 
Ubuntu tutorial slides
Ubuntu tutorial slidesUbuntu tutorial slides
Ubuntu tutorial slides
 
02 - Hadoop. Архитектура HDFS
02 - Hadoop. Архитектура HDFS02 - Hadoop. Архитектура HDFS
02 - Hadoop. Архитектура HDFS
 
The Google Bigtable
The Google BigtableThe Google Bigtable
The Google Bigtable
 
PostgreSQL + ZFS best practices
PostgreSQL + ZFS best practicesPostgreSQL + ZFS best practices
PostgreSQL + ZFS best practices
 
PostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with groupingPostgreSQL, performance for queries with grouping
PostgreSQL, performance for queries with grouping
 
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of FacebookTech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
Tech Talk: RocksDB Slides by Dhruba Borthakur & Haobo Xu of Facebook
 
MariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and OptimizationMariaDB Performance Tuning and Optimization
MariaDB Performance Tuning and Optimization
 
MySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docxMySQL_SQL_Tunning_v0.1.3.docx
MySQL_SQL_Tunning_v0.1.3.docx
 
MongoDB, E-commerce and Transactions
MongoDB, E-commerce and TransactionsMongoDB, E-commerce and Transactions
MongoDB, E-commerce and Transactions
 
Resolving Firebird performance problems
Resolving Firebird performance problemsResolving Firebird performance problems
Resolving Firebird performance problems
 
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on CephBuild an High-Performance and High-Durable Block Storage Service Based on Ceph
Build an High-Performance and High-Durable Block Storage Service Based on Ceph
 
Inside the Volta GPU Architecture and CUDA 9
Inside the Volta GPU Architecture and CUDA 9Inside the Volta GPU Architecture and CUDA 9
Inside the Volta GPU Architecture and CUDA 9
 
Introduction to redis
Introduction to redisIntroduction to redis
Introduction to redis
 
History of jQuery
History of jQueryHistory of jQuery
History of jQuery
 
05 - Hadoop. Парадигма MapReduce и фреймворк MapReduce
05 - Hadoop. Парадигма MapReduce и фреймворк MapReduce05 - Hadoop. Парадигма MapReduce и фреймворк MapReduce
05 - Hadoop. Парадигма MapReduce и фреймворк MapReduce
 
Solving PostgreSQL wicked problems
Solving PostgreSQL wicked problemsSolving PostgreSQL wicked problems
Solving PostgreSQL wicked problems
 

Semelhante a SSD no banco de dados é bom mesmo?

[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows AzureVitor Tomaz
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server EmbratelAlex Hübner
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni
 
Isolamento e mvcc
Isolamento e mvccIsolamento e mvcc
Isolamento e mvccLocaweb
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)Caio Candido
 
Apresentação symantec backup e archiving
Apresentação symantec backup e archivingApresentação symantec backup e archiving
Apresentação symantec backup e archivingAllen Informática
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?tdc-globalcode
 
Build smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database ServicesBuild smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database ServicesFabrício Catae
 
Comparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLComparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLpichiliani
 
Segurança no Armazenamento
Segurança no ArmazenamentoSegurança no Armazenamento
Segurança no Armazenamentoelliando dias
 
Seus Dados estão em toda a parte . Seu Backup também não deveria estar?
Seus Dados estão em toda a parte . Seu Backup também não deveria estar? Seus Dados estão em toda a parte . Seu Backup também não deveria estar?
Seus Dados estão em toda a parte . Seu Backup também não deveria estar? Bravo Tecnologia
 
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...Rodrigo Immaginario
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHPFelipe Ribeiro
 

Semelhante a SSD no banco de dados é bom mesmo? (20)

[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure[24HOP] SQL Server em maquinas virtuais do Windows Azure
[24HOP] SQL Server em maquinas virtuais do Windows Azure
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Cloud Server Embratel
Cloud Server EmbratelCloud Server Embratel
Cloud Server Embratel
 
NoSQL Livre
NoSQL LivreNoSQL Livre
NoSQL Livre
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration SampleValdir Adorni - Infra and S.A.N Assessment Integration Sample
Valdir Adorni - Infra and S.A.N Assessment Integration Sample
 
Isolamento e mvcc
Isolamento e mvccIsolamento e mvcc
Isolamento e mvcc
 
Discos & Cia em PostgreSQL
Discos & Cia em PostgreSQLDiscos & Cia em PostgreSQL
Discos & Cia em PostgreSQL
 
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
DevOps containers x86 - Baremetal, Virtual e Cloud (pt_br)
 
Apresentação symantec backup e archiving
Apresentação symantec backup e archivingApresentação symantec backup e archiving
Apresentação symantec backup e archiving
 
SQLSat #127
SQLSat #127SQLSat #127
SQLSat #127
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
Build smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database ServicesBuild smarter and scalable applications using Microsoft Azure Database Services
Build smarter and scalable applications using Microsoft Azure Database Services
 
Comparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLComparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQL
 
PostgreSQL Conceitos e aplicações
PostgreSQL  Conceitos e aplicaçõesPostgreSQL  Conceitos e aplicações
PostgreSQL Conceitos e aplicações
 
Webinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWSWebinar: Data warehouse na nuvem da AWS
Webinar: Data warehouse na nuvem da AWS
 
Segurança no Armazenamento
Segurança no ArmazenamentoSegurança no Armazenamento
Segurança no Armazenamento
 
Seus Dados estão em toda a parte . Seu Backup também não deveria estar?
Seus Dados estão em toda a parte . Seu Backup também não deveria estar? Seus Dados estão em toda a parte . Seu Backup também não deveria estar?
Seus Dados estão em toda a parte . Seu Backup também não deveria estar?
 
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
Dicas e Truques de Performance: Como obter o maximo do Windows Server 2008 R2...
 
Otimizacao de websites em PHP
Otimizacao de websites em PHPOtimizacao de websites em PHP
Otimizacao de websites em PHP
 

Mais de pichiliani

Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade AumentadaRastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade Aumentadapichiliani
 
Interfaces hands free para o mundo atual e pós-Corona vírus
Interfaces hands free para o mundo atual  e pós-Corona vírusInterfaces hands free para o mundo atual  e pós-Corona vírus
Interfaces hands free para o mundo atual e pós-Corona víruspichiliani
 
The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...pichiliani
 
Machine Learning & Machine Teaching
Machine Learning & Machine TeachingMachine Learning & Machine Teaching
Machine Learning & Machine Teachingpichiliani
 
TJBot: Incorporando um chatbot em um robô
TJBot:  Incorporando um chatbot em um robôTJBot:  Incorporando um chatbot em um robô
TJBot: Incorporando um chatbot em um robôpichiliani
 
Carreira de cientista
Carreira de cientistaCarreira de cientista
Carreira de cientistapichiliani
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimentopichiliani
 
O papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learningO papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learningpichiliani
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowpichiliani
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLpichiliani
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka? pichiliani
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualpichiliani
 
MediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastMediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastpichiliani
 
Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015pichiliani
 
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...pichiliani
 
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...pichiliani
 
Como lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQLComo lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQLpichiliani
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimentopichiliani
 
Projeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement ApplicationProjeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement Applicationpichiliani
 
HTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement ApplicationHTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement Applicationpichiliani
 

Mais de pichiliani (20)

Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade AumentadaRastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
 
Interfaces hands free para o mundo atual e pós-Corona vírus
Interfaces hands free para o mundo atual  e pós-Corona vírusInterfaces hands free para o mundo atual  e pós-Corona vírus
Interfaces hands free para o mundo atual e pós-Corona vírus
 
The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...
 
Machine Learning & Machine Teaching
Machine Learning & Machine TeachingMachine Learning & Machine Teaching
Machine Learning & Machine Teaching
 
TJBot: Incorporando um chatbot em um robô
TJBot:  Incorporando um chatbot em um robôTJBot:  Incorporando um chatbot em um robô
TJBot: Incorporando um chatbot em um robô
 
Carreira de cientista
Carreira de cientistaCarreira de cientista
Carreira de cientista
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
 
O papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learningO papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learning
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQL
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka?
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtual
 
MediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastMediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCast
 
Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015
 
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
 
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
 
Como lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQLComo lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQL
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
 
Projeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement ApplicationProjeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement Application
 
HTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement ApplicationHTMA: Hand Tremor Measurement Application
HTMA: Hand Tremor Measurement Application
 

SSD no banco de dados é bom mesmo?

  • 1. Globalcode – Open4education Trilha banco de dados - SSD no banco de dados é bom mesmo? Dr. Mauro Pichiliani mauro@pichiliani.com.br
  • 2. Globalcode – Open4education Quem sou eu Mestre e doutor em computação pelo ITA Escritor da SQL Magazine, .NET e Java Magazine Colaborador do iMasters há 15 anos Autor do livro “Conversando sobre banco de dados” Co-produtor do DatabaseCast Consultor independente e autor de cursos on-line
  • 3. Globalcode – Open4education Agenda Subsistema de armazenamento SSD: opções de mercado Vale a pena? Show me the money! Análise dos resultados Conclusão
  • 4. Globalcode – Open4education Subsistema de armazenamento Possui vários componentes: conheça todos! Simplificando: Tecnologia de transferência Hardware/Software Tecnologias de transferência comuns: USB 2.0: 480 Mbit/s SATA (Seria AT Attachment): 6 Gbit/s SAS (Serial Attached SCSI): 12 Gbit/s
  • 5. Globalcode – Open4education Hardware – HD magnética HD (Hard Disk) magnética Também chamada de HDD (High-capacity hard disk drive) Componentes mecânicos (sujeito a falhas) Grande quantidade de dados (Terabytes) Memória cache interna Característica RPM (rotações por minuto): 5.400 rpm: notebooks 7.200 rpm: desktops 15.000 (15k) rpm: servidores
  • 6. Globalcode – Open4education Hardware – SSD SSD (Solid State Drive): “revolução” na área Também chamado de flash drive Sem componentes mecânicos: memória flash + memória cache interna Média quantidade de dados (Gigabytes) Alta taxa de transferência de dados Requer alguns cuidados especiais Velocidades variam muito de acordo com cada fabricante Relação custo x benefício Nota: não se esqueça do tempo de vida!
  • 7. Globalcode – Open4education Hardware/Software - Ramdrive Ramdrive: mapear memória RAM em um drive Tecnologia “antiga”, mas com novidades Reserva memória RAM de forma exclusiva Reduz memória para processos do SO Volátil, porém pode-se exportar drive (ISO) Alta velocidade (barramento interno) Baixa quantidade de armazenamento (gigabytes) Não é limitado pela tecnologia de transferência Exemplo: SoftPerfect RAM Disk
  • 8. Globalcode – Open4education Hardware/Software - Nuvem  Utilizam ambiente virtualizado: hypervisor (Xen, KVM, Virtual PC, etc)  Custo por uso ou valor fixo mensal  Possibilidade de adição de recursos (modelo de escalonamento horizontal/banco distribuído)  Componentes virtualizados  Ambiente com recursos compartilhados  Baixa velocidade  Quantidade de armazenamento variável  SLA de IOPS em alguns casos
  • 9. Globalcode – Open4education SSD: Opções de mercado Geralmente storage híbrido ou completo (all-flash) Cuidado com DAS (direto) e NAS/SAN (remoto) Fatores: IOPS, latência e throughput Preço varia de acordo com componentes e contrato Linhas de produtos específicos para bancos de dados Dica: canais do YouTube contêm muita informação! Exemplos: EMC Unity 300F All-flash http://bit.ly/299bxHJ Dell PowerVault MD1220 Híbrido http://dell.to/2989YxX
  • 10. Globalcode – Open4education Vale a pena? Comparando desempenho Comparação empírica: medir taxa de acesso para (1) importar/exportar dados; (2) backup/restore; e (3) executar transações Comparação justa e prática: ambientes devem realizar a mesma tarefa (ler e gravar dados por meio do banco de dados) Opções comparadas: HD magnética 5400 rpm mSATA (notebook): HD 5400 HD magnética 7200 rpm SATA (desktop): HD 7200 SSD 250 GB SATA (desktop): SSD Ramdrive 10 GB (desktop): ramdrive Nuvem fornecedor X com HD normal: Cloud normal Nuvem fornecedor X com HD SSD: Cloud SSD Comparação apenas com uma instância (sem ambiente distribuído) Testes realizados sem opções de paralelismo e RAID
  • 11. Globalcode – Open4education Ambiente: Hardware e software Hardware: Desktop Intel Core i950 (4 cores @ 3.06 GHZ), 16GB RAM: HD 7200, SSD, ramdrive Notebook Dell Inspiron 14 (i3, 2 cores @ 1.7Ghz), 4 GB RAM: HD 5400 CPU virtual (Intel Xeon 2 cores @ 2.6 Ghz): Cloud normal e Cloud SSD Software: Crystal Disk Mark 64 bits (baseline) SQL Server 2014 Standard Windows Server 2008 Sistema de arquivos NTFS com opções padrão Ambiente, protoloco do experimento, dados e análises disponíveis futuramente no site da revista SQL Magazine
  • 12. Globalcode – Open4education Ambiente: Dados Arquivos/Tabela com 11 colunas: 1 int + 10 float Coluna int (sequêncial) + valores float aleatórios (entre 1,00 e 100.000,00) Arquivo CSV com linhas (N) variando de 1.000.000 a 10.000.000 Quantidade de transações (N) variando de 10.000 a 100.000 Medição da taxa de transferência em Megabytes por segundo (MB/s): Crystal Disk Mark: informado pela ferramenta Backup/Restore: informado pelo comando Importação/Exportação: tamanho do arquivo dividido pelo tempo Medição de transações pelo tempo total gasto em segundos Cada teste foi realizado 10 vezes e obtida a média Arquivos de dados, transaction log e arquivos CSV no mesmo drive Espaço em disco alocado previamente para arquivos de dados e log Sem configurações de cache, lock e parâmetros específicos Recovery model: bulk-logged
  • 13. Globalcode – Open4education Baseline: Crystal Disk Mark Testes com o Crystal Disk Mark mediram taxa de transferência de dados em MB/s: quanto maior, melhor 4 testes internos para leitura e gravação: Seq Q32T1: Leitura/Gravação sequencial (tam. bloco = 128KB) com múltiplas filas (queues) e threads 4K Q32T1: Leitura/Gravação randômica (tam. do bloco = 4KB) com múltiplas filas (queues) e threads Seq: Leitura/Gravação sequencial (tam. do bloco = 1MB) com uma única thread 4K: Leitura/Gravação randômica (tam. do bloco = 4KB) com uma thread e uma fila (queue)
  • 14. Globalcode – Open4education Crystal Disk Mark – Resultado leitura Na média geral SSD foi 73% mais rápido que HD 7200
  • 15. Globalcode – Open4education Crystal Disk Mark – Resultado gravação Na média geral SSD foi 73% mais rápido que HD 7200
  • 16. Globalcode – Open4education (1) Testes de backup/restore Testes de backup/restore mediram taxa de transferência de dados em MB/s: quanto maior, melhor Backup e restore completo (full) do banco Somente um backup por arquivo (backup device) Checagem de arquivo não computada no valor de MB/s retornado
  • 17. Globalcode – Open4education Testes de restore (leitura) Na média geral SSD foi 53% mais rápido que HD 7200
  • 18. Globalcode – Open4education Testes de backup (gravação) Na média geral SSD foi 78% vezes mais rápido que HD 7200
  • 19. Globalcode – Open4education (2) Testes de importação e exportação Testes de importação/exportação mediram taxa de transferência de dados em MB/s: quanto maior, melhor Testes de importação/exportação divididos em dois grupos: Importação/exportação linha a linha de arquivos CSV (BCP) Importação/exportação direta binária dos arquivos (BULK) Importação BCP: utilitário de linha de comando bcp Importação BULK: SELECT com função OPENROWSET() Exportação BCP: utilitário de linha de comando bcp Exportação BULK: utilitário de linha de comando bcp com parâmetro -c A cada operação de importação/exportação: Limpeza do cache Backup de transaction log
  • 20. Globalcode – Open4education Testes de importação BCP (leitura) Na média geral SSD e HD 7200 foram praticamente iguais no teste
  • 21. Globalcode – Open4education Testes de exportação BCP (gravação) Na média geral SSD e HD 7200 foram praticamente iguais no teste
  • 22. Globalcode – Open4education Testes de importação BULK (leitura) Na média geral SSD foi 53% mais rápido que HD 7200
  • 23. Globalcode – Open4education Testes de exportação BULK (gravação) Na média geral SSD foi 48% mais rápido que HD 7200
  • 24. Globalcode – Open4education (3) Testes de transações Testes de transações mediram o tempo de execução: quanto menor, melhor Testes de transação divididos em dois grupos: Individuais: cada instrução é uma transação Agrupadas: todas as instruções dentro de uma única transação Uso do comando INSERT dentro de script com loop: mesmos dados dos arquivos CSV N variando de 10.000 a 100.000 por motivos de duração de testes A cada teste de transação: Limpeza do cache Backup de transaction log
  • 25. Globalcode – Open4education Testes de transações individuais Na média geral SSD e HD 7200 foram praticamente iguais no teste
  • 26. Globalcode – Open4education Testes de transações agrupadas Na média geral RAMDRIVE, SSD, HD 7200, HD 5400 foram praticamente iguais no teste
  • 27. Globalcode – Open4education Tabela de resultados Tipo de teste Detalhe do teste Último colocado Valor Médio último colocado (MB/s) Primeiro colocado Valor médio primeiro colocado (MB/s) Crystal Disk Mark - Leitura 4K HD 5400 0,3 ramdrive 1.216,4 SEQ Cloud SSD 25,2 ramdrive 5.778,6 4K Q32T1 HD 5400 0,5 ramdrive 1.079,1 SEQ Q32T1 Cloud SSD 25,2 ramdrive 3.905,8 Crystal Disk Mark - Gravação 4K HD 5400 0,7 ramdrive 937 SEQ Cloud SSD 25,2 ramdrive 6.592,5 4K Q32T1 HD 5400 0,7 ramdrive 910,7 SEQ Q32T1 Cloud SSD 25,2 ramdrive 5.504,1 Restore (leitura) Restore Cloud SSD 3,5 ramdrive 1.024,7 Backup (gravação) Backup Cloud SSD 13 ramdrive 2.332,2 Importação (leitura) BCP HD 5400 5,8 ramdrive 20,4 Bulk insert Cloud SSD 52,3 ramdrive 4.071,5 Exportação (gravação) BCP HD 5400 5,5 ramdrive 11,2 Bulk export Cloud SSD 8,8 ramdrive 115,9 Transações Individual Cloud SSD 37,3s ramdrive 1,7s Agrupado HD 5400 0,6s SSD, HD 7200, ramdrive 0,4s
  • 28. Globalcode – Open4education Análise dos resultados ramdrive teve melhor desempenho seguido de SSD SSD é mais rápido ou igual que HD 7200 em todos os testes (média de 63% mais rápida) Opções na nuvem deixaram muito a desejar: Em alguns casos, resultados piores que HD 5400 Diferença de preço de Cloud SSD para Cloud HD não possui boa relação custo x benefício Opções na nuvem apresentaram muita variações nos testes (fatores externos?) Memória virtual não foi usada em nenhum dos cenários de testes Críticas: Poucas opções de nuvem testadas Sem uso de RAID e storage específico Ambiente Windows e SQL Server apenas
  • 29. Globalcode – Open4education Conclusão P: SSD no banco de dados é bom mesmo? R: Sim, mas o quão bom depente da tarefa! Não esqueça de colocar custos na discussão! Há evidências empíricas que sugerem melhor desempenho de opções em memória (ramdrive e SSD) em relação às demais Há evidência que sugerem que opção na nuvem não é a mais “rápida” Muitas técnicas podem ser aplicadas para melhorar taxas de transferências e tempos de execução Não concorda com os resultados? Replique o experimento Me contrate para uma consultoria! 
  • 30. Globalcode – Open4education Perguntas? Dr. Mauro Pichiliani mauro@pichiliani.com.br @pichiliani @databasecast