1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database...

59
1 SQL Server Migration Day

Transcript of 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database...

Page 1: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

1

SQL ServerMigration Day

Page 2: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

2

Scegliere

Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente sugli aspetti di deployment.

Numerosi studi e documenti supportavano questa scelta analizzando la performance, la scalabilità, la disponibilità e la gestibilità del database.

Ma qualcosa di profondamente diverso è venuto in superficie in questi anni.

Page 3: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

3

Scegliere Si è capito che il database non è una isola separata dal

mondo dei sistemi informativi, ma è una delle componenti di quella complessa attività di business che si chiama “applicazione”.

Un’applicazione è una attività di business che si dipana, ad alto livello, attraverso i processi e le funzioni aziendali.

A basso livello è un fluire di dati da un database (contenitore dei dati attraverso il livello di gestione dei dati) ad un fruitore dei dati (gli utenti attraverso il livello di presentazione) il tutto attraverso delle regole di gestione dei dati stessi (livello di business rules).

È evidente quindi che un database per quanto performante, scalabile, etc… è solo un tassello (e forse neppure il più importante) di un mondo più complesso

Page 4: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

4

Basi per un confronto

Quando si effettua un confronto tra i diversi database del mercato bisogna tenere conto che tutti i principali RDBMS disponibili sono prodotti maturi, per taluni aspetti ai “limiti della vecchiaia”.

Quindi sono tutti, senza eccezioni, strumenti completi, con dotazioni ed utility ampie e omnicomprensive

Le battaglie sulle transazioni per secondo o sulla quantità di alert di sicurezza, pur essendo molto importanti, non possono essere gli elementi fondamentali del confronto (pur essendone comunque un contorno).

Quali sono quindi gli elementi più importanti Caratteristiche di prestazioni, disponibilità, etc… Integrazione con gli ambienti di sviluppo delle applicazioni Supporto allo sviluppo di applicazioni basate sull’architettura

SOA (Service Oriented Architecture) Flessibilità di deployment delle applicazioni

Page 5: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

5

Caratteristiche di SQL Server Database Mirroring

Ampie funzionalità di database mirroring Restore Online

È possibile gestire una funzionalità di restore a caldo, dove solo i dati in restore rimangono non disponibili.

Indicizzazione Online Le operazioni di indicizzazione possono essere eseguite on line, permettendo

quindi attività contestuali di select ed update. Sicurezza

Sono incluse numerose funzionalità di sicurezza tra cui cifratura, settaggi di sicurezza di default, regole per la gestione della password, granularità dei controlli dei permessi molto sottile e un modello di sicurezza esteso

SQL Server Management Studio È una suite di strumenti integrati per la gestione del database. Tra questi le

funzionalità per sviluppare, rilasciare e ottimizzare un database con un netto miglioramento rispetto alla versione precedente.

Partizionamento dei Dati Il partizionamento dei dati è molto sofisticato ed attraverso funzioni native delle

tabelle e degli indici è possibile gestire con semplicità grandi moli di dati. Replicatione

È disponibile anche la modalità di replicazione per database mobili, utilizzando le caratteristiche peer-to-peer. E in grado di pubblicare anche database Oracle.

Page 6: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

6

Valutazioni Tre gli elementi di valutazione su cui

focalizzeremo la nostra attenzione, tutti relativi alla creazione e rilascio delle applicazioni Integrazione del Database con gli ambienti di

sviluppo Sviluppo in architettura SOA (Service Oriented

Architecture) Flessibilità di deployment in contesti diversi

Page 7: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

7

Integrazione con ambienti di sviluppo

Sul mercato sono presenti numerosi ambienti di sviluppo basati sulle più diverse piattaforme

Si è valutato di non entrare nel dettaglio delle differenze specifiche tra le diverse piattaforme.

Certamente l’attenzione primaria è focalizzata sul confronto tra Microsoft SQL Server 2005 ed Oracle 10g Release 2, tuttavia non troverete qui il dettaglio delle differenze tra i due sistemi.

Page 8: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

8

Integrazione con ambienti di sviluppo

