Change Data Capture je nový nadstavbový produkt v OE 11.7. Lze jej zakoupit samostatně nebo společně s licencí OE Advance Enterprise RDBMS. Syntaxe OpenEdge SQL, OpenEdge ABL a nástroje OpenEdge Management, OpenEdge Explorer a dalších byly obohaceny o podporu CDC.
Mezi hlavní znaky CDC patří:
Univerzálnost
-
- záznamy o změnách jsou ukládány ve stejné databázi
- záznamy o změnách jsou ukládány v relační formě
- záznamy o změnách jsou dostupné standardními prostředky SQL, ABL
Dobrá škálovatelnost
-
- pravidla umožňují určit tabulky i jejich vertikální podmnožiny (sloupce), jejichž změny budou zaznamenávány
- data v Change Tables je možné indexovat
- je možné řídit množství ukládaných změn
Vysoká užitná hodnota
-
- sledování právě a jen požadovaných změn v databázi OpenEdge
- uložení změn na jednom místě bez ohledu na to, kde se vyskytují originální data
- vhodný zdroj dat pro nástroje typu ETL (Extract, Transform, Load), DW a jiná datová úložiště
- jednotná konfigurace bez ohledu na způsob přístupu (SQL, ABL)
- CDC je zcela nezávislý na aplikacích
- online správa bez nutnosti zastavení databázového serveru
Při aktivaci CDC jsou do základního metaschématu přidány dvě tabulky: _Cdc-Table-Policy a _Cdc-Field-Policy. Tyto tabulky obsahují informace o pravidlech CDC pro tabulky a jejich sloupce. Dále je přidána tabulka "Change Table Tracking" (_Cdc-Change-Tracking). Při konfiguraci CDC je pak přidána samostaná tabulka pro každou databázovou tabulku, jejíž změny budou zaznamenávány (Change Table).
Tabulka _Cdc-Change-Tracking ukládá záznam všech aktivit týkajících se změn dat v originálních tabulkách podle definovaných pravidel. zachycování změn je implementováno speciálními spouštěči CDC vložených přímo do jádra databázového stroje. Obsahuje také informace o správné sekvenci databázových transakcí. Změnová data jsou uložena pomocí speciálního triggeru do příslušné tabulky Change Table. Optimalizační mechanismus umožňuje omezit množství ukládaných dat podle definovaných pravidel.
Před aktivací funkce CDC je nutné vytvořit oblast pro nové tabulky a indexy. Vzhledem k četnosti změn musí být tento prostor dostatečně dimenzován a důležitým úkolem správce databáze je sledovat růst těchto dat.
Příklad:
Nyní se pusťme do praktické ukázky. Na základě standardní databáze sports2000 vytvoříme databázi připravenou pro CDC. Nezapomeňte, že pro spuštění CDC musí databáze obsahovat oblasti typu II.
Nejprve vytvoříme novou databázi, například myCDC, kopii databáze sports2000 s příkazem:
prodb myCDC sports2000
Následně přidáme oblasti (areas), ve kterých budou data CDC uložena. Nejprve vytvoříme soubor add_CDC.st:
Z příkazového řádku příkazem prostrct vytvoříme nové oblasti:
prostrct add myCDC add_CDC.st
Pro další kroky použijeme webové rozhraní nástroje OE Explorer nebo OE Management. Nejprve vytvořenou databázi zaregistrujeme. Po přihlášení vybereme položku Resources -> Databases. Zobrazí se obrazovka Migration Utility Database, v níž zadáme parametry vytvořené databáze myCDC spolu s číslem portu, např. 1005. Zaškrtneme položku Autostart database broker.
Stiskem tlačítka Submit změny uložíme a spustíme databázový server. Zobrazí se následující obrazovka:
Nyní přejdeme k samotné konfiguraci CDC. V hlavní nabídce klikneme na Database Administration a dále Go to Database Administration.
V seznamu databází vybereme na databázi myCDC.
Zobrazí se obrazovka s několika pohledy. Na pravé straně je zobrazení Database Features. Funkce Change Data Capture je vypnuta.
Zaškrtneme políčko Enable.
Nyní musíme určit, do jakých oblastí budou data a indexy CDC uložena. Postupně klikneme na ikonu lupy a vybereme oblasti pro uložení dat a indexů.
Tlačítkem Enable change data capture spustíme CDC.
O výsledku budeme informování v následujícím okně:
Jak jsme u Progressu zvyklí, můžeme zapnout CDC také přímo z příkazového řádku, například:
proutil myCDC -C enablecdc area Track_CDC_Data indexarea CDC_Track_Index
Nyní je databáze připravena k definici pravidel CDC. Jak na to si ukážeme v následném článku a uvedeme několik jednoduchých programů, které ukážou práci s daty z Change Tables..
Autoři: Michal Džmuráň volně dle Piotr Tucholski.