SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Como lidar com 1, 10, 100 e 1024 
GB no seu banco de dados 
Msc. Mauro Pichiliani (@pichiliani) 
mauro@pichiliani.com.br
AVISO 
2 | 27/09/2014 |
Sobre mim 
 Mestre e doutorando em computação pelo ITA 
 Escritor da SQL Magazine, Fórum Access, Java 
Magazine, SQLServerCentral.com e outras 
 Colaborador do iMasters há 13 anos 
 Autor do livro “Conversando sobre banco de dados” 
 Co-autor do @databasecast 
3 | 27/09/2014 |
Roteiro 
 Cenário 
 Hardware, nuvem e distribuição 
 Modelagem 
 Acesso aos dados 
 Backup/Restore 
 Importação/exportação 
 Outras tecnologias 
 Conclusão 
4 | 27/09/2014 |
Cenário 
 1 GB = Dá para por no meu note 
 10 GB = Meu desktop dá conta 
 100 GB = Preciso de um servidor… 
 1024 GB (ou 1 TB) = Vários servidores ou 
nuvem 
5 | 27/09/2014 |
Cenário (2) 
6 | 27/09/2014 |
Cenário (3) 
 Você vai precisar de muito mais armazenamento do que 1, 10, 100 e 
1024 GB para: 
 Transaction log (talvez 1.5x) 
 Índices (tavez 2.x) 
 Espaço para backup (talvez 2.5) 
 TempDB (talvez 1.3x) 
 Tudo depende do que será feito com os dados! 
 Somente armazenar? 
 OLTP x OLAP 
 Mineração de dados? 
 Banco read only x read-write 
 Conheça as espectativas de desempenho, disponibilidade e outros 
aspectos 
7 | 27/09/2014 |
Cenário (4) 
8 | 27/09/2014 | 
FUTURO
Hardware 
 Hardware é a primeira preocupação: 
 Memória RAM + ou - até 100 GB atualmente 
 Subsistema de HD (RAID, NAS, SSD, etc) 
 Processamento (múltiplos cores) 
 Rede adequada para volume trafegado 
 Redimensionar/justificar hardware com cuidado 
 Saber de cabeça tempos e valores (MB/S) ajuda muito! 
 Hardware nem sempre é a solução… 
 Mudanças na aplicação 
 Arquitetura 
 Processamento paralelo 
 Tipo e quantidade de dados oferecida aos usuários 
9 | 27/09/2014 |
Distribuição 
 Distribuição é boa pedida para suportar muitos dados, mas: 
 Saiba as opções disponíveis (Cluster? Log shipping? Mirroring?) 
 Pense nos componentes da arquitetura 
 Divisão dos dados pode ser complexa 
 Separação de acessos por usuário 
 Consistência se torna crucial (Constraints? Triggers?) 
 Replicação é OK, mas quando dá problema…. 
 Opinião pessoal: SQL Server ainda precisa melhorar quando se 
fala em distribuição de dados 
 Servidor linkado? Views distribuídas? Particionamento? Triggers? 
 Se administrar um BD grande é complicado, como seria 
administrar vários BDs pequenos e conectados? 
10 | 27/09/2014 |
Nuvem 
 A nuvem (i.e. Azure) encapsula muitos detalhes: 
 Hardware 
 Custos de uso 
 Tempo de processamento 
 Processo de upload de dados 
 Para certos tamanhos somente a nuvem é viável 
 Muito cuidado, pois: 
 Fornecedor quer que você gaste cada vez mais com ele 
 Qualquer teste é cobrado 
 Algumas limitações de opções e configurações 
11 | 27/09/2014 |
Modelagem 
 Boa modelagem ajuda muito! 
 Evitar tabela ‘central’ com muitas linhas e colunas 
 Tipagem correta! Evite abusar de INT 
 Usar e abusar do particionamento em diversos arquivos 
 Saiba lidar com detalhes de expurgo no modelo 
 Evite modelos demasiadamente complexos 
 Normalização x Certos graus de desnormalização 
 Instruções SQL sofrem muito impacto da modelagem 
 Constraints (PK e FK) 
 Índices 
 Joins 
 Agregações (GROUP BY e COUNT()) 