Questo per due considerazioni: È sempre meglio vedere cosa fa di buono il sistema di

cui parliamo piuttosto che cercare quello che fa “male” un altro sistema

Il continuo aggiornamento dei sistemi rende obsoleta qualsiasi valutazione sulle caratteristiche specifiche, soprattutto quando queste siano importanti ma non “core”.

Di certo ambedue i sistemi sono integrati con Visual Studio ed il .NET CLR (common language runtime) e presentano funzionalità avanzate di tutto rispetto.

Page 9: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

9

Sviluppo di applicazioni SOA

La prossima generazione di applicazioni basate sulla rete e di applicazioni distribuite si baserà completamente sui concetti della Service Oriented Architecture (SOA).

Il SOA porterà con se profondi cambiamenti su come una applicazione è disegnata, sviluppata e rilasciata.

I database hanno un ruolo significativo in questo tipo di architettura.

SQL Server include numerose nuove caratteristiche per supportare lo sviluppo di applicazioni basate su SOA.

Page 10: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

10

Sviluppo di applicazioni SOA

Tra queste: XML: capacità di archiviare, interpretare, validare, interrogare

e modificare efficientemente un documento XML nel database Web Services: capacità di esporre oggetti di database

(tabelle, stored procedure ed altro) come web services direttamente dal Database.

Accodamento di Messaggi Asincroni: capacità di garantire la spedizione di messaggi ad altre applicazioni distribuite per gestire problemi di system failures.

Notifica di Eventi: capacità di distribuire eventi di business significativi ad un grande numero di periferiche, nella modalità attesa dal ricevente e in modo efficiente

Notifica di Query: capacità per una applicazione di “sottoscrivere” determinati cambiamenti nel database che possano determinare un significativo cambiamento nei risultati di una specifica query che debbano essere notificati quando avvengono

Page 11: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

11

Sviluppo di applicazioni SOA

Sia Oracle che SQL Server offrono lo stesso insieme di caratteristiche che abilitano lo sviluppo di applicazioni basate su SOA.

SQL Server ha tutte queste caratteristiche incluse nel server database e sono strettamente integrate

In Oracle, molte API sono basate su standard Java (come il Java Messaging Service) che non forniscono valore aggiunto allo sviluppatore .NET

Page 12: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

12

Flessibilità di deployment

I Clienti chiedono di avere una flessibilità nel rilascio delle applicazioni rendendole indipendenti dalla singola versione di database.

In particolare chi crea applicazioni, che devono essere vendute per un periodo di tempo sufficientemente lungo, chiede che queste siano indipendenti dalla specifica versione del database.

Questo è particolarmente importante per gli ISV (Indipendent Software Vendors)

Microsoft ha indirizzato la sua offerta di database in modo tale da andare incontro a questa specifica esigenza dei Clienti.

Page 13: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

13

Flessibilità di deployment

SQL Server offre edizioni multiple del database con un unico ambiente di sviluppo (.NET), tools (Visual Studio) e API per tutte le edizioni

Come risultato uno sviluppatore ha necessità di creare una sola volta l’applicazione e può rilasciarla in ogni edizione di SQL Server – Mobile, Express, Workgroup, Standard o Enterprise Edition – senza dover modificare nulla.

Di particolare interesse è la SQL Server Express Edition che è gratuita, anche se non destinata alle applicazioni mission critical.

Page 14: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

14

Integrazione del Database con gli ambienti di

sviluppo di applicazioni

Page 15: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

15

Integrazione con ambienti di sviluppo

SQL Server è completamente integrato con Visual Studio

Uno sviluppatore, che utilizza Visual Studio con SQL Server, non ha bisogno di nient’altro, ha tutto quello che gli serve.

Tutti i linguaggi che riferiscono alla piattaforma .NET sono disponibili

Ambienti di sviluppo basati su linguaggi che non operano nel contesto di questa piattaforma (Es. Java) richiedono strumenti aggiuntivi causando una curva di apprendimento più elevata e una diminuzione della produttività complessiva dello sviluppatore.

Page 16: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

16

