Quanto custa o seu Banco de Dados? [email protected] www.amt.com.br AGENDA I. II. III. IV. V. VI. VII. VIII. IX. X. Terminologia Básica Ranking dos DB engines Modalidade Open Source Modalidades de Comercialização SGBD Oracle MS SQL Server MySQL PostgreSQL Custos Invisíveis Conclusões TERMINOLOGIA BÁSICA • Um banco de dados (BD) consiste em um repositório contendo dados relacionados; já um sistema gerenciador de bancos de dados (SGBD) é um programa, pago, ou não, instalado e configurado; • Um SGBD pode ser proprietário ou disponibilizado na modalidade Open Source; • Funcionalidades de um SGBD são agrupadas em edições; • Novas funcionalidades aparecem a cada nova versão. RANKING DOS DB ENGINES http://db-engines.com/en/ranking MODALIDADE OPEN SOURCE Uma alternativa à aquisição de um SGBD proprietário consiste na utilização de produtos de código aberto: • Temos liberdade de copiar o código fonte e realizar mudanças visando adequar a ferramenta às regras de negócio; • Deve haver uma comunidade de usuários vigorosa dando “suporte”; • Curva de aprendizado para dominar o produto por completo tende a ser mais longa. MODALIDADES DE COMERCIALIZAÇÃO SGBD • Aquisição Licença: Utilização do produto mediante compra de licenças, associadas a usuários ou a servidores e a ferramentas; • Aluguel de licença: Através de um Provedor de Infraestrutura, paga-se enquanto se usa; • Pacote: Utilizado para modalidade Open Source, empresas “empacotam” um produto de código aberto liberando o usuário dos detalhes mais espinhosos; • Suporte: Além do produto em si, vende-se a possibilidade de prestar auxílio na sua utilização; ORACLE • Edições • • • • • Personal Standard 2 Enterprise Mobile Server NoSQL Database Enterprise Edition • Tipos de Licenciamento • Por Usuário = é preciso saber exatamente quantos usuários acessarão o servidor no qual está instalado o Oracle Software (para edição Enterprise, mínimo de 25 por CPU); • Por Processador = depende do número de "cores" (número de núcleos * fator do fabricante). ORACLE • Termos de Licenciamento • Em princípio, são “eternas” = enquanto não mudar a versão; • Pode-se aplicar a modalidade anual: suporte é cobrado à parte (22% do valor estipulado para o produto em questão); • Options são cobradas à parte: ✓ Diagnostic Pack ✓ Tuning Pack ✓ Multitenancy ✓ Particionamento ✓ RAC ✓ Compressão ✓ Active Data Guard Anos Percentual 1 20% 2 35% 3 50% 4 60% 5 70% http://www.orskl.com/what-is-the-cost-of-oracle-database-license-lets-find-out/ http://www.oracle.com/us/corporate/pricing/technology-price-list-070617.pdf ORACLE Exemplo de orçamento: Requisitos Valores Unitários (U$) Edição Entreprise 47.500,00 Option de RAC 23.000,00 Option de Active Data Guard 11.500,00 3 servidores com 4 núcleos Intel (dois para o cluster, um terceiro para o Active Data Guard); 4 x 0,5 = 2 (0,5 é o fator para Intel) Usuários ilimitados; SEM suporte; TOTAL = {2 x [ (47.500,00 x 2) + 23.000,00] } + [ (47.500,00 x 2) + 11.500,00] = U$ 342.500,00 ORACLE • Marinheiro de primeira viagem, CUIDADO! • Ao realizar o download de uma versão, são 30 dias para testes, extensíveis por mais 90 dias; • Expirado o prazo trial, começa o período elegível de cobranças, inclusive para ambientes de teste e desenvolvimento! • Alternativa seria migrar parte dos servidores para a nuvem. • Consulte AMT CLOUD BROKER ; • Ou ainda para um Exadata! MS SQL SERVER • A partir da versão 2005, a MS tem lançado versões que mantém a funcionalidade do “core” inicial; • A última versão lançada foi a 2016; • Não existe o conceito de “option”, porém, componentes executados em outros servidores devem ser licenciados; • Edições: • • • • • Standard; Enterprise; Web; Express; Developer. https://www.microsoft.com/pt-br/sql-server/sql-server-2016-pricing MS SQL SERVER • Licenciamento • Servidor + CAL (client access licence) = uma licença por cada servidor físico + licenças por usuário; • Por núcleo: ✓ Aplicável a cada servidor que possua SQL Server ou um de seus componentes instalados; ✓ Quantidade ilimitada de usuários; ✓ Mínimo de 4 por cada processador. • Ambientes Virtuais • Pode-se licenciar cada VM ou considerando através do(s) servidor(es) físico(s) ; MS SQL SERVER Exemplo de orçamento: Requisitos Valores Unitários (U$) Edição Entreprise 14.256,00 3 servidores com 4 núcleos Intel Usuários ilimitados; SEM suporte; INVESTIMENTO TOTAL = 3 x (14.256,00 x 4) = U$ 171.072,00 MySQL • Engine de código aberto; Vulnerabilidades descobertas dependem da comunidade para solução! • Para obtenção de facilidades (suporte), podemos adquirir subscriptions; https://www.mysql.com/products/ • Edições: • • • • • Community (grátis); Embedded (incorporada em uma solução completa); Cluster CGE; Standard; Enterprise. MySQL Exemplo (orçamento em US$ para assinatura anual): Requisitos Valores Unitários (U$) Edição Enterprise; 5.000,00 Edição Cluster CGE; 10.000,00 3 servidores (2 para cluster e 1 para replicação); Usuários ilimitados; INVESTIMENTO TOTAL = (2 x 10.000,00) + 5.000 = U$ 25.000,00 (por ano) POSTGRESQL • Código fonte de “fácil” compreensão; • Termos de Uso = https://opensource.org/licenses/postgresql • Comunidade sólida; • Suporte oferecido por empresas certificadas: • https://www.postgresql.org/support/ CUSTOS INVISÍVEIS: BACKUP • Quanto vale seu banco de dados? • E se o BD ficar indisponível? • Qual a perda de faturamento por hora? • E se o BD for perdido? • Quanto custará o retrabalho? • Como medir retrabalho? • E se houver “furto” de dados... CUSTOS INVISÍVEIS: PERFORMANCE Considere o exemplo: • Uma consulta Q leva 20 segundos, mas, corretamente otimizada, poderia ter sua duração reduzida à metade; • A base é acessada por 800 usuários, que executam a consulta, em média, 10 vezes por dia; • Pergunta: Quantas horas são desperdiçadas por dia? • Desperdício = 800 x 10 x 10s -> aproximadamente 22 horas; • Após 20 dias serão 440 horas; • Supondo uma folha salarial com média de R$ 5.000 por colaborador, o valor de HH médio da folha é de R$ 30,00; • Por mês, o desperdício é de 440 x R$30,00 = R$ 13.200,00 Uma query mal escrita gera prejuízo mensal para a empresa! CONCLUSÕES Ao escolher um SGBD: • Medir recursos estimados X custos de licenciamento/suporte; • Analisar disponibilidade de mão de obra; • Elaborar políticas bem consolidadas de backup e segurança; • Analisar, periodicamente e de forma recorrente, o valor corrente dos bancos de dados. Questões? [email protected] www.amt.com.br Obrigado! Eduardo Morelli [email protected] [email protected] www.amt.com.br