Možnosti implementace temporálních Databází v Caché Lukáš Rychnovský
Osnova Motivace Motivace Požadavky Požadavky Návrh Návrh Implementace Implementace Demo Demo
Motivace - 1 Databáze zaznamenávají stav k jedinému okamžiku Databáze zaznamenávají stav k jedinému okamžiku V mnoha odvětvích je třeba zaznamenávat spolu s aktuálními daty i historii V mnoha odvětvích je třeba zaznamenávat spolu s aktuálními daty i historii Medicína - diagnózy Bankovnictví - splátky Burza - pohyb kurzů Administrace
Motivace - 2 Logování Logování vstupy do místnosti aktivní spojení Data Mining Data Mining
Temporální DB 2 systémové sloupce 2 systémové sloupce granularita časové osy granularita časové osy modifikace INSERT, UPDATE a DELETE modifikace INSERT, UPDATE a DELETE rozšíření SELECTu pro temporální dotazy rozšíření SELECTu pro temporální dotazy TSQL Jiří Petr NOW Petr Jiří NOW Jiří TeTs SumaJméno
Požadavky na implementaci Jednoduchá integrace do existujících projektů Jednoduchá integrace do existujících projektů Konzistentní rozšíření přístupu Konzistentní rozšíření přístupu Nahrazení existujících metod
Schéma rozšíření - 1
Návrh SQL přístup SQL přístup Modifikace existujícího TRIGGERu Definice nového Objektový přístup Objektový přístup Redefinice STORAGE CacheStorage -> CustomStorageCacheStorage -> CustomStorage Do SuperClass přidat Temporal
Temporální rozšíření aplikace Přístup k historickým datům Přístup k historickým datům Metody pro modifikaci temporálních dat Metody pro modifikaci temporálních dat Dotazovací aparát Dotazovací aparát
Schéma rozšíření - 2
Implementace V době psaní kódu není jasné, jaké třídy budou temporální přístup využívat V době psaní kódu není jasné, jaké třídy budou temporální přístup využívat ObjectScript Generator [ObjectGenerator] 3 nové globály 3 nové globály ^*.H historická data ^*.HA a ^*.HT indexy
SQL přístup Plná podpora TSQL2 Plná podpora TSQL2 Valid_From Valid_To Overlaps Meets, … Demo Demo
Objektový přístup OpenId k určitému časovému okamžiku OpenId k určitému časovému okamžiku 2 systémové vlastnosti 2 systémové vlastnosti Metody pro získání následujícího/předešlého objektu Metody pro získání následujícího/předešlého objektu
Demo...