Integrazione con .NET Il notevole successo della piattaforma .NET ha

spinto molti fornitori a fornire un elevato livello di integrazione con il Microsoft .NET CLR.

Così è stato sia per Microsoft che per Oracle, anche se ciascuna ha scelto strategie e modalità che differenziano i risultati

Page 17: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

17

Integrazione con il Microsoft .NET CLR

Microsoft hanno integrato il .NET CLR in SQL Server 2005.

Questa integrazione ha effetti significativi sullo sviluppo delle applicazioni che utilizzano il database.

Ora gli sviluppatori hanno la possibilità di sviluppare la logica di database in qualsiasi linguaggio tra quelli supportati dal .NET Framework.

Non sono più confinati al Transact-SQL (con SqlServer) o PL/SQL (con Oracle).

Page 18: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

18

Integrazione con il Microsoft .NET CLR

Questo permette di sviluppare applicazioni con logica di gestione dei dati senza dover imparare un linguaggio specializzato.

Inoltre lo sviluppatore di applicazioni può scegliere se rilasciare la logica applicativa a livello del database tier, di middle tier o in uno smart client.

La logica può essere facilmente spostata di livello in qualsiasi momento.

Le funzionalità della piattaforma .NET sono in costante aumento e lo sviluppatore di applicazioni basate sui dati può partire da un set di librerie e funzionalità piuttosto estese e non, come con Transact-SQL o PL/SQL, partendo da zero.

Page 19: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

19

In-Process contro Out-Of-Process

SQL Server 2005 gestisce il CLR “in process”. In-process hosting significa che il .NET CLR viene

eseguito all’interno dello spazio di processo di SQL Server.

Quindi, quando viene invocata la logica di database (stored procedures, triggers e user-defined functions) implementate come managed code, non si deve pagare l’overhead della comunicazione inter-processi.

SQL Server ha integrato i propri modelli di threading e gestione della memoria con il .NET CLR, fornendo una ottima strada agli sviluppatori .NET per gestire un tuning fine delle applicazioni.

Page 20: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

20

CLR 1.1 contro CLR 2.0 SQL Server 2005 supporta sia la versione 1.1 del

CLR che la versione 2.0. Questo significa che, ad esempio, SQL Server

2005 è in grado di fornire la gestione in-process del provider ADO.NET 2.0 che crea una vista dei dati server-side completamente integrata con la memoria e la gestione dei thread del database server.

Page 21: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

21

Supporto ai Tipi Oggetti del Database

Con SQL Server si possono sviluppare direttamente diversi tipi di oggetti del database in codice managed e tra questi Stored procedures Triggers User-defined functions User-defined aggregates

Page 22: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

22

Archiviazione degli Assemblies .NET

SQL Server 2005 archivia gli assemblies .NET che implementano le stored procedures, triggers e funzioni nel database.

Un vantaggio della soluzione proposta dall’approccio di SQL Server è legata alla manutenzione integrata

Gli assemblies sono visti come oggetti di database e come tali gestiti nelle attività di backup, restore, replication e data mirroring.

Page 23: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

23

Integrazione con Visual Studio

Microsoft ha predisposto l’integrazione con Visual Studio, essendo questo l’IDE (Integrated Development Environment) più utilizzato per lo sviluppo di software.

Così come ci si aspetta che questa integrazione cresca sempre più nel futuro.

Microsoft ha incoraggiato i propri partners ad estendere Visual Studio con loro soluzioni.

Oracle partecipa al programma di Microsft per l’integrazione di Visual Studio e ha integrato il suo Database attraverso Oracle Developer Tools for Visual Studio .NET.

Page 24: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

24

Visual Studio Server Explorer

SQL Server 2005 si integra con Visual Studio attraverso il SQL Server OLE DB provider che permette allo sviluppatore di interagire direttamente con il database attraverso il Server Explorer.

Il Server Explorer permette agli sviluppatori di gestire vari servizi del database attraverso Visual Studio.

Attraverso il Server Explorer uno sviluppatore può trovare molti dei tools presenti in SQL Server Management Studio

