Ótimos motivos e bons recursos para estudar SQL

Data is the new oil
Clive Humby

Sua empresa está gastando muito com bancos de dados? O desempenho não está satisfatório? Caso suas respostas sejam afirmativas, fique tranquilo (mas nem tanto) – você não está sozinho e o objetivo desse livro é te ajudar a superar essas dificuldades.

Bancos de dados são, frequentemente, a principal restrição para a escalabilidade de aplicações empresariais. Entretanto, essa “restrição” é quase sempre produto da falta de conhecimentos, habilidades e atitudes de quem os mantêm para fazer tudo do jeito certo.
0
Considerações?x
Os custos com infraestrutura para sustentar bancos de dados são inversamente proporcionais ao conhecimento daqueles que os administram.

Para quem entende pouco sobre bancos de dados, a solução mais simples, quando eles se convertem em gargalos, é “aumentar” a infraestrutura. Literalmente, isso é dinheiro deixado na mesa, corroendo a lucratividade e consequentemente a competitividade das organizações.

Usar bancos de dados do jeito certo permite o desenvolvimento de soluções mais baratas, confiáveis e escaláveis, postergando investimentos em máquina e licenciamento para quando eles forem realmente necessários.
0
Considerações?x

“Enganos” comuns que você não cometerá mais

Existem alguns “enganos” absolutamente comuns, fáceis de evitar, que impactam negativamente o desempenho dos bancos de dados. Talvez, sem perceber, você os cometa no seu dia-a-dia. Após concluir a leitura desse livro, entenderá quais os detalhes que realmente fazem o diferencial para que o banco de dados não se torne um problema futuro para o negócio.

Índices pouco assertivos

Acredite, seu banco de dados dará respostas muito mais rápidas se os “índices corretos” estiverem sido implementados!

Muitos índices, maior custo com gravações. Poucos índices, performance pobre em leituras.

São os índices, quando definidos do jeito certo, que garantem eficiência e estabilidade, independente do volume de dados.

Conversões dos tipos de dados pela consulta

Utilizar tipos de dados, diferentes do originalmente definido na coluna, principalmente na cláusula where, geralmente faz com que toda tabela tenha que ser lida. Afinal, antes é preciso aplicar a conversão para cada linha da tabela, para então recuperar somente os registros necessários. O mesmo se aplica para o uso de funções em campos da tabela, na cláusula where. É preciso conhecer o resultado da expressão, processando-a em cada linha da tabela, para poder utilizá-la posteriormente.

O “banco de dados” faz o que você pedir, da melhor forma possível. Não é culpa do SGBD se os pedidos são feitos da forma errada.

Obtenção de mais dados do que o necessário

Outro “engano” muito comum no desenvolvimento de aplicações que acessam banco de dados, é solicitar um grande volume de informações, trafegá-las via rede, para que somente então a aplicação utilize algum filtro nesses dados, no momento de processá-los.

O uso indevido de ferramentas ORM é causa comum para tráfego exagerado de dados.

Processamento row-by-row

mindset de desenvolvedor geralmente produz consultas semanticamente corretas, mas ineficientes, envolvendo loops e condicionais.

Boas consultas exigem mindset de DBA, procurando tratar dados em blocos (set-based).

É muito mais rápido, para o banco de dados, efetuar um update em 1.000 linhas de uma única vez, do que 1.000 updates independentes. Abordagens set-based possibilitam isso em cenários pouco intuitivos para desenvolvedores.

Set-based design: uma introdução

Nesse vídeo compartilhamos uma visão prática de como a abordagem set-based possibilita implementar consultas com melhor desempenho.

Acessar vídeo

Lembre-se: o banco de dados é importante para os negócios

Bancos de dados influenciam nos resultados dos negócios muito além dos custos com infraestrutura e licenciamento.

Bancos de dados lentos repercutem em aplicações lentas, que atrapalham o “negócio”. Lentidão prejudica a experiência dos usuários e, em muitos casos, acaba impactando diretamente nos resultados financeiros das organizações. No varejo on-line, por exemplo, estima-se que cada segundo para renderizar uma página implique em perda de até 7% das conversões. Por outro lado, bancos de dados performáticos impactam positivamente no desempenho das aplicações.