12 | 27/09/2014 |
Acesso a dados 
 BDs muito grandes consomem muita memória por conexão 
 Saber limitar acesso a dados (intervalo) é uma opção 
 Exemplos: Saldo bancário, APIs do Twitter e Facebook 
 Um usuário pode travar todos os outros…. 
 Se possível, separe os usuários por tarefa e use o Resource 
Governor 
 Relatórios operacionais do dia a dia 
 Relatórios periódicos (fechamento do mês) 
 Importação/Exportação 
 Tarefas fora do comum 
 Operações que não são logadas ou fora da auditoria 
13 | 27/09/2014 |
Backup/Restore 
 BD grandes = dor de cabeça no backup e restore 
 Certos volumes requerem necessariamente fitas tipo LTO 
 Padrão LTO 6 suporta 2.5TB com 160 MB/S 
 Planeje muito bem a estratégia de backup e recuperação: 
 Periodicidade 
 Testes 
 Criptografia 
 Documentação 
 Tipo de restauracão (completa, parcial) 
 Tempo estimado 
 Servidor e recursos para restauração do backup 
14 | 27/09/2014 |
Importação e exportação 
 Importação e exportação: comuns em BDs grandes 
 Consome muitos recursos de hardware 
 Devem ser feitos fora do horário de trabalho 
 Raramente o banco total é exportado 
 Trabalhe com amostragens ou partições específicas 
 Uma simples importação de poucos dados pode atrapalhar 
muito 
 Nunca se esqueça de ter área de staging e ambientes: 
 De testes 
 De homologação 
 De produção 
15 | 27/09/2014 |
Outras tecnologias 
 Novos tipos de particionamento (Oracle, MongoDB, 
Cassandra) 
 Processamento de dados com o Hadoop 
 Usabilidade e facilidades para inserção/retirada de nós e 
distribuição de dados 
 Exportação para outras ferramentas (DM, estatísticas, gráficos) 
 Saiba até onde ir com a tecnologia! Conheça os limites 
 Seja humilde e assuma que certos volumes requerem 
software/hardware especial 
16 | 27/09/2014 |
Conclusões 
 Quantidade de dados pode enganar… 
 Redimensionamento de recursos é importante 
 Opções: 
 Scale Up x Scale Out 
 Nuvem 
 Distribuição de dados 
 Não tenha dúvidas: bancos grandes VÃO dar dor de 
cabeça 
 Ambiente desafiador gera possibilidades e oportunidades 
 Experiência pessoal: Murphy sempre vai ser seu amigo e 
te abraçar quando você menos espera 
17 | 27/09/2014 |
#prontofalei 
Perguntas? 
18 | 27/09/2014 |

Mais conteúdo relacionado

Mais procurados

Mais procurados (11)

Banco de dados nas nuvens - aula 1
Banco de dados nas nuvens - aula 1Banco de dados nas nuvens - aula 1
Banco de dados nas nuvens - aula 1
 
Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 
Calypte Cache
Calypte CacheCalypte Cache
Calypte Cache
 
Big Data
Big DataBig Data
Big Data
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
Bancos de dados NoSQL
Bancos de dados NoSQLBancos de dados NoSQL
Bancos de dados NoSQL
 
Padrões MVC
Padrões MVCPadrões MVC
Padrões MVC
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 

Semelhante a Como lidar com 1, 10, 100 e 1024 GB no seu banco de dados

NoSQL: Uma análise crítica
NoSQL: Uma análise críticaNoSQL: Uma análise crítica
NoSQL: Uma análise críticapichiliani
 
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...Fabrício Catae
 
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Diego Nogare
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de DadosDeep Tech Brasil
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Taller Negócio Digitais
 
Aula01 administrador de banco de dados dba
Aula01 administrador de banco de dados  dbaAula01 administrador de banco de dados  dba
Aula01 administrador de banco de dados dbajjuniorlopes
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalierGleicon Moraes
 
Profissões e atividades do mercado de banco de
Profissões e atividades do mercado de banco deProfissões e atividades do mercado de banco de
Profissões e atividades do mercado de banco deDennes Torres
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big DataDeep Tech Brasil
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na WebMeritt - Cada Aluno é Único
 
Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010Ronaldo Ramires
 
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...Fabrízio Mello
 
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MERRodrigo Kiyoshi Saito
 