Ad esempio uno sviluppatore può: Creare i diagrammi del database. Disegnare le tabelle. Vedere i dati delle tabelle. Creare ed eseguire le viste, le stored procedure, i trigger

e le user-defined functions. Definire i constraints e gli indici

Page 25: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

25

ADO.NET L’integrazione con Visual Studio permette allo

sviluppatore di programmare graficamente. Ed ancora, ADO.NET include un provider

ottimizzato che permette di accedere ai dati in SQL Server con una prestazioni elevate.

Un programmatore Visual Studio può effettuare con drag e drop attività come SqlConnection, SqlCommand e SqlDataAdapter su una superficie di disegno e il wizards guida lo sviluppatore ad usare queste attività per connettersi a SQL Server.

Page 26: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

26

Query Designer

Visual Studio fornisce anche il Query Designer, un tool per creare le query e manipolare i dati nel database.

Il driver espone anche le funzionalità di gestione dei diagrammi del database dove è possibile vedere e gestire le entità e le relazioni tra di loro.

Page 27: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

27

Debug delle Stored Procedures

Una quantità significativa di tempo dello sviluppatore viene spesa nel debug delle applicazioni.

Di conseguenza i tools di debugging sono molto importanti per lo sviluppatore.

Le caratteristiche di Visual Studio permettono di effettuare il debug del Transact-SQL entrando passo-passo all’interno della stored procedure.

Non solo è possibile effettuare il debug linea per linea, ma è possibile anche veder i valori che assumono le variabili, così come è possibile inserire dei breakpoint nei quali fermare l’esecuzione della Stored Procedure

Page 28: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

28

Progetti SQL Server L’integrazione con Visual Studio 2005 è migliorata

ancora più dai SQL Server Project template. Quando si ha un Progetto SQL Server è possibile

aggiungere uno qualsiasi dei template disponibili con l’inserimento automatico del codice per stored procedure, trigger, aggregati, user-defined function e user-defined type.

Dopo aver creato un progetto si è in grado di effettuare il debug di tutto il codice, passo per passo, inserire il break-point o visualizzare le variabili.

È possibile navigare da un linguaggio all’altro, tanto per capirci posso iniziare il debug in C# e proseguire con il passo successivo in Transact-SQL per poi andare in Visual Basic.NET.

Page 29: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

29

Progetti SQL Server Inoltre Visual Studio permette di effettuare

automaticamente il deploy del codice sul server SQL Server, quello che deve fare lo sviluppatore è semplicemente configurare il progetto per il deployment.

Sostanzialmente lo sviluppatore utilizza lo stesso strumento per sviluppare e fare il debugging degli oggetti database.

Visual Studio 2005 prevede anche alcune altre utili caratteristiche come l’evidenziazione automatica per la sintassi e l’ IntelliSense® in Transact-SQL.

Page 30: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

30

Business Intelligence SQL Server dispone di una ampia piattaforma per

Business Intelligence che include: SQL Server Analysis Service per l’analisi dei dati (con la

creazione e gestione dei Cubi) e funzionalità di data mining.

SQL Server Integration Services per l’estrazione, la trasformazione ed il caricamento di dati esterni

SQL Server Reporting Services per il disegno e la generazione di report con la possibilità di estrarli in diversi formati di uso comune come Microsoft Excel, HTML e Adobe PDF.

Visual Studio contiene tutti gli strumenti di gestione e di sviluppo necessari allo sviluppo e gestione delle applicazioni di Business Intelligence con SQL Server.

Page 31: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

31

Analysis Service SQL Server offre il Business Intelligence

Development Studio per aiutare gli sviluppatori a costruire le applicazioni analitiche e di data mining.

Il Business Intelligence Development Studio utilizza l’abituale interfaccia di Visual Studio permettendo così una curva di apprendimento molto ridotta.

Gli Analysis Services consistono in due funzionalità principali e complementari: On-Line Analytical Processing (OLAP) e Data Mining.

Page 32: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

32

Analysis Services Unified Dimensional Model

Combina le migliori caratteristiche dei modelli relazionali e OLAP.

