Ir para o conteúdo principal

Implantação do Cluster no SQL Server

OBJETIVO

Descrever o processo de análise e indicar a melhor alternativa para implantação da USER STORY “Criar laboratório de testes para implementação de Cluster do Sql Server.”

JUSTIFICATIVA

Após alinhamento com a gestão, foi identificada a necessidade de realizar um estudo para verificar a viabilidade de utilização de um cluster de banco de dados com o objetivo de aumentar a performance e tolerância a falhas das aplicações desenvolvidas e suportadas pela organização.

RESULTADOS ESPERADOS

  1. Relatório contendo a análise da melhor maneira de realizar a implantação da demanda;
  2. Documento contendo o passo-a-passo de instalação e configuração do ambiente;
  3. Descrição dos casos de teste utilizados;
  4. Análise dos resultados obtidos;
  5. Atender ao SPIKE “Criar laboratório de testes para implementação de Cluster do Sql Server.”

ENVOLVIDOS

  • Rodrigo Kreuzberg (Scrum Master)
  • Tiago Silveira (Product Owner)
  • Baymax (BI Team)

GLOSSÁRIO

  • CLUSTER - Um cluster é um grupo de dois ou mais servidores dedicados e conectados para prover performance e tolerância a falhas.

PREMISSAS

  1. ConsultasAplicações como SEI e Recadastramento regularmente demandam de uma grande quantidade de recursos dos bancos de dados;
Alta demanda de utilização dos bancos impacta na performance e disponibilidade das aplicações; A utilização de Bancos Clusterizados se mostra uma alternativa interessante, visto sua ampla utilização no Pipefy deverão utilizar GraphQL; Relatórios podem conter dados de mais de um time; Relatórios serão gerados pela gerência, sendo necessária a coleta do máximo de subsídios o possível.mercado.

MAPEAMENTO

DEFINIÇÃO

ApósDO avaliação prévia, foi identificada a necessidade de mapear quais Pipes e Campos serão utilizados para atender a demanda. As informações estão descritas a seguir.

Pipes Mapeados

Pipes de Desenvolvimento

PIPE ID PIPE NAME PIPE URL 725642 Caveiras https://app.pipefy.com/pipes/725642 786310 Defensores https://app.pipefy.com/pipes/786310 451637 Guardiões https://app.pipefy.com/pipes/451637 451635 Vingadores https://app.pipefy.com/pipes/451635 877708 Esquadrão Suicída https://app.pipefy.com/pipes/877708 979418 Tambaqui https://app.pipefy.com/pipes/979418 961531 Baymax https://app.pipefy.com/pipes/961531 786390 Black Ops https://app.pipefy.com/pipes/786390 301411216 AC/DC https://app.pipefy.com/pipes/301411216

Pipes de Demandas

PIPE ID PIPE NAME PIPE URL 1158684 Demandas https://app.pipefy.com/pipes/1158684 1158790 Projetos https://app.pipefy.com/pipes/1158790 451374 Produtos https://app.pipefy.com/pipes/451374 735403 Dark Souls https://app.pipefy.com/pipes/735403 1083563 Amazonas https://app.pipefy.com/pipes/1083563 1263167 300 https://app.pipefy.com/pipes/1263167
Campos Mapeados

Pipes de Desenvolvimento

