>_ DevTrendspt

Idioma

Início

Linguagens

Seções

Frontend Backend Mobile DevOps AI / ML GameDev Blockchain Embarcados Segurança
Unknown

Como Parar de Reinventar a Roda ao Trabalhar com SQL Server

Imagine que você precisa testar rapidamente um novo recurso em um banco de dados ou implantar um ambiente de demonstração para um cliente. Normalmente, isso se transforma em uma busca: criar uma estrutura de tabela, preenchê-la com dados pelo menos um pouco realistas e não esquecer dos índices. A Microsoft resolveu esse problema há muito tempo ao reunir tudo o que você precisa para trabalhar com dados em um só lugar.

O que é este repositório

O projeto sql-server-samples é o "sandbox" oficial da Microsoft. Ele contém não apenas trechos de código, mas exemplos completos para toda a linha Azure Data: desde o SQL Server clássico até o Azure Synapse e SQL Edge.

O principal valor aqui são os bancos de dados e cenários prontos. Se você está apenas começando a aprender SQL ou quer ver como recursos complexos como In-Memory OLTP funcionam em condições reais, este repositório economizará dezenas de horas.

Para que este conjunto é útil

O repositório possui várias áreas principais, cada uma abordando tarefas específicas de desenvolvedores ou administradores de banco de dados.

Bancos de dados prontos para qualquer tarefa

Em vez de tabelas vazias, você obtém projetos preenchidos com dados. Os mais conhecidos são:

  • Wide World Importers. O padrão moderno para SQL Server 2016 e posterior. Tem de tudo: desde transações regulares (OLTP) até cubos analíticos (OLAP).
  • AdventureWorks. Um clássico com o qual gerações de administradores cresceram. Disponível em diferentes variações: desde versões leves até armazéns de dados massivos.
  • Northwind. Para quem gosta de visualizar a estrutura, as versões incluem até um diagrama de entidades deste banco de dados.

Demonstração de performance

Uma das seções mais interessantes é a In-Memory OLTP Performance Demo. Esta é uma demonstração pronta que mostra claramente a diferença de velocidade entre tabelas regulares e tabelas in-memory. Quando você precisa justificar a migração para novas tecnologias para o negócio, esses números funcionam melhor do que qualquer apresentação.

Cenários de Internet das Coisas

Para quem trabalha com hardware, existe o IoT Smart Grid. Este é um exemplo de como o SQL Server lida com fluxos massivos de dados de sensores. Ele demonstra todo o ciclo: desde a ingestão de dados até análises em tempo real.

Como trabalhar com isso

O repositório é enorme — mais de 500 MB. Cloná-lo inteiramente para um script não faz sentido. Os desenvolvedores anteciparam isso e ofereceram sparse checkout. Isso permite baixar apenas as pastas que você precisa.

Aqui está como obter apenas os recursos e materiais de demonstração:

git clone -n https://github.com/Microsoft/sql-server-samples
cd sql-server-samples
git config core.sparsecheckout true
echo samples/features/* >> .git/info/sparse-checkout
echo samples/demos/* >> .git/info/sparse-checkout
git checkout

A propósito, se você não quer se preocupar com código e construção, verifique a seção Releases. Existem arquivos .bak e .bacpac prontos. Você pode simplesmente implantá-los em seu servidor em poucos cliques.

Casos de uso práticos

Eu frequentemente uso esses materiais em dois cenários. Primeiro, para treinamento. Se você precisa explicar a um colega como particionamento ou índices Columnstore funcionam, é mais fácil demonstrar no Wide World Importers do que desenhar diagramas em um guardanapo.

Segundo, é uma ótima base para testes de carga. Em vez de gerar ruído aleatório, você pega a estrutura do AdventureWorks e executa suas consultas contra ele. Isso fornece resultados muito mais previsíveis e realistas.

O repositório microsoft/sql-server-samples será útil para:

  • Desenvolvedores que precisam de dados realistas para depurar aplicações.
  • Arquitetos estudando as melhores práticas de design de banco de dados diretamente dos criadores do motor.
  • Qualquer pessoa que queira experimentar Azure Synapse ou SQL Edge sem gastar tempo configurando um ambiente do zero.

Este não é um projeto que você estudará todos os dias, mas definitivamente vale a pena adicionar aos favoritos. Quando uma tarefa de otimização ou migração aparecer, você agradecerá a si mesmo por não ter escrito geradores de dados manualmente.

Projetos relacionados