Ukládání heterogenních dat pomocí rozvolněných objektů Michal Žemlička
Proč? V praxi se setkáváme s tím, že data, se kterými potřebujeme pracovat, pocházejí z různých zdrojů – mají tak různou strukturu Stává se, že k některým objektům reálného světa máme více informací, než k jiným, byť jsou oba objekty stejného druhu. Chceme mít přístup ke všem dostupným informacím, abychom je mohli naplno využivat
Jak na to? Použít datová skladiště –Potřeba univerzálních formátů –Složitá práce s univerzálně uloženými daty –Řeší datovou část, ne procesní Objektové DB –Ne příliš efektivní; pro praktický guláš dat je třeba vytvořit a udržovat přehršle tříd.
Rozvolněné objekty - Základ Ke každému objektu může být dostupná víceméně libovolná sada dat (co seženeme) Metoda je aplikovatelná na objektu, jsou-li dostupné všechny požadované atributy a jsou-li splněny případné další podmínky.
Rozvolněné objekty - implementace Data se ukládají po jednotlivých atributech K provedení akce většinou stačí získat několik málo atributů (není třeba sestavovat celý objekt). Je možné tyto atributy získávat i z dalších DB (on-line i importem) Je možné si u jednotlivých hodnot držet jejich platnost, případně kvalitu
Rozvolněné objekty - výhody Možnost využívat všechny údaje, ke kterým se dostaneme V reálném světě se ptáme na všechno, co splňuje nějakou podmínku (nezávisle na tom, do které třídy ty objekty patří) – to je zde také relativně snadno realizovatelné Snadné rozšíření o práci s platností (temporalitu)
Rozvolněné objekty - nevýhody Nízká podpora ze strany současných db strojů (musí se přeci jen dost doprogramovat) Detekce chybějících dat – chybí-li k objektu nějaké údaje, bere se to jako jiná třída a nedojde k chybě; musí se proto psát speciální dotazy
Závěr Při implementaci komplexnějších systémů je třeba vytvořit úložiště schopné pracovat s velkým počtem druhů objektů Řešením mohou být datové sklady nebo speciální databáze – tyto mohou být řešeny různými způsoby (např. rozvolněnými objekty, které se hodí např. jako součást GIS-ů)