SlideShare uma empresa Scribd logo
Rubens Guimarães
rubens.guimaraes@e-seth.com.br
Azure Weekend 2017
Alta disponibilidade com bancos de
dados relacionais no Azure
Rubens Guimarães
Diretor de Tecnologia da eSeth
Engenheiro de Software com especialização na
Academia Latino-Americana de Segurança da Informação
e Stanford University - Palo Alto CA
Desenvolve projetos de tecnologia de ponta para empresas
instituições financeiras, redes de franquias e marcas
Latina, EUA e Europa.
www.tecnologianapratica.com/rubensGuimaraes
O volume de informações
digitais produzidas nos últimos
02 anos é equivalente ao volume produzido em
toda a história.
Vai aumentar mais. Machine learning, IoT, Cognitive Services, etc
Relacional
Tabelas, colunas e registros
são estruturas típicas deste
tipo de tecnologia. A
linguagem SQL é utilizada
neste modelo.
SQL Server, Oracle, MySQL
NoSQL
Capacidades que vão além das
características típicas dos
sistemas gerenciadores
relacionais.
DocumentDB, MongoDB,
Redis, Cassandra, Riak
Otimizado para reduzir os custos para provisionar e gerenciar muitos
bancos de dados. Ele reduz os custos de administração porque você
não precisa gerenciar máquinas virtuais, um sistema operacional
nem um software de banco de dados. Você não precisa gerenciar as
atualizações, a alta disponibilidade ou os backups.
SQL Azure (PaaS)
Grandes ambientes, migração de ambientes já existentes ou
projetos híbridos. Possui direitos de ADM sobre as instâncias
dedicadas. Todas versões disponíveis. Licenciamento em
diversas opções.
SQL Server em VMs do Azure (IaaS)
HORIZONTAL X VERTICAL
HORIZONTAL
Mesma estrutura com
dados diferentes.
Tabela A
Tabela B
Tabela C
Tabela A
Tabela B
Tabela C
Tabela A
Tabela B
Tabela C
Tabela A
Tabela B
Tabela C
Estruturas diferentes com
dados diferentes.
Tabela A
Tabela B
Tabela C
Tabela D
Depende do projeto e da capacidade da aplicação executar ações separadas.
Shard Map Manager x
INTELIGÊNCIA
Fragmentos quentes
X Fragmentos frios
Isolamento e carga
CONTEINERS
- Isolamento físico dos shardlets.
- Permissões e Controle de
exposições.
- Gerenciamento facilitado.
- Permite mover db entre conteiners
sem sair do ar de forma vertical.
AZURE
Elasticidade
Vertical e Horizontal
Monitoram atividades anormais de banco de dados, indicando potenciais ameaças de segurança
à base de dados.
O que é uma DTU?
Unidade de medida dos recursos que têm garantia de
para um Banco de Dados SQL do Azure.
Uma DTU é uma medida combinada de CPU, memória
E/S de log de transações, em uma proporção
de trabalho OLTP de parâmetro projetada para ser
trabalho OLTP reais.
DESEMPENHO SQL SERVER NO AZURE
1- Direcione o tempdb para a unidade D na VM:
USE MASTER
GO
ALTER DATABASE tempdb MODIFY FILE (NAME= tempdev, FILENAME= ‘D:SQLTEMPtempdb.mdf’)
GO
ALTER DATABASE tempdb MODIFY FILE (name = templog, filename = ‘D:SQLTEMPtemplog.ldf’)
GO
DESEMPENHO SQL SERVER NO AZURE
2- Configurar os serviços do SQL Server para inicialização manual:
3- Criar um script para a cada inicialização da VM a pasta “SQLTEMP” (indicada
no script do passo 1) seja criada na unidade D antes da iniciação dos serviços do
SQL:
$SQLService=”SQL Server (MSSQLSERVER)”
$SQLAgentService=”SQL Server Agent (MSSQLSERVER)”
$tempfolder=”D:SQLTEMP”
if (!(test-path -path $tempfolder)) {
New-Item -ItemType directory -Path $tempfolder
}
Start-Service $SQLService
Start-Service $SQLAgentService
4- Agendar uma tarefa no Windows para execução do script ao inicializar o
servidor:
ANÁLISE
Máximo de solicitações simultâneas
SELECT COUNT(*) AS [Concurrent_Requests] FROM sys.dm_exec_requests R
OU
SELECT COUNT(*) AS [Concurrent_Requests] FROM sys.dm_exec_requests R
INNER JOIN sys.databases D ON D.database_id = R.database_id AND D.name = 'MyDatabase‘
Máximo de sessões
SELECT COUNT(*) AS [Sessions] FROM sys.dm_exec_connections
OU
SELECT COUNT(*) AS [Sessions] FROM sys.dm_exec_connections C
INNER JOIN sys.dm_exec_sessions S ON (S.session_id = C.session_id)
INNER JOIN sys.databases D ON (D.database_id = S.database_id)
WHERE D.name = 'MyDatabase'
ANÁLISE
SELECT
avg(avg_cpu_percent) AS 'Average CPU use in percent',
max(avg_cpu_percent) AS 'Maximum CPU use in percent',
avg(avg_data_io_percent) AS 'Average physical data I/O use in percent',
max(avg_data_io_percent) AS 'Maximum physical data I/O use in percent',
avg(avg_log_write_percent) AS 'Average log write use in percent',
max(avg_log_write_percent) AS 'Maximum log write use in percent',
avg(max_session_percent) AS 'Average % of sessions',
max(max_session_percent) AS 'Maximum % of sessions',
avg(max_worker_percent) AS 'Average % of workers',
max(max_worker_percent) AS 'Maximum % of workers' FROM sys.resource_stats WHERE
database_name = 'userdb1' AND start_time > DATEADD(day, -7, GETDATE());
Os dados são coletados a cada 5 minutos e são mantidos por aproximadamente 35
dias. Essa exibição é útil para uma análise de histórico de longo prazo de como seu
banco de dados SQL usa recursos.
AZURE
Mapa de estudos
azure.microsoft.com/pt-
br/documentation/learning-paths/sql-database-
elastic-scale
www.youtube.com/AzureBrasilComunidadeTécnica
Rubens Guimarães
rubens.guimaraes@e-seth.com.br
www.eSeth.com.br