Semelhante a Como lidar com 1, 10, 100 e 1024 GB no seu banco de dados (20)

NoSQL: Uma análise crítica
NoSQL: Uma análise críticaNoSQL: Uma análise crítica
NoSQL: Uma análise crítica
 
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
 
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
Codificando .Net e SQL PASS Chapter - Novidades de BI para SQL Server 2012
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados
 
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
Os pecados mortais de escalabilidade em Drupal e seus efeitos nos negócios - ...
 
Aula01 administrador de banco de dados dba
Aula01 administrador de banco de dados  dbaAula01 administrador de banco de dados  dba
Aula01 administrador de banco de dados dba
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
L'esprit de l'escalier
L'esprit de l'escalierL'esprit de l'escalier
L'esprit de l'escalier
 
C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
 
TechEd_OFC302
TechEd_OFC302TechEd_OFC302
TechEd_OFC302
 
BIG DATA na UFSM
BIG DATA na UFSMBIG DATA na UFSM
BIG DATA na UFSM
 
Profissões e atividades do mercado de banco de
Profissões e atividades do mercado de banco deProfissões e atividades do mercado de banco de
Profissões e atividades do mercado de banco de
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
2º Meritt CC - NoSQL - E o Futuro dos Bancos de Dados na Web
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010Sql Azure no Access Aay Lite 2010
Sql Azure no Access Aay Lite 2010
 
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
DBA Brasil 2.0: Como o papel e atividades de DBA ficam no contexto da cultura...
 
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
2019-2 - BD I - Aula 02 - Camadas de aplicação a Banco de Dados e Introd MER
 

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
 
SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?pichiliani
 
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
 

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
 
SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?
 
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
 

