Objektová databáze

Z Wikipedie, otevřené encyklopedie
Skočit na navigaci Skočit na vyhledávání
Objektový model databáze

Objektová databáze je databázový řízený systém, ve kterém je informace reprezentována ve formě objektu a používá se v objektově orientovaném programování. Objektové databáze se odlišují od relačních databází, které jsou tabulkové. Také existují objektově relační databáze, které jsou hybridem dvou předchozích přístupů.

První informace o objektových databázích se objevila v polovině 80. let.

Popis[editovat | editovat zdroj]

Objektově databázový řízený systém (Object-oriented database management systems - OODBMS nebo Object Database Management System - ODBMS) je kombinace databázových možností a objektově orientovaného programování. OODBMS dovoluje objektově orientovaným programátorům vyvíjet produkt, zachovat jako objekt, reduplikovat nebo modifikovat existující objekty. Díky tomu, že je databáze integrovaná (propojená) s programovacím jazykem, může programátor udržovat konzistenci v jednom prostředí. Proto se v OODBMS a programovacím jazyce používá stejný model reprezentace. Relační DBMS projekty proti tomu přísně rozlišují mezi databázovým modelem a aplikací.

Počet web-technologií roste s implementací interních a externích sítí, společnosti mají zájem o OODBMS pro zobrazování svých komplexních dat. Použití DBMS bylo konkrétně určené k ochraně dat hlavně pro společnosti orientované na multimédia a prezentaci a organizaci služeb, jako computer-aided design (CAD).

Některé objektově orientované databáze jsou propojené s objektově orientovanými jazyky, jako Delphi, Ruby, Python, JavaScript, Perl, Java, C#, Visual Basic .NET, C++, Objective-C a Smalltalk; jiné, jako JADE, mají svůj vlastní programovací jazyk. OODBMS používá přesně ten samý model jako objektově orientované jazyky.

Historie[editovat | editovat zdroj]

ODBMS se vyvíjel v rámci výzkumu od začátku do poloviny 70. let jako vestavěná podpora grafových databází. Název "Objektově orientovaný databázový systém" vznikl přibližně v roce 1985.

K výzkumným projektům zabývajícím se touto problematikou patří například Encore-Ob/Server (Brownowa univerzita), EXODUS (University of Wisconsin–Madison), IRIS (Hewlett-Packard), ODE (Bell Labs), ORION (Microelectronics and Computer Technology Corporation neboli MCC), Vodak (GMD-IPSI), a Zeitgeist (Texas Instruments). Projekt ORION měl víc publikací, něž ostatní. Won Kim z MCC spojil nejlepší z těchto publikací do jedné knihy a publikoval je v rámci The MIT Press.

Počateční komerční produkty byly Gemstone, Gbase, a Vbase. Další komerční produkty se objevovaly na trhu od konce 80. do poloviny 90. let. To zahrnovalo ITASCA (Itasca Systems), Jasmine (Fujitsu, pod značkou Computer Associates), Matisse (Matisse Software), Objectivity/DB (Objectivity, Inc.), ObjectStore (Progress Software, která byla získana od eXcelon), ONTOS (Ontos, Inc., původní název Ontologic), O2(O2 Technology, vznikla sloučením několik společností, které byly získany firmou Informix, a ta IBM). Některé produkty jsou dosud znamé a přišly na trh jako open source nebo komerční, například, InterSystems Caché.

Objektové databazové systémy přidaly objektovým jazykům prvek vytrvalosti. První komerční produkty byly integrovány s různými programovacími jazyky: GemStone (Smalltalk), Gbase (LISP), Vbase(COP) a VOSS (Virtual Object Storage System pro Smalltalk). Po většinu 90. let převládal na komerčním trhu objektových databází programovací jazyk C++. Producenti na konci 90. let rozšířili na trh jazyk Java.

Na začátku roku 2004 došlo k dalšímu růstu objektových databází, když vznikly Open Source objektové databáze. Ty byly masově rozšířeny a jejich použití bylo jednoduché, protože byly napsány v OOP jazycích, jako Smalltalk, Java nebo C#, nebo Versant's db4o (db4objects), DTS/S1 od Obsidian Dynamics a Perst (McObject), jsou získatelné jak open source tak i komerční licence.

Technické možnosti[editovat | editovat zdroj]

Většina objektových databází navíc nabízí různé typy dotazovacích jazyků, které dovolují objektům používat způsob deklarativního programování. To je oblast objektových dotazovacích jazyků, integrací dotazů a navigačních rozhraní.

Přístup k datům může být rychlejší, protože objekty můžou být vyhledány přímo bez hledání přes ukazatel.

Jnou možností rozlišování mezi produkty je způsob zadání diagramu, podle kterého je databáze je definovaná. Základní podmínkou je, že programovácí jazyk a databazový diagram mají stejnou definici.

Mnoho objektových databází, jako Gemstone nebo VOSS, podporuje systém správy verzí. Nějaký objekt může být představen jako sada všech verzí. Kromě toho se různé verze objektů mohou chovat jako samy objekty. Takže některé databáze poskytují podporu trigger (česky spoušť) a omezení, které jsou bazou aktivní databází.

Efektivita takové databází je dobrá, kde je potřeba obsahovat vlkou častku informaci v jednom elementu. Například banka může poskytnou klientovi informaci o tranzakcích, záznamy uživatele ATD.

Porovnání s RDBMS[editovat | editovat zdroj]

Objektové databáze uchovávají komplexní data a vztahy mezi daty, bez mapování vztahů řádků a sloupců, což je činí velmi pohodlnými pro aplikci, pracujicí s komplexními daty. Objekty mají relaci N:N (vztah many-to-many) a jsou přístupné přes ukazatele. Ukazately jsou připojeny k objektům pro provozní vztahů. Dalším významným rozdílem oproti RDBMS je, že můžou být programované s malými změnami bez vlivu na celý systém.

Odkazy[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byly použity překlady textů z článků Object database na anglické Wikipedii a Объектно-ориентированная база данных na ruské Wikipedii.

Externí odkazy[editovat | editovat zdroj]