PROPRIEDADE TIME DE PARA Sprint Caveiras    sprint Defensores field_11_connector Guardiões field_37_connector Vingadores   Esquadrão Suicida   Tambaqui   Baymax   Black Ops   AC/DC   Time Caveiras   time Defensores field_10_connector Guardiões field_36_connector Vingadores   Esquadrão Suicida   Tambaqui   Baymax   Black Ops   AC/DC   Planejado na Sprint? Caveiras field_9_string planejado Defensores field_10_string Guardiões field_31_string Vingadores field_30_string Esquadrão Suicida field_9_string Tambaqui field_10_string Baymax field_9_string Black Ops field_5_string AC/DC field_7_string Necessidade Caveiras field_15_connector necessidade Defensores field_7_connector Guardiões field_34_connector Vingadores field_34_connector Esquadrão Suicida   Tambaqui field_8_connector Baymax field_5_connector Black Ops field_4_connector AC/DC   Projeto Caveiras field_14_connector projeto Defensores field_5_connector Guardiões field_33_connector Vingadores field_33_connector Esquadrão Suicida field_5_connector Tambaqui field_7_connector Baymax field_4_connector Black Ops field_6_connector AC/DC   Produto Caveiras field_11_connector produto Defensores field_3_connector Guardiões field_31_connector Vingadores field_28_connector Esquadrão Suicida field_1_connector Tambaqui field_5_connector Baymax field_1_connector Black Ops field_5_connector AC/DC   Tipo de Atividade Caveiras field_1_label_select atividade Defensores field_1_label_select Guardiões field_25_label_select Vingadores field_20_label_select Esquadrão Suicida field_1_label_select Tambaqui field_1_label_select Baymax field_1_label_select Black Ops field_1_label_select AC/DC field_1_label_select Pontos de História Caveiras field_5_number pontos Defensores field_5_number Guardiões field_6_number Vingadores field_3_number Esquadrão Suicida field_1_number Tambaqui field_1_number Baymax field_2_number Black Ops field_3_number AC/DC field_1_number

MODELOAMBIENTE DE CONSULTATESTE

Para atender a obtençãodemanda R.E.2 , torna-se necessário detalhar quais ferramentas foram utilizadas assim como a instalação e configuração do ambiente do laboratório de teste. Esta seção é dividida em três partes, sendo elas, 1) Ferramentas Necessárias; 2) Instalação das Ferramentas Necessárias; 3) Configuração do Ambiente.

Ferramentas Necessárias

VM Ware / Virtual Box

Instalação

VM Ware / Virtual Box

Configuração

VM Ware / Virtual Box

DEFINIÇÃO DOS CASOS DE TESTE

Para os casos de teste vamos utilizar os registros de auditoria do SEI, devido a grande quantidade de registros nas tabelas, o que facilitará a análise de performance dos dadosservidores necessários,clusterizados. éOs possíveltestes utilizarserão adivididos seguinteem consultaInserção, GraphQL:Projeção+Junção, Aritimética+Agrupamento. Para todos os exemplos serão consideradas as métricas quantidade de linhas afetadas X tempo e tamanho da tabela X tempo. Essas métricas são consolidadas na literatura (PIRES, 2006).

{
Teste allCards(pipeId:de #PIPEID)Inserção
{
Teste edgesde {Projeção+Junção
node
Teste {de id title current_phase { id name } fields { date_value datetime_value filled_at float_value indexName name report_value updated_at value } } } } }

As consultas podem ser testadas no link https://app.pipefy.com/graphiql, logando com a conta dashboardsetic.Aritmética+Agrupamento

RESULTADOS

Após análise dos Pipes, assim como seus campos, foi identificada a necessidade de implantação do projeto em algumas etapas, sendo elas: 

# ETAPA PREVISÃO CONCLUSÃO
1 Estudo de viabilização da implantação dos Pipes de Desenvolvimento 25/11/2020 17/11/2020
2 Implantação dos Pipes de Desenvolvimento; 11/12/2020  
3 Estudo de viabilização da implantação dos Pipes de Demandas;    
4 Implantação dos Pipes de Demandas;    

CONCLUSÃO

Conforme demonstrado, o projeto será implantado em etapas, descritas no parágrafo anterior. A utilização do GRAPHQL foi definida anteriormente, sendo documentada no link a seguir https://documentos.sistemas.ro.gov.br/books/pipefy/page/ferramentas-de-integra%C3%A7%C3%A3o-do-pipefy .

RECOMENDA-SE a adoção dos campos Sprint e Time, atualmente utilizado pelos Guardiões e Defensores, nos Pipes de TODOS os times de Desenvolvimento.

REFERÊNCIAS

Documentação - Ferramentas de Integração PipefyArtigo - https://documentos.sistemas.ro.gov.br/books/pipefy/page/ferramentas-de-integra%C3%A7%C3%A3o-do-pipefyPires, Carlos ES, Rilson O. Nascimento, and Ana C. Salgado. "Comparativo de desempenho entre bancos de dados de código aberto." Escola Regional de Banco de Dados, Anais da ERBD06, Porto Alegre (2006).

Artigo - Angles, Renzo, et al. "Benchmarking database systems for social network applications." First International Workshop on Graph Data Management Experiences and Systems. 2013.