Roma – Microsoft Italia ha di recente organizzato presso la propria sede di Milano un Laboratorio Tecnico su SQL Server 2005 e Visual Studio 2005, due software chiave nella propria strategia di espansione verso il mercato enterprise. Con le nuove evoluzioni del suo server di database e del suo ambiente di sviluppo Microsoft intende competere ad armi pari con giganti del settore enterprise come Oracle e IBM e, nello stesso tempo, dimostrare che il suo core business non è più esclusivamente costituito dal software desktop: presto la divisione Server and Tools Business genererà infatti un fatturato paragonabile a quello delle altre due divisioni, segno evidente del fatto che Microsoft, da società che mirava principalmente al mercato delle piccole e medie imprese (PMI), si sta trasformando in una realtà sempre più presente anche nel segmento delle grandi aziende.
Di seguito si riporta una sintesi delle molte informazioni fornite dai tecnici e dai dirigenti di Microsoft Italia su SQL Server 2005, inclusi dati e obiettivi di mercato e novità relative alla tecnologia, alle funzionalità e al licensing. La seconda parte del reportage, dedicata a Visual Studio 2005, sarà pubblicata domani.
“SQL Server 2005 e Visual Studio 2005 portano questo nome perché verranno assolutamente rilasciati nel corso dell’anno e, per essere precisi, verranno rilasciati dopo l’estate (in occasione del recente Tech Ed di Orlando Microsoft ha ufficializzato che verranno entrambi rilasciati il 7 Novembre di quest’anno, N.d.R.). Nel caso di SQL Server abbiamo maturato un paio d’anni di ritardo visto che sarebbe dovuto uscire nel 2003, mentre nel caso di Visual Studio siamo più o meno in linea con i tempi previsti”, ha affermato Michele Zoppi, neo product manger di SQL Server 2005.
Zoppi ha poi commentato le stime di Gartner sulle quote di mercato (escluso il settore mainframe) dei database Windows/Unix.
“Dal punto di vista di Microsoft si possono osservare dei trend molto interessanti. Innanzitutto c’è la conferma che Microsoft è uno dei grandi player mondiali nel settore dei database: il fatturato di SQL Server è allo stesso livello di DB2 e di Oracle. I dati più interessanti sono però quelli relativi al mondo dei database per Windows: a partire dal 2002 Windows ha superato, come sistema operativo per database, le vendite di soluzioni Unix. Sempre a partire dal 2002 le principali società che vendono database hanno iniziato a trarre maggior profitto da Windows che non da Unix/Linux. Altra cosa interessante è che per quel che riguarda il mondo Windows, Microsoft SQL Server è il leader con più del cinquanta percento del mercato”.
Zoppi ha poi aggiunto che SQL Server è anche il database più diffuso per i sistemi ERP di SAP.
“Da parecchio tempo Windows è la piattaforma più utilizzata come sistema operativo per SAP (più del 50% di tutte le installazioni e quasi il 63% delle nuove installazioni di SAP è su Windows) mentre SQL Server è il database più diffuso per SAP. Questo conferma che per il mercato il duo Windows/SQL Server è una soluzione molto valida”.
Il product manager di SQL Server ha quindi spiegato quello che sta succedendo nel mondo dei database e le corrispondenti strategie che sono state adottate da Microsoft per rispondere alle nuove esigenze.
“Ci sono tutta una serie di workload che richiedono database con caratteristiche diverse: si passa da workload dove i database relazionali servono per gestire i siti web alle applicazioni enterprise per datawarehouse o reporting. In questo mondo ci sono quattro grossi player: MySQL, che sta muovendosi dal basso verso quei segmenti che richiedono database con valore aggiunto, e Oracle e IBM, che si stanno invece spostando verso il basso, dove hanno scoperto l’esistenza di un mercato fertile che prima non interessava loro. Noi abbiamo lanciato a marzo la nuova pacchettizzazione che ci permette di raggiungere i vari tipi di workload richiesti dal mercato: la versione Express di SQL Server 2005 per la fascia bassa, la versione SQL Server for Workgroup per quella intermedia, SQL Server Standard per l’enterprise “bassa” e SQL Server Enterprise per le aziende più grandi e le applicazioni mission-critical”.
Zoppi ha quindi spiegato che la nuova pacchettizzazione deriva dal feedback proveniente dai clienti e dai partner.
“Le PMI ci hanno chiesto un prodotto a basso costo, tecnologie ad alta disponibilità e funzionalità di business intelligence. Le grandi aziende vogliono invece degli add-on che non siano troppo costosi, il supporto per le architetture di computing multi-core, una tecnologia fault-tolerant ad un prezzo accessibile e un’offerta elastica per le loro esigenze. Alcuni partner, infine, ci hanno chiesto un database a basso costo e gratuito per i workload più semplici”.
Il product manager di Microsoft Italia ha quindi illustrato le caratteristiche distintive delle varie versioni di SQL Server 2005.
SQL Server 2005 Express, già scaricabile gratuitamente dal sito di Microsoft, oltre al motore relazionale comprende un tool di base per l’amministrazione, il wizard e i controlli per la reportistica, la funzionalità Service Broker e la possibilità di interpretare il ruolo di client nella replicazione di un altro database. A livello hardware, supporterà un solo processore multi-core, un massimo di 1 GB di RAM e una dimensione massima del database di 4 GB.
“Sostanzialmente la Express sostituisce Microsoft Data Engine (MSDE) for SQL Server 2000 senza però le limitazioni di quest’ultimo. Ad esempio MSDE, di fatto, era limitato a cinque utenti concorrenti. Nella Express ci sono delle limitazioni nei processori, nella RAM e sulla dimensione del database. Altra limitazione di MSDE era l’assenza totale di un tool di amministrazione, adesso con la versione Express c’è un tool di amministrazione semplificato”.
La versione Workgroup avrà lo stesso engine delle versioni superiori, ma soltanto dal punto vista transazionale e non avrà funzionalità di livello avanzato per quel che riguarda l’alta disponibilità. Inoltre, la versione Workgroup non offrirà alcuna funzionalità di reporting ma conterrà invece il tool Management Studio (il nuovo ambiente di amministrazione di SQL Server basato sulla shell di Visual Studio), delle funzionalità di Import/Export e il supporto, seppure limitato, alla replicazione. SQL Server 2005 Workgroup potrà inoltre impersonare il client di un altro database ed effettuare, per mezzo della funzionalità Back-up Log-shipping, il backup delle informazioni di log su di un’altra macchina. Sul fronte hardware, la versione Workgroup supporterà sino a due processori e fino a 3 GB di RAM.
Per quello che riguarda SQL Server Standard, è stata rivista tutta la parte dell’ alta disponibilità: oltre al Failover Clustering (limitato a 8 nodi) è disponibile anche il database mirroring ( tecnologia per l’elevata disponibilità che comprende il fast failover e la redirezione automatica del client). Illustrando i vantaggi del Failover Clustering e del Mirroring, Zoppi ha detto “uno dei vantaggi del mirroring rispetto al clustering è che viene impiegato un hardware assolutamente standard mentre per il clustering serve hardware certificato; inoltre mentre nel clustering si condivide la base di dati fra tutti i nodi, nel mirroring, non essendo condiviso niente, si è protetti da eventuali errori; con il database mirroring, lo swith redirect del failover da un nodo all’altro è estremamente veloce”.
Sui vantaggi del mirroring rispetto al clustering si è espresso anche Silvano Coriani, technical evangelist di Microsoft:
“Innanzitutto questo meccanismo, a differenza del clustering, dove i nodi non possono essere fisicamente molto distanti visto che condividono lo stesso dispositivo di storage tramite tecnologie come fibra o SCSI, mi permette di effettuare il mirror fisico di un database anche a centinaia di chilometri di distanza e senza richiedere una grande quantità di banda. Inoltre, a differenza del clustering, il nodo mirror può avere caratteristiche hardware differenti da quelle del nodo principale. Infine il disaster recovery avviene più rapidamente con il database mirroring che non con il database clustering”.
Altre funzionalità che contraddistinguono la versione Standard sono: Reporting Services, che rispetto a SQL Server 2000 è integrato con il database e che viene installato durante l’installazione; il server OLAP per la parte di Business Intelligence lato server (la parte client è gestita da Microsoft Office);i nuovi algoritmi di data mining; il supporto completo alla replicazione e al Service Broker; e l’inclusione di Integration Services (la nuova versione DTS) che è diventato uno strumento di ETL di livello enterprise.
A livello hardware, la versione Standard supporterà sino a quattro processori, sia a 32 bit che a 64 bit (con questo termine Microsoft intende sia i processori della famiglia Itanium che gli x86-64) che quelli multi-core e non avrà limiti, se non quelli tecnologici, nella RAM supportata. Anche le edizioni Express e Workgroup supportano i chip x64, ma solo nella modalità emulata Windows on Windows (WoW): cosa che per altro già avviene anche con SQL Server 2000 SP4 . Zoppi ha poi ricordato che Microsoft non applica alcun sovrapprezzo per i processori multi-core: nel caso di SQL Server, quello che si paga è il socket fisico del processore, indipendentemente dal numero di core utilizzati. Questa scelta ha raccolto il parere estremamente favorevole sia degli analisti, come Gartner, che dei produttori di chip, come Intel e AMD.
La versione Enterprise non avrà alcun limite nel numero di processori, offrirà una nuova funzionalità di partizionamento del database e delle funzionalità di mirroring di livello avanzato con la possibilità di effettuare degli snapshot (una sorta di istantanea dello stato del database in un certo istante per proteggersi da errori umani o per eseguire operazioni di analisi o reportistica). Per quel che riguarda le funzionalità di analisi e di business intelligence, saranno presenti degli strumenti di analisi di livello avanzato rispetto a quelli della versione Standard e saranno presenti le versioni complete del server OLAP e di data mining. Infine la versione Enterprise comprenderà Report Builder (che semplifica la generazione di report anche a chi non è uno sviluppatore) e la versione avanzata di Integration Services.
Illustrando i prezzi a cui verranno vendute le versioni di SQL Server 2005, Zoppi ha fatto notare che vi saranno lievi aumenti rispetto alle corrispondenti versioni di SQL Server 2000.
Zoppi ha poi aggiunto che è possibile passare dalla versione Standard alla versione Enterprise di SQL Server 2005 tramite un semplice processo di aggiornamento chiamato “Step Up”, mentre è ancora in discussione se permettere lo “Step Up” dalla Workgroup alla Standard. Riguardo la possibilità di aggiornare dalla versione 2000 alla versione 2005 di SQL Server, il product manager di SQL Server ha osservato che chi ha la multi-licenza, essendo coperto dalla Software Assurance, è al riparo dagli aumenti di prezzo di SQL Server 2005. Riguardo le politiche di pricing per le versioni di SQL Server “passive”, ovvero che sono in uno stato di hot standby, Zoppi ha sottolineato che le licenze delle installazioni passive continueranno ad essere gratuite purché il server sia solo di standby.
“Ad esempio, se siamo in un clustering, pago soltanto il nodo attivo e non quello passivo; in caso di database mirroring si pagherà il principale e non quello che svolge il ruolo di mirror. Ovviamente, se un nodo in posizione di hot standby viene usato per scopi di reporting, e quindi si sta usando SQL Server, dovrò pagare la licenza”.
Zoppi ha infine ribadito che con SQL Server 2005 Microsoft mira esplicitamente ad una posizione di leadership nel mercato dei database.
“Nel passato abbiamo contributo a trasformare il mercato dei database in un mercato commodity, perché all’inizio i prezzi dei grossi player erano molto diversi da quelli attuali. Poi con SQL Server 2000 abbiamo conquistato una certa credibilità nel mercato enterprise che è in continua ascesa. Nel futuro, con SQL Server 2005 e Visual Studio 2005, riteniamo di poter fornire un elevato valore aggiunto a tutti i mercati, da quello delle PMI a quello enterprise, e questo sia per quel che riguarda il costo di possesso che la produttività e le funzionalità di elevata disponibilità”.
Zoppi ha poi aggiunto che il principale avversario di Microsoft è Oracle e non IBM.
“Mettendo da parte il mercato dei mainframe, che per IBM vale tanto, sicuramente il nostro principale competitor nel mondo Windows/Unix è Oracle. Non a caso, ci sono tutta una serie di iniziative e di funzionalità di SQL Server per spingere le aziende a migrare da Oracle a SQL Server”.
Coriani ha quindi illustrato le innovazioni e i miglioramenti tecnologici presenti in SQL Server 2005.
“Uno dei fattori guida nello sviluppo di SQL Server 2005 è stata la disponibilità dei dati. Anche se oggi abbiamo dei sistemi che dal punto di vista hardware e software ci garantiscono un’elevata disponibilità e affidabilità, i dati possono essere bloccati dalle attività di manutenzione o dalle attività transazionali eseguite dalle applicazioni al fine di mantenerne l’integrità. Questo è uno dei problemi più sentiti dalle aziende e spesso non si riusciva ad individuarne le cause. Altre società hanno preferito offrire l’elevata disponibilità dei dati realizzando dei meccanismi che permettono di effettuare delle operazioni di scrittura durante il backup. In SQL Server 2005 sono presenti dei meccanismi che offrono un livello di disponibilità dei dati ancora più elevato da quello offerto dai nostri competitor.
Altro aspetto chiave nello sviluppo di SQL Server 2005 è stata la sicurezza dei dati. Nella prossima versione di SQL Server è presente una nuova infrastruttura per la criptazione dei dati. Questo significa che il motore relazionale può creare dei certificati digitali, può memorizzare tutte le informazioni necessarie per rendere sicuri i dati a livello di cella: le applicazioni possono servirsi dell’infrastruttura di criptazione interna del motore relazionale per scegliere quali informazioni criptare all’interno di ogni singola colonna o di ogni singolo record in una tabella del database. Un tipico scenario è quello in cui l’utente inserisce le proprie informazioni tramite una form web e usa una propria password per criptare il contenuto di una cella il cui contenuto non potrà essere accessibile nemmeno da parte dell’amministratore del database. Questo tipo di funzionalità da una parte ci permette di risolvere i problemi di privacy e di protezione delle informazioni, dall’altra che i dati restino riservati anche qualora venga rubato il supporto fisico su cui risiedono. C’è poi da osservare che visto che l’intera infrastruttura di criptazione è contenuta all’interno del database, io posso scegliere di usare, se voglio, un’infrastruttura di PKI esterna, che magari ho già all’interno della mia rete e che eroga, gestisce e distribuisce i certificati digitali, importandone i certificati dentro SQL Server. Se non possiedo una tale infrastruttura posso invece costruire nel database tutte le informazioni che mi servono per l’erogazione dei certificati. Quando farò il backup del database, implicitamente farò anche il backup di tutte le informazioni che riguardano le infrastrutture di SQL Server.
Un’altra novità sul fronte della sicurezza è il tool SQL Server Surface Area Configuration. L’idea è che quando creo una installazione di SQL Server questa sia chiusa di default su tutte le funzioni e l’amministratore, attraverso scripting o interfacce utente come questa, potrà decidere quali funzioni e servizi abilitare per ogni singola istanza presente su di un certo server. Ad esempio, posso decidere quali protocolli di trasporto abilitare oppure se permettere o meno l’esecuzione di codice MS.NET.
Infine si è scelto di offrire un elevato livello di scalabilità e prestazioni durante le operazioni di manutenzione e di manipolazione dei dati da parte dell’amministratore della base di dati.”
Coriani ha quindi spiegato che una delle principali differenze tra SQL Server 2005 e SQL Server 2000 è che il primo sarà in anche grado di replicare i dati da Oracle.
“Mentre in passato SQL Server poteva avere repliche eterogenee, cioè avere repliche dei propri database su altri database server come DB2 o Oracle, ma non poteva essere una replica di un database Oracle, con la versione 2005 senza installare nulla sul database Oracle, posso definire un SQL Server come client di una replica Oracle e, con un’applicazione.NET che gestisce la sincronizzazione tra i due database, posso implementare un meccanismo di integrazione tra le due piattaforme”.
Sul fronte dell’ottimizzazione delle prestazioni, Coriani ha dichiarato che in SQL Server 2005 è presente un nuovo strumento, denominato Database Tuning Advisor, che fornisce all’amministratore dei consigli per aumentare le prestazioni come l’impiego del partizionamento. Sul confronto in termini di prestazioni tra SQL Server 2005 e SQL Server 2000, Coriani ha detto che “tutti i prodotti di Microsoft in fase di beta, soprattutto quelli che sono nelle prime fasi di testing, non hanno nessuna forma di implementazione specifica riguardo le prestazioni”.
“I primi test sulle prestazioni di SQL Server cominceranno con la Beta 3, la prima nella quale è stato tolto buona parte del codice di debug presente nelle versioni precedenti. Ritengo che questa estate ci potremo aspettare dei risultati di benchmark comparabili se non superiori a quelli offerti dai database degli altri vendor. Ad oggi, le prestazioni non sono un obiettivo.”
Sul fronte della programmabilità, Coriani ha sottolineato che XML in SQL Server 2005 è un tipo di dato gestito, analizzato e utilizzato dal query processor di SQL Server allo stesso livello degli altri tipi di dato.
“SQL Server 2005 supporta un nuovo data type che consente la memorizzazione, la manipolazione e l’estrazione di informazioni contenute in frammenti o documenti XML. Questo non significa che SQL Server sia un database XML nativo, come ad esempio Tamino di Software AG, ma piuttosto che gli sviluppatori di SQL Server sono arrivati alle stesse funzionalità passando per una strada diversa: applicando le caratteristiche del query processor relazionale al mondo gerarchico piuttosto che fare l’opposto. Perché questo? Risposta semplice: le prestazioni! Con questo approccio il programmatore XML può utilizzare il modello di programmazione che ben conosce per memorizzare e manipolare strutture gerarchiche senza sostanzialmente nessuna limitazione e con il vantaggio di avere le prestazioni di un database server relazionale (ad oggi imbattute dalle altre tecnologie). Viceversa il programmatore SQL può utilizzare per alcune esigenze specifiche un tipo di dato che consente una maggiore flessibilità proprio là dove lo schema relazionale si presta meno a rappresentare strutture dati che sono gerarchiche per loro natura e per loro utilizzo. Riguardo la corrispondenza tra un documento/nodo XML ed il contenuto di un singolo campo del singolo record, la risposta è “dipende”. Starà infatti al programmatore decidere come l’istanza del documento o del frammento di XML sia memorizzata all’interno dello schema relazionale, secondo quelle che sono le esigenze applicative e quelle di preservare l’integrità del dato stesso”.
Coriani ha poi osservato che in SQL Server 2005 è stato introdotto il supporto a XQuery, il linguaggio di interrogazione per XML del WorldWide Web Consortium.
“SQL Server 2005 supporta XQuery Level 1. Inoltre nella nostra implementazione ci sono delle estensioni per la modifica dei dati XML che permettono di modificare il frammento contenuto all’interno dell’istanza del tipo di dato XML”.
Coriani ha inoltre spiegato i vantaggi dell’integrazione tra SQL Server 2005 e.NET/Visual Studio 2005.
“Quando il query processor di SQL Server deve manipolare un tipo di dato definito dall’utente, come quello di una carta di credito o di un punto nello spazio, che è stato scritto con un pezzo di codice MS.NET, si comporterà allo stesso modo degli altri tipi di dato: ad esempio gli interi. Gli altri database non hanno questo livello di integrazione. Ad esempio quello di Oracle dovrà caricare all’esterno sia l’istanza di una virtual machine che un’istanza di quel tipo di dato. Inoltre il query processor del database di Oracle non saprà nulla di quel tipo di dato perché sono tipi di dato esterni e non è quindi in grado di gestirli. Viceversa, con SQL Server 2005, che supporta nativamente MS.NET, il query processor di SQL Server conosce tutto di quel tipo di dato e può quindi applicarvi tutte le ottimizzazioni nei query plan che normalmente verrebbero applicate agli altri tipi di dato”.
Coriani ha infine espresso un commento sul nuovo modello di testing delle applicazioni basato sul rilascio di versioni Community Technology Preview (CTP).
“Il team di sviluppo ha detto che il rilascio di tutte queste versioni intermedie ha dato molti input in più a loro per migliorare il prodotto. Dal punto di vista delle tempistiche, questo approccio può avere rallentato lo sviluppo. Tuttavia sta venendo fuori un prodotto migliore. Il bilancio è positivo”.