Proactive caching Permette di operare con applicazioni a bassa latenza con

costi di gestione dei dati vicino a zero. Key Performance Indicator (KPI)

È un framework che fornisce un semplice meccanismo definito sul server per la definizione di misure aziendali.

una KPI consiste nell’espressione di valori, goal, stato corrente e tendenza visualizzati semplicemente in modalità grafica.

Traduzioni Fornisce un semplice meccanismo, controllato

centralmente, per archiviare e presentare dati analitici agli utenti nella loro lingu preferita. Un database analitico può essere presentato il lingue multiple.

Page 33: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

33

Analysis Services Scripts MDX

La sintassi è semplificata ed è possibile effettuare il debug passo-a-passo

Stored procedures È possibile creare delle routine esterne in linguaggi basati su

CLR. Attraverso Wizard è possibile costruire facilmente:

Semi-additive measures, Time Intelligence, Account intelligence, Financial Aggregations, Currency Conversion e Time dimension generation

Data Definition Language è in XML. Il Metadata Repository è in file XML

Web services: XML for Analysis (XML/A) L’XML/A è un protocollo nativo, basato su standard per la

comunicazione con il server degli Analysis Services. Attraverso questo protocollo ogni server è automaticamente un Web Service.

Il calcolo è centralizzato Tutti i calcoli sono eseguiti sul server con il vantaggio di non

aver nessun carico sul client e migliorare le performance

Page 34: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

34

Analysis Services Sicurezza

I permessi amministrativi sono a grana fine, con possibilità di separare i permessi per i diversi oggetti del database e per distinguere tra la funzione di disegno delle modifiche e di processo.

I cubi locali sono cifrati Le comunicazioni client/server sono cifrate e firmate per

proteggere i pacchetti da ogni intrusione Server trace events

Sono disponibili strumenti per le attività di audit come il SQL Server Profiler.

Le prestazioni per i calcoli La cache sui calcoli su server è shared tra i diversi client L’ottimizzatore delle query è in grado di “riscrivere” una query

per migliorarne le prestazioni. Processamento parallelo e partizionato

Page 35: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

35

Data Mining Il Data Mining è una tecnologia di business intelligence che

aiuta a costruire complessi modelli analitici e supporta l’integrazione di questi nelle operazioni di business.

L’obiettivo primo del Data Mining è di fornire risultati quotidiani a persone che non hanno alcun interesse ad entrare nelle complessità computazionali dei sistemi di database, ma desiderano solo risultati di business da capire ed analizzare.

Il data mining si basa sull’utilizzo di algoritmi. Una serie di algoritmi vengono forniti nell’installazione È possibile altresì estenderli con algoritmi proprietari scritti

su misura.

Page 36: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

36

Data Mining - Algoritmi Microsoft Decision Trees

È primariamente un algoritmo di classificazione e opera bene per modellazione predicativa sia per attributi discreti che continui.

Microsoft Naïve Bayes Calcola le probabilità per ogni possibile stato degli attributi di

input dato ogni stato degli attributi predicati Microsoft Clustering

Permette di raccogliere i record nel dataset in cluster che identificano caratteristiche simili.

Microsoft Association È basata su un algoritmo a priori e fornisce un efficiente

metodologia per reperire le correlazioni N-way in un grande database.

Microsoft Sequence Clustering Combina analisi di sequenza e clustering per esplorazione e

predicazione dei dati. Microsoft Time Series

Crea modelli che possono essere usati per predire una o più variabili continue (ad esempio i valori di stock exchange).

Microsoft Neural Net, Usato per esplorazione, classificazione e predizione di dati.

Page 37: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

37

Reporting Services

SQL Server Reporting Services utilizza l’ambiente di disegno dei report di Visual per creare dei report complessi ed evoluti che possono essere rilasciati in diversi formati come PDF, Microsoft Excel o HTML.

I Reporting Services sono strettamente integrati con Visual Studio e con il .NET Framework.

La generazione dei report abilita gli sviluppatori ad incapsulare le complessità della logica in assemblies usati per calcolare i valori nel report.

