5.3. Nagy mennyiségű adat mozgatása

A LOAD és az UNLOAD segédprogramok kombinációja a legelterjedtebb módszer, amit az adatbázis-adminisztrátorok nagy mennyiségű adat mozgatására használnak. De vannak más módszerek is nagy tömegű adat mozgatására.

5.3.1. ETL szoftver

Az ETL (extract, transform, load) egy olyan szoftvertípus, amely ugyancsak nagy mennyiségű adat mozgatására szolgál. Részei: kinyerés (extract), transzformálás (transform) és a betöltés (load). Az ETL szoftver általában az adatokat adatforrásokból vagy adatbázisokból adattárházakba vagy adatpiacokba tölti.

Az ETL használatával az adatbázis-adminisztrátor automatizálhatja a különféle heterogén forrásokból származó adatok kinyerését. Az ETL szoftvert be lehet úgy állítani, hogy felismerje és kinyerje az adatokat különböző forrásokból, mint például síkállományokból (szöveges állományok, csv állományok – vesszővel tagolt mezőket tartalmazó szöveges állomány, xml állományok), relációs adatbázisokból, mint az ORACLE, MS SQL Server, és a DB2 adatbázisok, melyek különböző platformokon futnak, vagy egyéb külső adat forrásokból.

Ha az ETL szoftver kinyerte az adatokat, akkor a legtöbb esetben az adatot transzformálni kell, mielőtt a céladatbázisba kerül. Az ETL szoftver könnyedén automatizálja ezeket a transzformációkat. Előfordulhat, hogy kódolt adatot szeretnénk transzformálni, mivel a kódok helyett értelmes értékeket szeretnénk a céladatbázisban látni, mint például az „1”, „2”, „3” értékek helyett a „Házas”, „Egyedülálló” és „Elvált”. Az ETL sokféle transzformációra képes, az egyszerűtől (az adattípusok megváltoztatása) a bonyolultig (numerikus adatok aggregálása).

Miután az adatokat az ETL szoftver transzformálta, betölti őket a céladattárházba. Az ETL szoftver sokkal rugalmasabban kezeli az ilyen típusú, nagy mennyiségű adatmozgatást, mint az egyszerű LOAD és UNLOAD segédprogramok.

Az 5-2. ábra az ETL szoftver munkáját szemlélteti.

5-2. ábra – ETL szoftver

5.3.2. Replikáció és propagáció

Az adatot replikáljuk, ha egy adattárat másolunk egy vagy több adattárba. Az adattárak lehetnek ugyanazon a gépen, vagy más gépen is. A replikáció során másolhatunk teljes adatbázist, táblákat, vagy táblák sorainak és oszlopainak a részhalmazát is. A replikációt be lehet állítani úgy, hogy rendszeres időközönként automatikusan frissüljenek a másolt adatok.

A propagáció csak a megváltozott adatokat migrálja. A propagációt meg lehet valósítani úgy, hogy a tranzakciós naplót vizsgáljuk és az adatváltozásokat alkalmazzuk a másik adattárban. Egy adattárház kezdeti betöltése végrehajtható replikációval, majd az azt követő változások megvalósíthatóak replikációval (ha az adatok nagyon dinamikusak) vagy propagációval.

5.3.3. Üzenetküldő szoftverek

Az üzenetküldő szoftverek, vagy más néven üzenetsorba-állító szoftverek egy másik lehetőségét adják az adatmozgatásnak. Egy üzenetsor használatával az adatokat egy alkalmazás vagy folyamat behelyezi a sorba; és az adatokat egy másik alkalmazás vagy folyamat olvassa a sorból.

Az üzenetküldő szoftverek olyan API biztosításával dolgoznak, melyeknek a segítségével lehet a sorból olvasni és a sorba írni a formázott üzeneteket. Egy alkalmazás bármilyen, a szoftver által támogatott platformról képes a sorból üzeneteket olvasni, illetve a sorba írni.

Az üzenetküldő szoftvereknek az adatmozgatást tekintve abban van a legnagyobb előnye, hogy egyszerű, heterogén, bármihez hozzácsatlakoztatható kapcsolatokat hozhatunk létre velük. Az üzenetküldő szoftver segítségével a cég aszinkron módon tud az elszeparált adatszigeteket között kapcsolatot létesíteni. Az aszinkron azt jelent, hogy az alkalmazások akkor is kommunikálhatnak egymással, ha nem egy időben futnak.

5.3.4. Más módszerek

Sok más módszer is létezik az adatok mozgatására – a legegyszerűbbtől, amikor egy táblaszerkesztő eszközzel kijelölünk és kimásolunk adatokat; a összetettebbekig, mint olyan alkalmazás fejlesztése, amely olvassa az adatbázist, és külső állományba vagy közvetlenül egy másik adatbázisba ír.

Néhány adatbázis-kezelő rendszer további beépített módszereket is biztosít az adatok másolására és mozgatására.