Può capitare di trovarsi di fronte a questo dubbio e non sapere quale "strada" scegliere tra uno shapefile ed un geodatabase. Cercherò brevemente di fare chiarezza ma prima di scendere nel dettaglio è opportuno dare una spiegazione di cosa sia un geodatabase o DB cartografico; sarà utile sia a chi ci si imbatte per la prima sia a chi ne ha già avuto esperienza.
Immaginate le vostre elaborazioni geospaziali come fogli su una scrivania, un geodatabase può essere paragonato ad un raccoglitore da scrivania. Sono "strumenti" modulabili, si possono aggiungere vani da impilare su quelli che esistono già per aumentare la capienza del raccoglitore, è possibile inserire etichette in modo da effettuare una ricerca tra i fogli più rapida. E' un ambiente sicuro che consente di avere tutti i fogli in una stessa posizione, subito a portata di mano.
Uno shapefile invece è uno di quei fogli che avete sulla scrivania. Quando sono troppi vi ritroverete con una scrivania invasa da pile di fogli indistinti e di cui non saprete cosa c'è riportato.
Scendendo un po' più nel tecnico, un geodatabase, associa ad un database la componente spaziale portando in se quindi tutte le caratteristiche di un database.
Cosa è un database allora?
A database is an organized collection of data.[1] It is the collection of schemas, tables, queries, reports, views, and other objects. The data are typically organized to model aspects of reality in a way that supports processes requiring information, such as modelling the availability of rooms in hotels in a way that supports finding a hotel with vacancies. Fonte Wikipedia
Un databse è quindi un'insieme di dati raccolti in schemi, tabelle, query, report view ed altri oggetti. Tali dati sono organizzati mediante un modello logico che può essere di tipo relazionale oppure gerarchico. Un database inoltre deve essere organizzato con ridondanza minima, non devono esserci cioè dati inutilmente duplicati. Queste sono solo alcune caratteristiche di un databse che vengono sposate in pieno da un geodatabase.
E' opportuno anche dire cosa è una DBMS. Spesso si confonde un (geo)database con il suo DBMS; il DBMS - DataBase Management System - non è nient'altro che un sistema per la gestione di un database, sia esso di tipo "tradizionale" o di tipo geografico. Ad esso va associato un client che interfacciandosi con il DBMS consente una serie di operazioni sul dato contenuto nel database e gestito dal DBMS. Un esempio di DBMS è Postgresql/PostGIS, mentre uno di client è QGIS.
Ritornando alla domanda di introduzione: è meglio scegliere uno shapefile o un geodatabase? La risposta è dipende! Dipende da quanti dati avete, il tipo di elaborazioni. Anche in base alla quantità di dati contenuta nel nostro vettore, e quindi non solo alla quantità di vettori, possiamo scegliere quale strada intraprendere; qui c'è un video molto interessate su un test di performance tra shapefile e geodatabase.