Como lidar com 1, 10, 100 e 1024 GB no seu banco de dados

  • 1. Como lidar com 1, 10, 100 e 1024 GB no seu banco de dados Msc. Mauro Pichiliani (@pichiliani) mauro@pichiliani.com.br
  • 2. AVISO 2 | 27/09/2014 |
  • 3. Sobre mim  Mestre e doutorando em computação pelo ITA  Escritor da SQL Magazine, Fórum Access, Java Magazine, SQLServerCentral.com e outras  Colaborador do iMasters há 13 anos  Autor do livro “Conversando sobre banco de dados”  Co-autor do @databasecast 3 | 27/09/2014 |
  • 4. Roteiro  Cenário  Hardware, nuvem e distribuição  Modelagem  Acesso aos dados  Backup/Restore  Importação/exportação  Outras tecnologias  Conclusão 4 | 27/09/2014 |
  • 5. Cenário  1 GB = Dá para por no meu note  10 GB = Meu desktop dá conta  100 GB = Preciso de um servidor…  1024 GB (ou 1 TB) = Vários servidores ou nuvem 5 | 27/09/2014 |
  • 6. Cenário (2) 6 | 27/09/2014 |
  • 7. Cenário (3)  Você vai precisar de muito mais armazenamento do que 1, 10, 100 e 1024 GB para:  Transaction log (talvez 1.5x)  Índices (tavez 2.x)  Espaço para backup (talvez 2.5)  TempDB (talvez 1.3x)  Tudo depende do que será feito com os dados!  Somente armazenar?  OLTP x OLAP  Mineração de dados?  Banco read only x read-write  Conheça as espectativas de desempenho, disponibilidade e outros aspectos 7 | 27/09/2014 |
  • 8. Cenário (4) 8 | 27/09/2014 | FUTURO
  • 9. Hardware  Hardware é a primeira preocupação:  Memória RAM + ou - até 100 GB atualmente  Subsistema de HD (RAID, NAS, SSD, etc)  Processamento (múltiplos cores)  Rede adequada para volume trafegado  Redimensionar/justificar hardware com cuidado  Saber de cabeça tempos e valores (MB/S) ajuda muito!  Hardware nem sempre é a solução…  Mudanças na aplicação  Arquitetura  Processamento paralelo  Tipo e quantidade de dados oferecida aos usuários 9 | 27/09/2014 |
  • 10. Distribuição  Distribuição é boa pedida para suportar muitos dados, mas:  Saiba as opções disponíveis (Cluster? Log shipping? Mirroring?)  Pense nos componentes da arquitetura  Divisão dos dados pode ser complexa  Separação de acessos por usuário  Consistência se torna crucial (Constraints? Triggers?)  Replicação é OK, mas quando dá problema….  Opinião pessoal: SQL Server ainda precisa melhorar quando se fala em distribuição de dados  Servidor linkado? Views distribuídas? Particionamento? Triggers?  Se administrar um BD grande é complicado, como seria administrar vários BDs pequenos e conectados? 10 | 27/09/2014 |
  • 11. Nuvem  A nuvem (i.e. Azure) encapsula muitos detalhes:  Hardware  Custos de uso  Tempo de processamento  Processo de upload de dados  Para certos tamanhos somente a nuvem é viável  Muito cuidado, pois:  Fornecedor quer que você gaste cada vez mais com ele  Qualquer teste é cobrado  Algumas limitações de opções e configurações 11 | 27/09/2014 |
  • 12. Modelagem  Boa modelagem ajuda muito!  Evitar tabela ‘central’ com muitas linhas e colunas  Tipagem correta! Evite abusar de INT  Usar e abusar do particionamento em diversos arquivos  Saiba lidar com detalhes de expurgo no modelo  Evite modelos demasiadamente complexos  Normalização x Certos graus de desnormalização  Instruções SQL sofrem muito impacto da modelagem  Constraints (PK e FK)  Índices  Joins  Agregações (GROUP BY e COUNT()) 12 | 27/09/2014 |
  • 13. Acesso a dados  BDs muito grandes consomem muita memória por conexão  Saber limitar acesso a dados (intervalo) é uma opção  Exemplos: Saldo bancário, APIs do Twitter e Facebook  Um usuário pode travar todos os outros….  Se possível, separe os usuários por tarefa e use o Resource Governor  Relatórios operacionais do dia a dia  Relatórios periódicos (fechamento do mês)  Importação/Exportação  Tarefas fora do comum  Operações que não são logadas ou fora da auditoria 13 | 27/09/2014 |
  • 14. Backup/Restore  BD grandes = dor de cabeça no backup e restore  Certos volumes requerem necessariamente fitas tipo LTO  Padrão LTO 6 suporta 2.5TB com 160 MB/S  Planeje muito bem a estratégia de backup e recuperação:  Periodicidade  Testes  Criptografia  Documentação  Tipo de restauracão (completa, parcial)  Tempo estimado  Servidor e recursos para restauração do backup 14 | 27/09/2014 |
  • 15. Importação e exportação  Importação e exportação: comuns em BDs grandes  Consome muitos recursos de hardware  Devem ser feitos fora do horário de trabalho  Raramente o banco total é exportado  Trabalhe com amostragens ou partições específicas  Uma simples importação de poucos dados pode atrapalhar muito  Nunca se esqueça de ter área de staging e ambientes:  De testes  De homologação  De produção 15 | 27/09/2014 |
  • 16. Outras tecnologias  Novos tipos de particionamento (Oracle, MongoDB, Cassandra)  Processamento de dados com o Hadoop  Usabilidade e facilidades para inserção/retirada de nós e distribuição de dados  Exportação para outras ferramentas (DM, estatísticas, gráficos)  Saiba até onde ir com a tecnologia! Conheça os limites  Seja humilde e assuma que certos volumes requerem software/hardware especial 16 | 27/09/2014 |
  • 17. Conclusões  Quantidade de dados pode enganar…  Redimensionamento de recursos é importante  Opções:  Scale Up x Scale Out  Nuvem  Distribuição de dados  Não tenha dúvidas: bancos grandes VÃO dar dor de cabeça  Ambiente desafiador gera possibilidades e oportunidades  Experiência pessoal: Murphy sempre vai ser seu amigo e te abraçar quando você menos espera 17 | 27/09/2014 |
  • 18. #prontofalei Perguntas? 18 | 27/09/2014 |