Un repository (lett. "deposito" o "ripostiglio"),[1][2] in informatica, è un ambiente di un sistema informativo (ad esempio di tipo ERP), in cui vengono gestiti i metadati, attraverso tabelle relazionali; l'insieme di tabelle, regole e motori di calcolo tramite cui si gestiscono i metadati prende il nome di metabase.

Descrizione

modifica

Si tratta di un ambiente che può essere implementato attraverso numerose piattaforme hardware e sistemi di gestione delle basi di dati (o DBMS, acronimo del corrispondente termine inglese DataBase Management Systems).

Si tratta di uno stile architetturale che può essere utilizzato come base di un'architettura software. I sottosistemi che compongono il software accedono e modificano una singola struttura dati chiamata appunto repository. I vari sottosistemi sono fra loro relativamente indipendenti, in quanto interagiscono solo mediante il repository. Il flusso di controllo è dettato o dal repository, mediante un cambiamento dei dati in esso memorizzati, o dai singoli sottosistemi (flusso di controllo indipendente).

Analisi

modifica

Vantaggi

modifica
  • Modo efficiente di condividere grandi mole di dati
  • Un sottosistema non deve preoccuparsi di come i dati sono prodotti o usati dagli altri sottosistemi.
  • Gestione centralizzata di backup, sicurezza, controllo di accesso e recupero da errori.
  • Facile aggiungere nuovi sottosistemi.

Svantaggi

modifica
  • I sistemi devono concordare un modello dati di compromesso, il che potrebbe influire negativamente sulle prestazioni.
  • L'adozione di un nuovo modello per i dati diventa difficile e costosa: deve essere modificato interamente il repository ed aggiornati tutti i sottosistemi.
  • La centralizzazione di backup e sicurezza non permette di gestire possibili requisiti specifici di alcuni sottosistemi.
  • È difficile distribuire efficientemente il repository su più macchine separate, continuandolo a vedere come logicamente centralizzato. Si verrebbero infatti a creare problemi di ridondanza e consistenza dei dati.
  1. ^ In italiano, nell'ambito informatico, si può tradurre in "archivio" (strutturato).
  2. ^ Lucia Francalanci, Quale possibile traducente per repository?, su Accademia della Crusca, accademiadellacrusca.it, 8 dicembre 2020. URL consultato il 1º giugno 2021.

Voci correlate

modifica

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di Informatica