Dopo aver effettuato il passaggio da SQL Server a ElasticSearch, posso fornire alcune informazioni su cosa aspettarsi. Abbiamo scelto ElasticSearch perché avevamo bisogno di qualcosa con migliori (più efficienti) funzionalità di ricerca sfaccettata di quanto avessimo con SQL Server. Una delle caratteristiche principali era la capacità di ottenere il conteggio dei documenti che corrispondevano alle nostre sfaccettature non selezionate all'interno del sottoinsieme di dati che stavamo già cercando. Questo e le funzionalità di ricerca di testo completo erano più facili da utilizzare.
Detto questo, abbiamo dovuto fare quanto segue:
- Suddividi i dati in documenti che dovevamo cercare (ad esempio insegnamenti, devozioni, libri, eventi, ecc.)
- Scrivi il nostro strumento per eseguire un ETL (Estrai, Trasforma, Carica)
- Scrivi la complessa logica di trasformazione che ha anche ripulito i peccati di formattazione da oltre un decennio di manutenzione
Il primo passo è la tua fase di pianificazione. Qui è dove si progetta ciò che si inserisce nel documento. Se si dispone di un documento gerarchico che si desidera cercare separatamente, è necessario capire quante informazioni di riepilogo si desidera conservare nel documento principale.
Abbiamo optato per un oggetto di riferimento con sufficienti informazioni di riepilogo che non abbiamo dovuto eseguire una seconda query per ottenere gli oggetti figlio quando abbiamo visualizzato informazioni sullo schermo. Potresti decidere che non funziona per il tuo progetto. Ci sono dei compromessi, soprattutto perché gli aggiornamenti devono essere fatti in più posizioni. Nella mia situazione, ci sono pochissimi aggiornamenti.
Consiglio vivamente di cogliere l'occasione per ripulire i dati.
Il processo ETL che ho scelto ha funzionato bene per il backup da SQL:
- Crea gli oggetti del tuo modello, la maggior parte delle API del database dei documenti li serializza come JSON o BSON
- Esegui la tua Estrai / Trasforma in quegli oggetti modello
- serializza gli oggetti del modello in un file BSON (utilizzando il formato Avro)
Il ripristino è stato un semplice caricamento dei dati del modello nel database dei documenti
- Serializza gli oggetti del modello dal file BSON
- Scrivili così come sono nel tuo database dei documenti
Il backup era un semplice download dei dati del modello dal database dei documenti
- Leggi i record dal database dei documenti
- Serializza gli oggetti del modello nel file BSON
A questo punto è possibile eseguire il backup da SQL Server e ripristinare il database del documento, nonché disporre di un backup e di ripristinare i dati con il database del documento.