Cosmos DB è il database di riferimento della piattaforma cloud di Microsoft, perché permette di memorizzare informazioni con più protocolli (SQL, Mongo, ecc), con più tipologie di container (NoSQL, tabelle, graph, ecc) il tutto con prestazioni eccellenti e geo distribuite.
La scelta di adottare questo database può avvenire in una fase in cui disponiamo già dei dati e non è neanche detto che questi siano già sul cloud. E' necessario quindi in questi casi dover importare dalle rispettive fonti i dati e caricarli in maniera strutturata su Cosmos DB.
Per farlo viene in aiuto Azure Cosmos DB Data Migration Tool, un tool disponibile su https://github.com/Azure/azure-documentdb-datamigrationtool che dispone di una console a linea di comando dt.exe e di una interfaccia di nome dtui.exe per creare facilmente l'invocazione della console. Il tool permette di importare da molteplici fonti, quali: Azure Tables, JSON files, MongoDB, SQL Server, CSV files, RavenDB, Amazon DynamoDB, HBase, Azure Cosmos DB SQL API.
Una volta scaricato, è sufficiente avviare l'interfaccia e scegliere la sorgente tra quelle disponibili. Nell'esempio seguente ci connettiamo ad un database SQL Server locale.

Successivamente selezioniamo la destinazione, tipicamente Cosmos DB. Abbiamo due possibilità: con un bulk specifico di una collection, o con un inserimento parallelo multi collezione. Il tool è in grado infatti di creare automaticamente più collezioni e di ottimizzare l'inserimento di righe della stessa collezione o chiave di partizionamento. Nell'esempio seguente usiamo l'inserimento parallelo in una singola collezione.

Siamo invitati ad inserire qual è il campo che funge come id e quale come chiave di partizionamento, ormai obbligatoria.
Nell'ultimo step otteniamo di fatto la riga di comando da invocare, che possiamo visualizzare, o attivare direttamente visualizzandone lo stato e l'esito.

Ovviamente questa procedura è sottoposta al throughput delle collezioni coinvolte perciò, se necessario, è opportuno alzarlo per rendere più veloce l'operazione.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Scoprire le ottimizzazioni di Entity Framework Core in fase di scrittura di un solo record
Utilizzare HiLo per ottimizzare le insert in un database con Entity Framework
Utilizzo di Map e Object in Javascript
Creare attributi generici in C#
Gestire la query string nell'output cache di ASP.NET Core
Le novità di .NET 7 e C# 11
Definire lo stile CSS in base alle dimensioni del container
Catturare la telemetria degli eventi di output cache in ASP.NET Core
Personalizzare le richieste con i rule set di Azure Front Door
Utilizzare gli snapshot con Azure File shares
Innestare una query nel metodo Contains di Entity Framework Core
I più letti di oggi
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- .NET Conference Italia 2022 - Milano e Online