V rámci svojho bootcampu (https://joyfulcraftsmen.com/bootcamp/) v Joyful Craftsmen, na ceste stať sa Data Engineerom, som sa často (rozumej takmer vždy) stretol s novými technológiami. Keďže jednou z bežných činnosti Data Engineera je presun/migrácia dát z miesta na miesto, tento task ma neminul. V mojom prípade išlo o migráciu dát z on premise (SQL) databáze do cloud-based databáze (Azure SQL Database).
Na migrovanie dát som si vybral Azure Data Factory (ADF) a s tým spojenú technológiu integration runtime (IR), ktorej sa tento blogpost bude týkať. Predtým, než sa pustím do vysvetľovania čo IR je a ako funguje, bolo by vhodné spomenúť aké sú predpoklady na úspešnú migráciu dát za pomoci ADF a IR. Predpoklady zahŕňajú úspešne vytvorený Azure účet (zaplatená subskripcia), vytvorenú Azure SQL Database a on-premise SQL Server obsahujúci nejaké dáta v databáze.
Zdroj obrázku: https://docs.microsoft.com/en-us/azure/data-factory/create-self-hosted-integration-runtime?tabs=data-factory
Čo je to integration runtime a aké má využitie
Integration runtime je nástroj využívaný v Azure Data Factory a v Azure Synapse. Tento nástroj má niekoľko využití:
- Využitie prvku Data Flows v rámci Azure prostredia
- Kopírovanie dát medzi dátovými zdrojmi v rámci verejných a privátnych sietí
- Vykonávanie a monitorovanie transformačných aktivít v rámci Azure tools ako napríklad Azure Databricks, Azure SQL Database, SQL server atd.
- Spustenie SSIS balíčku v rámci Azure prostredia
Typy integration runtime
Existujú tri rôzne typy integration runtime:
- Azure – tento druh IR zvládne vykonať všetky vyššie spomenuté tasky okrem spustenia SSIS balíčku
- Self-hosted – tento druh IR kopíruje dáta a vykonáva a monitoruje transformačné aktivity
- Azure SSIS – tento druh IR dokáže spustiť SSIS balíček
Každých z týchto typov je vhodný na iné použitie a do rôznych prostredí. Najvhodnejším variantom migrácie dát bola v mojom prípade druhá možnosť, ktorá je zároveň najlacnejšou, keďže intergration runtime je nainštalovaný v mojom virtuálnom počítači.
Inštalácia IR
Self-hosted integration runtime sa dá stiahnuť tu: https://www.microsoft.com/en-us/download/details.aspx?id=39717
Po úspešnom stiahnutí na príslušné zariadenie (je odporúčané neinštalovať IR priamo na on-premise SQL Server so zdrojovými dátami, ale na iný počítač v rámci on-premise private network) stačí kliknúť na inštalačku, vybrať jazyk IR, odsúhlasiť podmienky používania, miesto na disku kde sa IR nainštaluje. Po skončení inštalácie sa IR automaticky spustí a zobrazí sa táto obrazovka:
Obrázok 1
Nastavenie IR
Aby sa dalo ďalej pokračovať v nastavení IR, je potreba ísť do príslušnej Azure služby, v našom prípade do ADF, kliknúť na panely vľavo na záložku manage a v tejto záložke kliknúť na Integration runtimes:
Obrázok 2
Následne sa klikne na new:
Obrázok 3
Na pravej strane nabehne panel, kde sa zaškrtne setup a environment:
Obrázok 4
Obrázok 5
IR treba pomenovať a potom kliknúť Create:
Obrázok 6
Po vytvorení IR sa automaticky otvorí okno, kde budú uvedené autorizačné kľúče (kvôli bezpečnosti prečiarknuté červenou čiarou):
Obrázok 7
Autorizačný kľuč sa skopíruje do IR (viz. obrázok 1) a následne treba kliknúť register a potom finish. Po úspešnej autorizácii (viz. obrázok nižšie) sa klikne na Launch Configuration Manager:
Obrázok 8
Po kliknutí Launch Configuration Manager vybehne “domovský” interface IR. V záložke Diagnostics je možné otestovať spojenie medzi IR a on-premise SQL Serverom:
Obrázok 9
Posledný potrebný krok na úspešné dokončenie nastavenia IR v našom scenári je ísť do ADF do záložky Linked Services a vytvoriť pomocou IR spojenie medzi zdrojovou a cieľovou destináciou:
Obrázok 10
V prípade, že je správna autorizácia, IR je pripravená na použitie a môže začať migrácia medzi on-premise SQL databázou a cloud-based Azure SQL databázou.