Questo permette agli sviluppatori Visual Studio di riutilizzare le componenti di business logic.

Possono essere utilizzati sia per produrre report basati su eventi schedulati su una base temporale ben definita, sia per produrre report su richiesta diretta degli utenti.

Page 38: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

38

Reporting Services Reporting Services consistono in

Un insieme completo di strumenti per creare, gestire e visualizzare report Un motore per ospitare e processare i report Una architettura estensibile ed interfacce aperte per integrare report in

soluzioni applicative Abilitare utenti non-programmatori alla creazione o modifica di propri report

Ampia quantità di data source supportati Microsoft SQL Server, Microsoft Analysis Services, OLE DB, ODBC

Strumenti di creazione flessibili Report Designer, Report Definition Language (RDL) basato su XML

Formati di report flessibili Freeform, tabelle, matrici, grafici, filtri per parametrizzare i report a run-

time, ordinamento e raggruppamento, drillthrough, report collegati Editor di Query flessibile

Strumenti di generazione delle query SQL e query MDX Escuzione modulare dei report

Il Rendering è un processo separato dalla query, lo stesso report può essere reso in diversi formati, l’esecuzione può essere a richiesta o schedulata.

Disegno dei report per gli utenti finali Report Builder permette agli utenti finali la creazione di report ad hoc

Page 39: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

39

Integration Services Gli Integration Services forniscono un ambiente

grafico in Visual Studio per creare workflows per estrarre, caricare e trasformare dati (ETL).

Integration Services sono stati significativamente migliorati per SQL Server 2005 per fornire un ambiente ETL migliore, più veloce e più flessibile attraverso l’utilizzo di Visual Studio.

Gli Integration Services, inoltre, sono completamente estensibili con l’utilizzo di codice scritto in qualsiasi linguaggio che sia in grado di utilizzare il .NET Framework cosicché ogni sviluppatore può sviluppare, come meglio preferisce, per creare i propri oggetti.

Page 40: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

40

Integration Services Si utilizza l’interfaccia grafico del Business Intelligence

Development Studio. Il controllo di flusso ed il flusso di dati sono separati Le variabili del Package sono definite e visibili È possibile creare sistemi ETL complessi con package, sub-

package, variabili, etc…. I packages sono archiviati in file XML Regole di precedenza possono essere definite per

controllare nel package eventi di successo, errore o completamento

Funzionalità di Loop come For, ForEach e Sequence. Le attività di comunicazione includono il Message queue e

l’invio delle mail Possono essere gestite sorgenti, trasformazioni e

destinazioni multiple dei dati attraverso le data flow pipeline.

È possibile inserire dei Breakpoints nei flussi dei dati

Page 41: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

41

Sviluppo di applicazioni basate su SOA (Service Oriented Architecture)

Page 42: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

42

Sviluppo di applicazioni basate su SOA

Supporto all’XML XML è lo standard di fatto per lo scambio di una grande

quantità di tipi di dati nelle applicazioni attuali. È anche la tecnologia centrale dell’architettura per

applicazioni che si basano su SOA e Web services. I database devono essere in grado di supportare questo

tipo di applicazioni abilitando l’archiviazione, l’interrogazione e l’aggiornamento dei documenti XML.

Page 43: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

43

Sviluppo di applicazioni basate su SOA

Tipi Nativi XML e XQuery

SQL Server supporta i tipi nativi di XML, ovvero è in grado di capire se una colonna contiene un documento XML. Un documento XML viene preventivamente validato,

attraverso lo schema XML, prima di essere archiviato nel database.

Permette di effettuare query sui documenti XML archiviati attraverso il linguaggio di query XQuery così come con XPATH.

Page 44: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

44

Sviluppo di applicazioni basate su SOA

Indicizzazione

L’indicizzazione è essenziale per una efficiente e veloce esecuzione delle query.

SQL Server 2005 supporta indici B*Tree sugli elementi, valori e path di ogni campo XML.

L’indicizzazione velocizza significativamente l’esecuzione delle query.

