SQL Server ed ALM su database


Il blog di Alessandro Alpi
Archivio Posts
Anno 2018

Anno 2017

Anno 2016

Anno 2015

Anno 2014

Anno 2013

Anno 2012

Anno 2011

Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

SQL Server 2008 - Declarative Management Framework

Qualche giorno fa ho seguito il blog di Gianluca Hotz sul Declarative Management Framework, una nuova interessantissima feature di SQL Server 2008.
Devo dire che l'ho trovata proprio una funzionalità potente e molto interessante. Tramite DMF è possibile infatti definire svariate policies relative alle opzioni del server, a quelle del database e a tutto ciò che può essere definito nell'amministrazione di un database server in generale.
Un tipo di policy a mio avviso molto importante per alcuni aspetti è quello che consente di stabilire le regole relative alla naming convention degli oggetti database. E' possibile definire ben definiti vincoli sull'utilizzo dei normi degli oggetti che andiamo a creare.

Prendendo l'esempio dell'azienda in cui lavoro, tutti si possono riferire ad un documento in cui sono specificate le linee guida per la creazione delle tabelle, foreign key, programmabilità, ecc.
Ma non risulta troppo comodo, poichè è necessario sempre rileggere la parte del documento interessata ogni qual volta andiamo ad operare sul nostro db.. Prima o poi i concetti entrano in testa e il doc non serve più ma rimane sempre la possibilità che chi va a creare oggetti possa sbagliarsi anche senza accorgersene.. Quindi il doc fornisce sì le linee guida, ma non controlla.
DMF, con la policy sulle naming, serve proprio in questo punto. Soprattutto per chi, come me, ha dovuto implementare una logica di DDL trigger a manina per controllare il nome di ogni oggetto.
A prescindere dal fatto che comunque le policies di questo tipo utilizzino comunque dei trigger DDL, credo che utilizzare la nuova feature di SQL Server 2008 per la naming convention sia più veloce e decisamente importante per il database development.

Innanzitutto per la leggibilità del codice. Lavorando in gruppo e seguendo le regole, tutti sapranno sempre scrivere codice comprensibile per tutti. Comprensibile anche dopo tanto tempo che non lo si guarda più, poichè anche se la policy si riferisce all'oggetto nello specifico, indirettamente mantiene più vicino quanto scritto agli standard aziendali.

E DMF ci sonsente di creare, a mio modo di vedere, proprio la definizione di standard di sviluppo aziendali. Risulta molto comodo definire un template di regole da seguire, esportarlo in XML e poi riutilizzarlo identico su di un altro server o in altri contesti.

E per ultima cosa, ma non per importanza, riusciamo ad ottenere un vero e proprio ordine una sorta di schema controllato e organizzato. Questo ci permette di avere chiarezza, o meglio, di capire sempre di quali oggetti si sta parlando. E' molto utile sapere che un tipo oggetto si chiamerà sempre con un nome relativo ad un particolare template. Anche per avere un database "parlante" e "pulito" a livello di modellazione.

Sia chiaro, sono cose che il buonsenso di ogni DBA o DBDeveloper (o sviluppatore in generale) hanno già creato. Non è una novità darsi delle regole di sviluppo. La novità è proprio lo strumento che ci permette di crearle e controllarle in automatico, senza dover dire "ma chi ha fatto temp1?", oppure "ma prova2 è una vista o una tabella?" . Ora, queste sono estremizzazioni, ma credo che qualcuno abbia già affrontato problemi simili ..
Quante volte si sentono persone che dicono "creo una tabella di appoggio e la chiamo appo"? Beh, ora, per evitare che queste cose si ripetano, DMF impedirà la creazione dell'oggetto e darà un messaggio di ritorno come "Ok, falla pure, ma non qui" .

A parte gli scherzi con questo tipo di policy, a mio modesto parere, avremo tanti vantaggi. Certo, qualcuno storcerà il naso perchè non si sentirà più liberissimo. Ma tutto va a favore dello sviluppo.

Pensate che questa è solo una piccola parte delle policies che si possono configurare. Ce ne sono tantissime e sarà importantissimo capirle tutte a fondo per determinare fino a dove possano servire alla nostra causa o fino a quanto profondamente possiamo spingerci nel definirle.
Che dire, spero di poterle utilizzare presto, anche se il caro sql server 2005 (come passa il tempo ) resterà sui nostri server per ancora tanto tempo.
Intanto sul mio pc la CTP5 c'è.. Mi divertirò con quella versione per ora..
E voi? cosa pensate di SQL Server 2008? e di questo DMF?

Stay tuned!
Categoria: SQL Server 2008
sabato, 24 nov 2007 Ore. 16.15

Messaggi collegati


Statistiche
  • Views Home Page: 585.732
  • Views Posts: 1.043.063
  • Views Gallerie: 610.247
  • n° Posts: 484
  • n° Commenti: 273



















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003