Mais conteúdo relacionado

Semelhante a Alta disponibilidade com bancos de dados relacionais no Azure

Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
iMasters
 
Armazenamento Elástico de Dados Relacionais no Azure
Armazenamento Elástico de Dados Relacionais no AzureArmazenamento Elástico de Dados Relacionais no Azure
Armazenamento Elástico de Dados Relacionais no Azure
Rubens Guimarães - MTAC MVP
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
Sandro Freitas
 
[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
Deep Tech Brasil
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
Giovanni Bassi
 
Azure @ Rio Cloud Meetup
Azure @ Rio Cloud MeetupAzure @ Rio Cloud Meetup
Azure @ Rio Cloud Meetup
Ricardo Martins ☁
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Amazon Web Services LATAM
 
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fabio Telles Rodriguez
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
jcaroso
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
Roberto Oliveira
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
Warley Silva
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
Marco Pinheiro
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
Amazon Web Services LATAM
 
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMRStream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
Cicero Joasyo Mateus de Moura
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
Fabrício Catae
 
Computacao em nuvem windows azure
Computacao em nuvem   windows azureComputacao em nuvem   windows azure
Computacao em nuvem windows azure
Rodrigo Vidal
 
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
WeOp - The Operations Summit
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de rede
Marcos Monteiro
 
Sql azure
Sql azureSql azure
Sql azure
surf_floripa
 
Seven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_ServidoresSeven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_Servidores
Cleber Tavares Jr.
 

Semelhante a Alta disponibilidade com bancos de dados relacionais no Azure (20)

Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
Armazenamento Elástico de Dados Relacionais no Azure
Armazenamento Elástico de Dados Relacionais no AzureArmazenamento Elástico de Dados Relacionais no Azure
Armazenamento Elástico de Dados Relacionais no Azure
 
Apostila oracle
Apostila oracleApostila oracle
Apostila oracle
 
[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
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
Azure @ Rio Cloud Meetup
Azure @ Rio Cloud MeetupAzure @ Rio Cloud Meetup
Azure @ Rio Cloud Meetup
 
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
Migrando seu banco de dados para a AWS - Deep Dive em Amazon RDS e AWS Databa...
 
Fazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISLFazendo Um Elefante Passar Debaixo da Porta - FISL
Fazendo Um Elefante Passar Debaixo da Porta - FISL
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 
Apostila sql
Apostila sqlApostila sql
Apostila sql
 
PHPMyadmin - Introdução
PHPMyadmin - IntroduçãoPHPMyadmin - Introdução
PHPMyadmin - Introdução
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
 
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMRStream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
 
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de DesempenhoTechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
TechEd 2010: SQL Server com Foco em Diagnóstico de Desempenho
 
Computacao em nuvem windows azure
Computacao em nuvem   windows azureComputacao em nuvem   windows azure
Computacao em nuvem windows azure
 
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
Arquitetura executável: Documentando e automatizando a comunicação da equipe ...
 
Documentação da infraestrutura de rede
Documentação da infraestrutura de redeDocumentação da infraestrutura de rede
Documentação da infraestrutura de rede
 
Sql azure
Sql azureSql azure
Sql azure
 
Seven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_ServidoresSeven_Palestra_Banco_Dados_Servidores
Seven_Palestra_Banco_Dados_Servidores
 

Mais de Rubens Guimarães - MTAC MVP

AI, Serviços Cognitivos e Machine Learning
AI, Serviços Cognitivos e Machine LearningAI, Serviços Cognitivos e Machine Learning
AI, Serviços Cognitivos e Machine Learning
Rubens Guimarães - MTAC MVP
 
Série Descomplicando o Azure - Apresentação de recursos gerais
Série Descomplicando o Azure - Apresentação de recursos geraisSérie Descomplicando o Azure - Apresentação de recursos gerais
Série Descomplicando o Azure - Apresentação de recursos gerais
Rubens Guimarães - MTAC MVP
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Rubens Guimarães - MTAC MVP
 
Série: Descomplicando o Azure. Aula 1 - Introdução ao Azure
Série: Descomplicando o Azure. Aula 1 - Introdução ao AzureSérie: Descomplicando o Azure. Aula 1 - Introdução ao Azure
Série: Descomplicando o Azure. Aula 1 - Introdução ao Azure
Rubens Guimarães - MTAC MVP
 
Varejo Competitivo - Prepare-se para as Vendas de Fim de ano
Varejo Competitivo - Prepare-se para as Vendas de Fim de anoVarejo Competitivo - Prepare-se para as Vendas de Fim de ano
Varejo Competitivo - Prepare-se para as Vendas de Fim de ano
Rubens Guimarães - MTAC MVP
 
Segurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas ProfissionaisSegurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas Profissionais
Rubens Guimarães - MTAC MVP
 
Oracle no Azure
Oracle no AzureOracle no Azure
Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...
Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...
Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...
Rubens Guimarães - MTAC MVP
 
Desenvolvimento Web - Palestra Coding Night #3 - Microsoft
Desenvolvimento Web - Palestra Coding Night #3 - MicrosoftDesenvolvimento Web - Palestra Coding Night #3 - Microsoft
Desenvolvimento Web - Palestra Coding Night #3 - Microsoft
Rubens Guimarães - MTAC MVP
 

Mais de Rubens Guimarães - MTAC MVP (9)

AI, Serviços Cognitivos e Machine Learning
AI, Serviços Cognitivos e Machine LearningAI, Serviços Cognitivos e Machine Learning
AI, Serviços Cognitivos e Machine Learning
 
Série Descomplicando o Azure - Apresentação de recursos gerais
Série Descomplicando o Azure - Apresentação de recursos geraisSérie Descomplicando o Azure - Apresentação de recursos gerais
Série Descomplicando o Azure - Apresentação de recursos gerais
 
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no AzureGlobal Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
Global Azure Bootcamp - Recursos de Segurança para Aplicações no Azure
 
Série: Descomplicando o Azure. Aula 1 - Introdução ao Azure
Série: Descomplicando o Azure. Aula 1 - Introdução ao AzureSérie: Descomplicando o Azure. Aula 1 - Introdução ao Azure
Série: Descomplicando o Azure. Aula 1 - Introdução ao Azure
 
Varejo Competitivo - Prepare-se para as Vendas de Fim de ano
Varejo Competitivo - Prepare-se para as Vendas de Fim de anoVarejo Competitivo - Prepare-se para as Vendas de Fim de ano
Varejo Competitivo - Prepare-se para as Vendas de Fim de ano
 
Segurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas ProfissionaisSegurança no Desenvolvimento WEB - Técnicas Profissionais
Segurança no Desenvolvimento WEB - Técnicas Profissionais
 
Oracle no Azure
Oracle no AzureOracle no Azure
Oracle no Azure
 
Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...
Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...
Workshop Web - Do Pensamento ao Desenvolvimento - Design, Programação e Banco...
 
Desenvolvimento Web - Palestra Coding Night #3 - Microsoft
Desenvolvimento Web - Palestra Coding Night #3 - MicrosoftDesenvolvimento Web - Palestra Coding Night #3 - Microsoft
Desenvolvimento Web - Palestra Coding Night #3 - Microsoft
 

Último

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 

Último (7)

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 

Alta disponibilidade com bancos de dados relacionais no Azure

  • 1. Rubens Guimarães rubens.guimaraes@e-seth.com.br Azure Weekend 2017 Alta disponibilidade com bancos de dados relacionais no Azure
  • 2. Rubens Guimarães Diretor de Tecnologia da eSeth Engenheiro de Software com especialização na Academia Latino-Americana de Segurança da Informação e Stanford University - Palo Alto CA Desenvolve projetos de tecnologia de ponta para empresas instituições financeiras, redes de franquias e marcas Latina, EUA e Europa.
  • 4. O volume de informações digitais produzidas nos últimos 02 anos é equivalente ao volume produzido em toda a história. Vai aumentar mais. Machine learning, IoT, Cognitive Services, etc
  • 5.
  • 6. Relacional Tabelas, colunas e registros são estruturas típicas deste tipo de tecnologia. A linguagem SQL é utilizada neste modelo. SQL Server, Oracle, MySQL NoSQL Capacidades que vão além das características típicas dos sistemas gerenciadores relacionais. DocumentDB, MongoDB, Redis, Cassandra, Riak
  • 7.
  • 8.
  • 9.
  • 10. Otimizado para reduzir os custos para provisionar e gerenciar muitos bancos de dados. Ele reduz os custos de administração porque você não precisa gerenciar máquinas virtuais, um sistema operacional nem um software de banco de dados. Você não precisa gerenciar as atualizações, a alta disponibilidade ou os backups. SQL Azure (PaaS)
  • 11. Grandes ambientes, migração de ambientes já existentes ou projetos híbridos. Possui direitos de ADM sobre as instâncias dedicadas. Todas versões disponíveis. Licenciamento em diversas opções. SQL Server em VMs do Azure (IaaS)
  • 13. HORIZONTAL Mesma estrutura com dados diferentes. Tabela A Tabela B Tabela C Tabela A Tabela B Tabela C Tabela A Tabela B Tabela C Tabela A Tabela B Tabela C Estruturas diferentes com dados diferentes. Tabela A Tabela B Tabela C Tabela D Depende do projeto e da capacidade da aplicação executar ações separadas. Shard Map Manager x
  • 14.
  • 16. CONTEINERS - Isolamento físico dos shardlets. - Permissões e Controle de exposições. - Gerenciamento facilitado. - Permite mover db entre conteiners sem sair do ar de forma vertical.
  • 18. Monitoram atividades anormais de banco de dados, indicando potenciais ameaças de segurança à base de dados.
  • 19. O que é uma DTU? Unidade de medida dos recursos que têm garantia de para um Banco de Dados SQL do Azure. Uma DTU é uma medida combinada de CPU, memória E/S de log de transações, em uma proporção de trabalho OLTP de parâmetro projetada para ser trabalho OLTP reais.
  • 20. DESEMPENHO SQL SERVER NO AZURE 1- Direcione o tempdb para a unidade D na VM: USE MASTER GO ALTER DATABASE tempdb MODIFY FILE (NAME= tempdev, FILENAME= ‘D:SQLTEMPtempdb.mdf’) GO ALTER DATABASE tempdb MODIFY FILE (name = templog, filename = ‘D:SQLTEMPtemplog.ldf’) GO
  • 21. DESEMPENHO SQL SERVER NO AZURE 2- Configurar os serviços do SQL Server para inicialização manual: 3- Criar um script para a cada inicialização da VM a pasta “SQLTEMP” (indicada no script do passo 1) seja criada na unidade D antes da iniciação dos serviços do SQL: $SQLService=”SQL Server (MSSQLSERVER)” $SQLAgentService=”SQL Server Agent (MSSQLSERVER)” $tempfolder=”D:SQLTEMP” if (!(test-path -path $tempfolder)) { New-Item -ItemType directory -Path $tempfolder } Start-Service $SQLService Start-Service $SQLAgentService 4- Agendar uma tarefa no Windows para execução do script ao inicializar o servidor:
  • 22. ANÁLISE Máximo de solicitações simultâneas SELECT COUNT(*) AS [Concurrent_Requests] FROM sys.dm_exec_requests R OU SELECT COUNT(*) AS [Concurrent_Requests] FROM sys.dm_exec_requests R INNER JOIN sys.databases D ON D.database_id = R.database_id AND D.name = 'MyDatabase‘ Máximo de sessões SELECT COUNT(*) AS [Sessions] FROM sys.dm_exec_connections OU SELECT COUNT(*) AS [Sessions] FROM sys.dm_exec_connections C INNER JOIN sys.dm_exec_sessions S ON (S.session_id = C.session_id) INNER JOIN sys.databases D ON (D.database_id = S.database_id) WHERE D.name = 'MyDatabase'
  • 23. ANÁLISE SELECT avg(avg_cpu_percent) AS 'Average CPU use in percent', max(avg_cpu_percent) AS 'Maximum CPU use in percent', avg(avg_data_io_percent) AS 'Average physical data I/O use in percent', max(avg_data_io_percent) AS 'Maximum physical data I/O use in percent', avg(avg_log_write_percent) AS 'Average log write use in percent', max(avg_log_write_percent) AS 'Maximum log write use in percent', avg(max_session_percent) AS 'Average % of sessions', max(max_session_percent) AS 'Maximum % of sessions', avg(max_worker_percent) AS 'Average % of workers', max(max_worker_percent) AS 'Maximum % of workers' FROM sys.resource_stats WHERE database_name = 'userdb1' AND start_time > DATEADD(day, -7, GETDATE()); Os dados são coletados a cada 5 minutos e são mantidos por aproximadamente 35 dias. Essa exibição é útil para uma análise de histórico de longo prazo de como seu banco de dados SQL usa recursos.