SQL Server 2005, inoltre, supporta altri indici per velocizzare altri tipi di query che permettono di ritrovare i dati come i PATH indexes, PROPERTY indexes e VALUE indexes.

Page 45: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

45

Sviluppo di applicazioni basate su SOA Aggiornamento dell’XML

La versione standard di XQuery, attualmente, definisce solo il supporto per lettura/fetching per il contenuto XML.

Non definisce come l’XML contenuto nel Database possa essere aggiornato.

Page 46: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

46

Sviluppo di applicazioni basate su SOA L’approccio standard è quindi:

Rimpiazzare l’intero documento XML: Spesso nei database il documento XML è archiviato come un oggetto text, questo costringe il motore del database di sostituire l’intero file anche per cambiare un singolo campo.

Spezzettare il documento XML: il documento XML viene spezzettato ed archiviato in un insieme di oggetti relazionati nel database. Questo richiede che lo sviluppatore comprenda come il documento è mappato su una struttura relazionale.

SQL Server 2005 ha gestito questo problema estendendo l’XQuery per le operazioni di update, includendo un linguaggio per aggiungere o eliminare porzioni della struttura ed aggiornare i valori scalari.

Questo permette di lavorare con facilità con i tipi dati di XML.

Page 47: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

47

Sviluppo di applicazioni basate su SOA

XML schema collections e schema evolution SQL Server permette di archiviare documenti

multipli (non correlati) nella stessa colonna XML.

Questa caratteristica è abilitata con la creazione di una XML SCHEMA COLLECTION che consiste in uno o più schemi XSD.

Una collezione di schemi XML di SQL Server definisce il tipo di documenti XML che possono essere archiviati in una colonna XML.

Page 48: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

48

Sviluppo di applicazioni basate su SOA

XML schema collections e schema evolution Questa caratteristica fornisce una interessante

via per migrare i dati XML. Quando uno schema evolve nel tempo creando

un nuovo schema, è possibile evolvere anche quello contenuto nella collezione di schemi

Una istanza XML esistente continua ad esistere come prima, così come le istanze conformate al nuovo schema possono essere aggiunte alle colonne XML ed essere indicizzate.

Un utente può aggiungere nuovi componenti top-level di schema XML ed elementi top-level in uno schema esistente.

Page 49: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

49

Supporto per i Web Services SQL Server 2005 fornisce il supporto nativo per i

Web services. Può agire come un Web Service Provider così

come un Web Service Consumer. Web Service Provider:

SQL Server fornisce un meccanismo molto semplice e facile da utilizzare per permettere ad applicazioni esterne di invocare stored procedures, comandi Transact-SQL e funzioni user-defined come Web Services usando protocolli standard come il SOAP attraverso HTTP.

Fornendo un accesso via SOAP/HTTP, anche i clients leggeri (come i browser Web) possono accedere al database in quanto non è necessaria alcuna libreria o componente per leggere i dati.

Page 50: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

50

Supporto per i Web Services Per gli sviluppatori abilitare l’accesso via SOAP/HTTP è

molto facile. Tutto quello che è necessario fare è creare un endpoint

HTTP e specificare quale oggetto database si vuole esporre. SQL Server si occupa di fare tutto quello che è necessario.

Autenticazione e sicurezza sono integrate con SQL Server e solo gli utenti autorizzati possono invocare le stored procedure.

SQL Server utilizza il driver https.sys di Microsoft Windows Server™ 2003 in kernel mode e quindi non richiede che IIS sia installato.

Page 51: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

51

Supporto per i Web Services Web Service Consumer

SQL Server è integrato con il .NET CLR e quindi è estremamente semplificato l’accesso a Web Services esterni direttamente dal database

Combinato con Visual Studio, SQL Server è uno strumento ideale per lo sviluppo di applicazioni SOA-based.

Altri meccanismi come quelli che riferiscono a strumenti come JPublisher operano costruendo delle “wrapper” class Java che, pur essendo una strada interessante per la soluzione del problema, ne complicano la realizzazione.

Questa soluzione richiede, comunque, di utilizzare un Application Server come prodotto aggiuntivo.

SQL Server non richiede altre applicazioni, né Application Server né Web Server.

