Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Ingestr: migrare dati tra database con la CLI

Ingestr è una libreria Python che consente di migrare dati tra database tramite istruzioni da linea di comando
Ingestr: migrare dati tra database con la CLI
Ingestr è una libreria Python che consente di migrare dati tra database tramite istruzioni da linea di comando
Link copiato negli appunti

Ingestr è una piattaforma Open Source che permette di copiare dati da qualsiasi sorgente e di spostarli verso qualunque destinazione senza dover scrivere una sola linea di codice. Si tratta nello specifico di una libreria utilizzabile da linea di comando per il trasferimento di dati tra database differenti. Dal punto di vista dell'utilizzatore, tipicamente uno sviluppatore, un analista o un sysadmin, Ingestr consente un notevole risparmio di tempo, tutto quello che si deve fare è lanciare un comando e assistere alla migrazione delle informazioni coinvolte.

Installazione di Ingestr

Il codice sorgente di Ingestr è disponibile in un repository dedicato su GitHub. Parliamo di un progetto basato su Python e per la sua installazione è sufficiente inviare la seguente istruzione al package manager pip:

pip install ingestr

Fatto questo non rimane altro che specificare l'URI del database sorgente, la tabella che si intende copiare, l'URI del database di destinazione e la tabella in cui migrare i dati. Come nell'esempio seguente dove la sorgente è Postgres, mentre la destinazione è in BigQuery:

ingestr ingest \
    --source-uri 'postgresql://admin:admin@localhost:8837/web?sslmode=disable' \
    --source-table 'public.some_data' \
    --dest-uri 'bigquery://<your-project-name>?credentials_path=/path/to/service/account.json' \
    --dest-table 'ingestr.some_data'

Caricamento incrementale dei dati

La libreria supporta anche il caricamento incrementale dei dati, questo significa che si ha la possibilità di effettuare operazioni di append, merge o delete+insert sulla tabella di destinazione. Se una tabella è stata già migrata in precedenza la si potrà aggiornare dalla sorgente coinvolgendo unicamente i nuovi record. Si ha quindi il vantaggio di non dover spostare più volte l'intero contenuto di una tabella, con un vantaggio notevole dal punto di vista dei tempi di esecuzione.

Se si decide di non utilizzare il caricamento incrementale, ed effettuare un semplice replace che è la modalità predefinita, la tabella di destinazione verrà rimossa e sostituita con una popolata da zero.

Per quanto riguarda la compatibilità, sono supportati numerosi database manager tra cui anche Microsoft SQL Server. Per quanto riguarda MongoDB, Oracle, SQLite e MySQL essi possono essere impiegati unicamente come sorgente, non come destinazione dei dati.

Ti consigliamo anche