Database
 sql >> Base de Dados >  >> RDS >> Database

Projeto de banco de dados


Pratico técnicas de banco de dados ágeis há cerca de vinte anos. Meu uso dessas técnicas não começou como um plano definido; em vez disso, evoluiu ao longo do tempo à medida que eu prestava consultoria em vários projetos. Fazia sentido buscar formas de trabalhar mais rápido e com maior interação com o cliente.

Posso pensar em pelo menos três tipos de técnicas de banco de dados ágeis:
  • Modelagem de dados
  • Desenvolvimento de data warehouse
  • Engenharia reversa de banco de dados

Modelagem de dados ágil


Muitos pensam na modelagem de dados como uma tarefa trabalhosa. Mas isso não precisa ser o caso. Você pode tirar a modelagem de dados da sala dos fundos e fazê-la na frente de um cliente. Você pode pensar que os clientes ficariam desanimados com o sangue técnico, mas não são. A equipe de negócios tem uma paixão pelo seu trabalho e uma visão de onde eles querem ir. Eles estão entusiasmados por ter a TI como um facilitador em vez de um obstáculo.

Para modelagem de dados ágil, um desenvolvedor precisa fazer o seguinte:
  • Seja fluente com os conceitos de modelagem de dados e uma ferramenta de modelagem de dados.
  • Consiga um público amigável nas primeiras vezes. Você precisa testar suas técnicas em um público estimulante até ganhar confiança.
  • Tenha pelo menos um campeão de negócios no público:alguém para receber o resultado do seu trabalho, alguém que entenda profundamente o negócio e ajude a levar os outros ao consenso.
  • Tenha um projeto sólido com um objetivo claro e uma justificativa comercial.

Com a modelagem de dados ágil, os desenvolvedores trabalham rapidamente e fornecem revisões frequentes do modelo. Prefiro que as sessões de modelagem de dados não durem mais de duas horas. Essas sessões são intensas, com todos debatendo ideias. Após duas horas, os participantes precisarão de um descanso. Você também precisará de tempo para limpar o modelo e acompanhar a documentação.

As técnicas ágeis se aplicam a todas as facetas da modelagem de dados, incluindo sistemas operacionais do dia-a-dia, data warehouses, modelos de dados mestres e modelos de dados corporativos.

Técnicas de Desenvolvimento de Data Warehouse Agile


As técnicas ágeis também são importantes quando você está construindo um data warehouse. Especificamente, há duas áreas em que aplicamos essas técnicas ao desenvolvimento de armazéns.

A primeira é a preparação de dados . É uma boa prática usar tabelas de preparação intermediárias para armazenar em buffer o warehouse das fontes operacionais. As tabelas de preparo duplicam dados operacionais e adicionam metadados, como sistema de origem, data de processamento, carimbo de data/hora efetivo e carimbo de data/hora de expiração. Atualmente, a maioria dos desenvolvedores processa dados de teste com código ETL personalizado. (ETL é um acrônimo para Extrair, Transformar e Carregar.) Há pelo menos uma ferramenta (Dados A2B) que automatiza a criação e o preenchimento de esquemas de tabela de preparo.

Também estamos usando técnicas ágeis para melhorar o processamento de dados do armazém . Para isso, privilegiamos uma mistura de ETL e SQL. O ETL é usado para tabelas principais com lógica complexa, enquanto o SQL é usado para tabelas periféricas – e há muitas delas em um armazém típico. É aproximadamente 10 vezes mais rápido escrever SQL do que ETL. O código SQL também é mais fácil de evoluir e testar. Razoavelmente, você pode esperar substituir ETL por SQL para cerca de metade das tabelas; a quantidade exata depende da complexidade do warehouse e de sua habilidade em SQL.

Essas melhorias reduzem a quantidade de código ETL que precisa ser escrito ao implantá-lo onde é mais valioso:para grandes conjuntos de dados com várias fontes para integrar e processar.


Agilidade na Engenharia Reversa de Banco de Dados


Também usamos técnicas ágeis durante a engenharia reversa. A engenharia reversa pega um projeto existente e trabalha de trás para frente para inferir a intenção lógica subjacente. A engenharia reversa de banco de dados pode ter várias motivações. Você pode estar convertendo de uma plataforma de banco de dados para outra. Ou você pode estar tentando entender melhor o modelo para fins de manutenção. Ou você pode estar tentando salvar os requisitos implícitos em um esquema para consideração pelo novo software.

Geralmente começamos analisando o esquema existente. Um esquema geralmente está disponível e é algo que podemos estudar rapidamente. Podemos aumentar isso com outros recursos, como documentação, dados e conversas com desenvolvedores.

Uma ferramenta de modelagem de dados é um recurso importante para estudar o esquema. A maioria das ferramentas pode importar o esquema SQL para que você possa ver as tabelas e como elas se conectam. Muitas vezes, isso é suficiente para a análise de engenharia reversa.

Técnicas de banco de dados ágil:a lição


O desenvolvimento ágil é um tópico popular que tem várias implicações de banco de dados. Uma abordagem ágil é útil para modelagem de dados, desenvolvimento de data warehouse e engenharia reversa de banco de dados.

Michael Blaha é um consultor e instrutor especializado em conceber, arquitetar, modelar, projetar e ajustar bancos de dados. Ele trabalhou com dezenas de organizações em todo o mundo. O Dr. Blaha é autor de sete patentes nos EUA, sete livros, muitos artigos e dois cursos em vídeo. Sua publicação mais recente é o Agile Data Warehouse Design curso em vídeo da O'Reilly. Ele recebeu seu doutorado pela Washington University em St. Louis e é ex-aluno da GE Global Research em Schenectady, Nova York. Você pode encontrar mais informações em seu perfil no LinkedIn ou em superdataguy.com.