Page 52: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

52

Supporto per Asynchronous Messaging Una affidabile, asincrona comunicazione tra unità

di esecuzione autonome di programmi è una tecnologia chiave per sviluppare applicazioni SOA-based.

Tradizionalmente venivano utilizzati i sistemi di message queuing come gli IBM MQ Series (ora conosciuti come WebSphere MQ).

Tuttavia avere i sistemi di message queuing integrati nel database presenta numerosi vantaggi.

SQL Server ha integrato un sistema di message queuing asincrono ed affidabile: il SQL Server Service Broker.

Page 53: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

53

Supporto per Asynchronous Messaging Il SQL Server Service Broker

Garantisce la distribuzione del messaggio al destinatario esattamente una sola volta.

Abilita sia il mittente che il destinatario ad esistere nello stesso database, nello stesso computer o, in alternativa, distribuiti nella rete.

Utilizza un contenitore persistente dove far archiviare i messaggi.

Le code sono archiviate completamente nelle tabelle di database.

SQL può accedere alle code ed il messaggio può essere trattenuto nella coda.

Page 54: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

54

Supporto per Asynchronous Messaging Il sistema di gestione delle code è integrato nel

database e non richiede un coordinatore esterno tra il sistema di gestione delle code e il database.

Il Service Broker fornisce un livello di astrazione piuttosto elevato come dialogs, contracts e services.

Gli sviluppatori non devono gestire le operazioni di basso livello della gestione delle code.

Il Service Broker supporta anche l’attivazione automatica del programma di servizio

Page 55: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

55

Servizi di Event Notification Microsoft SQL Server Notification Services permette agli

sviluppatori di sviluppare e rilasciare con grande facilità applicazioni che generano ed inviano notifiche di eventi agli utenti.

Le notifiche sono messaggi personalizzati e temporizzati che possono essere inviati a molte diverse devices.

Le notifiche riflettono le preferenze del sottoscrittore. Il sottoscrittore inserisce una sottoscrizione per esprimere

l’interesse per una informazione. Ad esempio: “avvisami quando il valore di magazzino

raggiunge 70.000 euro” o “avvisami quando il documento di budget del mio team è stato scritto e completato”

Page 56: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

56

Servizi di Event Notification Una notifica può essere generata ed inviata ad un

utente non appena l’evento avviene o può essere generata con scadenze predefinite specificate dal singolo utente.

La sottoscrizione specifica quando la notifica deve essere fatta ed inviata.

La notifica può essere inviata a numerose diverse devices. Ad esempio una notifica può essere inviata al telefono cellulare di un utente, ad un PDA (Personal Digital Assistant), Microsoft Windows Messenger o da un account di posta elettronica.

Page 57: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

57

Servizi di Query Notification SQL Server 2005 ha introdotto il supporto alla

notifica delle SQL Server queries. Si può utilizzare questo supporto per inviare un

comando a SQL Server, e richiedere che venga attivata una notifica se l’esecuzione del comando produce risultati diversi da quelli iniziali.

Si utilizza per verificare se dei dati soggiacenti un oggetto sono cambiati.

Il comando viene inviato al server attraverso qualsiasi API client come ADO.NET, OLE DB, Open Database Connectivity (ODBC), Microsoft Active Data Objects (ADO) o SOAP e può includere una tag che richiede una notifica.

Page 58: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

58

Servizi di Query Notification Per ogni comando che viene eseguito come parte

della richiesta, il server crea una "Notification Subscription" che intercetta ogni volta che il comando viene incluso in una richiesta.

La notifica viene inviata attraverso una coda del SQL Service Broker che l’applicazione può chiamare e usa i servizi di attivazione o i blocking statements che ritornano se la notifica è disponibile.

La Query notifications è molto utile per abilitare una cache dei risultati nelle applicazioni come i Web sites database-driven.

Page 59: 1 SQL Server Migration Day. 2 Scegliere Sino ad oggi chi doveva valutare, per scegliere, un database aziendale, operava questa scelta basandosi principalmente.

59

Migrare il Database