Recentemente, su internet.com
è apparso un interessante articolo di ben 85 pagine che compara i due maggiori database enterprise, ovvero Oracle – nelle sua versione 11g – e SQL Server 2008.
L’articolo è stato redatto dall’Edison Group di New York per la serie “Comparative Management Cost Studies (CMCS)”, una serie di studi e prove comparative tra piattaforme e prodotti commerciali che mettano in luce la loro gestione soprattutto dal punto di vista dei costi, sia come tempi che come semplicità di utilizzo.
Questi studi, dopo aver approntato un adeguato ambiente di test, effettuano delle prove con le normali attività di gestione che un DBA compie nella sua operatività quotidiana. Lo scopo è capire quanto
si possa risparmiare all’anno, eseguendo queste attività con maggiore velocità ed efficienza, utilizzando i tool messi in campo da questi DBMS.
I test effettuati da questo studio mettono in luce un sostanziale vantaggio di Oracle 11g rispetto a SQL Server 2008.
Precisamente:
· Le normali e consuete attività amministrative possono essere portate a termine dai DBA con il 41% di tempo in meno se utilizzano Oracle invece di SQL Server.
· Oracle richiede il 43% in meno di passi per ottenere gli stessi risultati rispetto a SQL Server.
· I benefici, in termini monetari, che possono essere conseguiti utilizzando queste migliori caratteristiche di Oracle rispetto a SQL Server possono essere valutati nell’ordine dei 33.000 dollari all’anno per DBA.
Le aree dove si riscontrano le maggiori differenze tra i due DBMS sono:
· Backup & Recovery: per queste attività le migliori architetture e funzionalità di Oracle consentono di risparmiare il 53% di tempo e il 60% di step necessari per portarle a termine rispetto alle analoghe in SQL Server.
· Performance Diagnostics e Tuning: per eseguire questa tipologia di attività, Oracle offre un significativo guadagno del ben 87% come tempo.
Lo studio poi si sofferma nel dettaglio in 4 precise aree di utilizzo, le più tipiche per un DBA, ovvero:
· Database Installation and Setup
· Day-to-Day Database Administration
· Backup and Recovery
· Performance Diagnostics and Tuning
Da tenere presente, come riportato alla pagina 10 dell’articolo, che in questi risultati non vengono tenuti in considerazione i costi delle licenze di Oracle e di SQL Server (dove il primo è notoriamente più costoso rispetto al secondo), dato che, secondo gli autori, l’impatto di tali costi è ininfluente rispetto ai costi di gestione ed utilizzo a lunga scadenza. Questo dettaglio meglio comunque tenerlo ben presente.
Per quanto riguarda i costi, gli autori stimano uno stipendio medio annuo di 81.757 dollari (a quanto pare si prende bene negli Stati Uniti).
Ai diversi compiti, gli autori assegnano un “peso” direttamente proporzionale alla frequenza e all’importanza strategica del compito stesso. La tabella riportata sotto esprime questi pesi in percentuale del totale complessivo.
Nella voce “Other” vengono raggruppate occupazioni legate al mantenimento delle licenze e degli upgrade.
Vediamo ora le 4 famiglie di test su cui si sono soffermati gli autori.
Install DB/Software/Out-of-the-Box Setup
Questa categoria di test analizza le funzionalità e le complessità messe in campo durante le fasi iniziali di installazione e setup.
Qua sotto i risultati dei test.
Il -6% della colonna “Time” indica che SQL Server è un po’ più rapido nelle fasi di installazione, che risulta invece di parecchio (58%) più complessa rispetto a quella di Oracle. I valori di “DBA Workday Savings” sono comunque limitati, e impatterebbero poco nel computo annuale di un DBA.
Come sottolineano giustamente gli autori, non bisogna farsi trarre in inganno dal fatto che un’installazione di SQL Server risulta più complessa – e quindi potenzialmente “peggiore” – dell’analoga in Oracle. Un’installazione molto pignola porta spesso ad avere un software installato in maniera più sicura ed affidabile.
Day-to-Day Database Administration
In questa categoria rientrano tutte le attività che si possono considerare “quotidiane”, come, ad esempio, creare tabelle, utenti ed indici, come anche il caricamento dati da fonti esterne.
Qua sotto la tabella dei risultati.
Il distacco di Oracle da SQL Server si fa, in questo caso, abbastanza marcato (ricordo che i valori positivi della “difference” sono a favore di Oracle).
Backup and Recovery
Come dice il titolo stesso, in questa categoria rientrano tutte quelle attività legate al backup e ripristino di database.
Ecco la tabella che riassume i risultati per questa tipologia di task.
In questo caso Oracle vince in entrambi gli score, tempo e complessità. Per il tempo ne richiede il 53% meno di SQL Server, e la complessità è del 60% inferiore.
Lo studio afferma inoltre che il recupero di una tabella eliminata in Oracle 11g richiede soli due step e 1 minuto di tempo, mentre la stessa operazione in SQL Server 2008 richiede 3 volte tanto come numero di step e quattro volte il tempo che era invece richiesto con Oracle.
Performance Tuning
Vediamo i risultati per questo importante settore.
Qua, come si vede, il distacco è ancora più netto, e sempre a favore di Oracle.
Oracle 11g risulta l’87% più efficiente come tempo e il 70% meno complesso come step.
Considerando che per effettuare operazioni di performance tuning sono necessari DBA piuttosto skillati (e costosi), il fatto che Oracle 11g permette un risparmio di tempo tra il 18% e il 23% di tempo assume un significato ancora più importante.
Secondo gli autori i responsabili di questo decisivo gap sono sia il motore di autodiagnostica di Oracle, il “Automatic Database Diagnostic Monitor (ADDM)”, sia il “SQL Tuning Advisor” che si occupano automaticamente di tenere ottimizzato un sistema Oracle 11g in funzione.
SQL Server 2008, in questo caso, non dispone di un tool che sia così omnicomprensivo ed automatizzato come l’accoppiata di Oracle.
Conclusioni
Le conclusioni a questo punto sono abbastanza chiare.
Per un DBA, la gestione di un database Oracle 11g richiede meno tempo e meno complessità dell’analoga gestione di un database SQL Server 2008.
La chiave di volta di questa supremazia risiede in particolare nella maggiore auto-ottimizzazione (self-monitoring) e automatizzazione di numerose attività che sottraggono tempo prezioso a chi si occupa di gestire questi DBMS.
E questi vantaggi sono in fondo i responsabili del risparmio – di tempo e di denaro – che si ottengono utilizzando Oracle.
Ora, io conosco SQL Server, ma conosco ben poco Oracle, e non posso commentare più di tanto questi risultati. Spero solo che questi studi siano stati il più obiettivi possibili. Se così è, bisogna ammettere che Oracle è un passo avanti a tutti, anche all’ultima versione di SQL Server, e dobbiamo (magari a malincuore) prenderne atto.
Mi viene però da pensare che, per quanto ne so, un DBA Oracle costa, a parità di anni di esperienza, di più di un “collega” SQL Server, e forse questo aspetto non è stato molto preso in considerazione.
L’articolo prosegue poi dedicando i 2/3 della sua lunghezza a tutta una serie di appendici. Si analizzano e si spiegano le innovazioni introdotte con queste ultime versioni dei due database.
Si riportano delle lunghe e dettagliate tabelle coi risultati effettivi dei test.
Ci si addentra nei significati scientifici delle formule matematiche utilizzate.
Si illustrano passo per passo i passaggi per compiere una determinata operazione (soggetto di test) eseguita in SQL Server e Oracle.
Specifiche tecniche della batteria di test
Hardware Platform: OS/Hardware Platform Data Points
? OS: Microsoft Windows Server 2003 R2 X64
? Processors: Four Intel Xeon MP Dual Core 3.4 GHz CPUs
? Memory: 4 GB DDR, 4x1 GB
? Storage: Two 73.4 GB 10 K drives
Software Platforms
? Relational database management software platform installed for this study
Oracle
? Oracle Database 11g Enterprise Database (64 Bit)
? Oracle Database Diagnostics and Tuning Packs
? Oracle Enterprise Manager - Database Control
? Database Configuration Assistant
? SQL*Plus
Microsoft
? SQL Server 2008 Enterprise Edition (64 Bit)