Em um mundo cada vez mais data-centric, onde volumes cada vez maiores de dados são gerados dia-a-dia e, idealmente, fundamentam as tomadas de decisão, bancos de dados convertem-se em ativo estratégico.

Bancos de dados, que lidam com volumes de dados imensos, necessitam estar devidamente otimizados, para que de fato, possam fazer a diferença. Utilizá-los apenas como repositórios dos dados, não dando sua devida importância, irá torná-lo o vilão em potencial de qualquer aplicação. Sendo assim, é vital para qualquer negócio evitar que o banco de dados venha a ser o ponto central do gargalo, principalmente quando se almeja um crescimento constante com o passar do tempo.

Estudar SQL Server, Oracle, PostgreSQL? Tanto faz!

Embora cada SGBD tenha suas especificidades e particularidades, boa parte, senão a maioria dos conceitos mais relevantes, são comuns a todos. Índices, por exemplo, seguem princípios relativamente comuns entre eles.

Há alguns anos SQL tem sido suportada por todos os SGBDs de maneira cada vez mais uniforme, conforme a especificação ANSI. Entretanto, ainda que existam notáveis extensões visando suportar especificidades e recursos exclusivos.

SQL (Structured Query Language)

SQL (Structured Query Language) está formalmente definida na ISO 9075, com última revisão formal disponibilizada em 2016. Trata-se de um padrão de fato.

Finalmente, a tipagem de dados nos diversos SGBDs é bem similar. Isso significa que a modelagem de dados para um SGBD deve funcionar para os demais, com impacto próximo do zero.

O que precisa para “acompanhar” este livro

Qualquer SGBD serve! Mas, nesse livro utilizaremos SQL Server.

Pode ser utilizado a distribuição Developer, disponibilizada pela Microsoft para quem deseja estudar, de forma gratuita. Essa versão possui todos os recursos da versão Enterprise, mas não deve ser utilizada em ambiente produtivo.

Como cliente, utilizaremos o Microsoft Management Studio, com dois add-ins gratuítos.

  1. SQL Sentry Plan Explorer da SentryOne: ferramenta que estende os recursos do plano de execução do Management Studio e que facilita algumas análises.
  2. dbForge SQL Complete da Devart: ferramenta que tem vários facilitadores para escrita de código SQL, sendo um deles o de formatação do código (que pode ser customizável), além de um intellisense mais intuitivo que o nativo.

Para pensar…

Sabe o que mais, além dos bancos de dados, representa uma grande restrição para o desenvolvimento de aplicações com bom desempenho? Dinheiro, ou melhor, a falta dele!

Não conhecemos a maneira que você utiliza seus bancos de dados, mas, se ninguém na sua empresa sabe, em profundidade, como usá-los do jeito certo, é muito provável que sua infraestrutura esteja superdimensionada, gerando custo desnecessário, inclusive com licenciamento. Pior ainda! É muito provável que o desempenho esteja distante do satisfatório.
0
Considerações?x

Consultas lentas, aplicações lentas, custos elevados e resultados pobres! Você não precisa disso e vamos te mostrar como usar SQL do jeito certo nos próximos capítulos.

Compartilhe este capítulo:

Compartilhe:

Comentários

Participe da construção deste capítulo deixando seu comentário:

Inscrever-se
Notify of
guest
0 Comentários
Feedbacks interativos
Ver todos os comentários

AUTOR

Marcelo Michelon

Consultor na EximiaCo que atua como especialista na modelagem, manutenção e otimização de bases de dados e na gestão de servidores com SQL Server.

COAUTOR

Elemar Júnior

Fundador e CEO da EximiaCo, atua como tech trusted advisor ajudando diversas empresas a gerar mais resultados através da tecnologia. 

Seminário

SQL
na velocidade da luz

Bancos de dados podem representar o sonho ou o pesadelo em qualquer aplicação empresarial. Nesse seminário, são apresentadas técnicas avançadas para modelagem e otimização de performance.

0
Quero saber a sua opinião, deixe seu comentáriox
()
x