'''DB2''' èDb2è un [[relational database management system]] (RDBMS) della [[IBM]]: scritto in [[linguaggio C|C]], [[C++]] e [[Assembly]], è stato riscritto per ogni [[piattaforma (informatica)|piattaforma]], pur con una base comune. La sua prima versione risale al [[1983]].
== Descrizione ==
Nel maggio 2016 DB2 è fra gli RDBMS più diffusi secondo le classifiche ufficiali basate sul ranking per popolarità<ref>{{Cita web|url=http://db-engines.com/en/ranking|titolo=DB-Engines Ranking|autore=|editore=|data=|accesso=}}</ref> (i primi in ordine sono [[Oracle Database|Oracle]], [[MySQL]] prodotto dalla stessa [[Oracle Corporation|Oracle]], [[Microsoft SQL Server]], [[PostgreSQL]]). {{senza fonte|Nel maggio [[2004]] IBM dichiarò che i suoi principali rivali sono Oracle nel campo della gestione avanzata delle [[transazione (basi di dati)|transazioni]] e [[Teradata]] nel campo dei sistemi per la [[decision making|presa di decisione]] (soprattutto [[datawarehouse]]).}}
Quando, nel [[1997]], [[Illustra]] fu acquisita da [[Informix]] (che sarebbe stata a sua volta acquisita da IBM nel 2001) e quest'ultima introdusse ''Universal Server'' nel proprio database, facendone un DBMS relazionale a oggetti, sia Oracle sia IBM dovettero introdurre il paradigma degli oggetti nei propri prodotti. Questo ha fatto di DB2 unDb2un [[DBMS]] [[Database relazionale a oggetti|relazionale a oggetti]].
In origine, DB2 eraDb2era nato come DBMS per i [[mainframe]], ma poi si è diffuso su qualsiasi tipo di [[server]], perfino su [[palmare|PDA]] e altri [[dispositivo mobile|dispositivi portatili]]; esistono versioni per [[sistema operativo|sistemi operativi]] [[GNU/Linux]], [[Unix]] ([[AIX (sistema operativo)|AIX]], [[HP-UX]], [[Solaris Operating Environment|Solaris]]) e [[Microsoft Windows]]. I suoi precursori sono [[DL/1]] e [[IMS/DB]], sempre della IBM.
A partire dalla versione 9.1, DB2 perDb2per [[Windows]], [[Linux]], e [[Unix]], include la tecnologia "pureXML", che fornisce la possibilità di salvare informazioni in campi di tipo [[XML]]. DB2 risultaDb2risulta, quindi, il primo database ibrido, con modello relazionale e XML. Questo favorisce la gestione di applicazioni che interagiscono con documenti XML, permettendo, ad esempio, l'interrogazione diretta del database tramite [[XQuery]].
=== Edizioni ===
* DB2 Db2''Express'': è il livello base di RDBMS, l'ideale per il piccolo medio mercato d'affari.
* DB2 Db2''Express-C'': è la versione gratuita dell'IBM, l'ideale per piccole aziende, compagnie ''multi-branch'', [[programmatore|sviluppatori]] e partner di affari.
* DB2 Db2''Workgroup Server Edition'': è il software ideale per le piccole e medie aziende.
* DB2 Db2''Enterprise Server Edition'': comprende moltissime [[libreria (software)|librerie]] capaci di gestire i carichi di lavoro più esigenti.
==== Versione gratuita ====
Dal 30 gennaio 2006 IBM distribuisce una versione gratuita del proprio database server, [[IBM DB2 Express-C|DB2 ExpressDb2Express-C]], disponibile per Linux, Mac OS, Windows e Unix per architetture hardware di [[processore|processori]] a [[32 bit|32]] e [[64 bit]]. DB2 ExpressDb2Express-C ha le stesse funzioni standard delle versioni commerciali, ma limita l'utilizzo dell'hardware effettivamente installato sul server dove risiede. Attualmente (10.5) è limitato ad una dimensione massima del database di 15 TeraByte, un totale di non più di 2 [[core (informatica)|core]] di CPU, e fino a 16 GB di memoria [[RAM]] indipendentemente dall'[[hardware]] presente. È anche possibile acquistare una [[licenza (informatica)|licenza]] in forma di abbonamento annuale per ottenere il supporto tecnico fornito direttamente da IBM. Aggiungendo licenze, diventa permesso utilizzare alcune funzioni aggiuntive, come la replica SQL e HADR (''High Availability and Disaster Recovery''), un sistema di ''[[disaster recovery]]'' che permette di passare automaticamente ad un [[server]] di [[Computer cluster|''failover'']] nel caso in cui il server principale diventi inutilizzabile. Possiede inoltre funzionalità IN-MEMORY, con la possibilità di creare oggetti organizzati in colonne, supporto Json e funzionalità avanzate di "federazione", cioè la possibilità di integrare e presentare oggetti di altri prodotti quali ad esempio tabelle/viste Oracle, Postgresql, MySQL, e dalla versione 11.1 anche oggetti HDFS Apache Hive e Cloudera.
=== Strumenti di supporto ===
DB2 puòDb2può essere amministrato sia da [[riga di comando]] sia dal "Control Center", un'applicazione [[GUI]] scritta in [[linguaggio Java|Java]]. Dal 2016 IBM ha aggiunto a questi prodotti un nuovo strumento gratuito di amministrazione e monitoraggio chiamato Data Server Manager.
DB2 puòDb2può essere usato all'interno di software applicativo accedendo a un'[[Application programming interface|API]] disponibile per numerosi [[linguaggi di programmazione]], tra cui: [[Java (linguaggio di programmazione)|Java]], [[Python]], [[Ruby (linguaggio di programmazione)|Ruby]], [[Perl]], [[PHP]], [[C (linguaggio)|C]], [[C++]], [[COBOL]], [[Fortran]], e altri linguaggi che supportano il [[Framework .NET]].
IBM fornisce strumenti per l'integrazione e lo sviluppo con l'[[Integrated development environment|IDE]] [[Visual Studio]] ed [[Eclipse (informatica)|Eclipse]].
* {{cita web|https://www.ibm.com/software/data/db2/|DB2 sul sito della IBM|lingua=en}}
* {{cita web|https://www-03.ibm.com/software/products/en/db2expressc|Edizione gratuita di DB2|lingua=en}}
* [ftp://ftp.software.ibm.com/software/data/db2/express-c/wiki/Getting_Started_with_DB2_Express_v9.5_Italian.pdf Iniziare a usare DB2 ExpressDb2Express-C 9.5] (E-Book gratuito)
* {{cita web|https://www.ibm.com/software/data/info/expresscd/|Pagina per ordinare il DVD gratuito DB2 9 Discovery Kit|lingua=en}}
* {{cita web|http://www.db2mag.com/|DB2 Magazine|lingua=en}}
|