Objektová databáze

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

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

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čáteč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ískána od eXcelon), ONTOS (Ontos, Inc., původní název Ontologic), O2(O2 Technology, vznikla sloučením několik společností, které byly získány firmou Informix, a ta IBM). Některé produkty jsou dosud známé a přišly na trh jako open source nebo komerční, například, InterSystems Caché.

Objektové databázové 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

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 mohou být vyhledány přímo bez hledání přes ukazatel.

Další možností rozlišení produktů je způsob definice databázového schématu. Obecnou charakteristikou je, že programovací jazyk a databázový diagram používají stejný typ definice.

Mnoho objektových databází, jako Gemstone nebo VOSS, nabízí systém podpory správy verzí. Na objekt může být nahlíženo jako na sadu všech jeho verzí. Kromě toho je možné s různými verzemi objektů zacházet jako samostatnými objekty. Některé databáze také poskytují systémovou podporu triggerů a omezení, které jsou základem aktivních databází.

Efektivita takové databáze roste v případech, kdy je potřeba ukládat velké množství informací k jednomu prvku. Například bankovní instituce může požádat o informace o účtu klienta a dostane je včetně podrobné informace o transakcích, změnách na účtu atd.

Porovnání s RDBMS

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 aplikaci, pracující s komplexními daty. Objekty mají relaci N:N (vztah many-to-many) a jsou přístupné přes ukazatele. Ukazatele jsou připojeny k objektům pro provozní vztahů. Dalším významným rozdílem oproti RDBMS je, že mohou být programované s malými změnami bez vlivu na celý systém.

Příklady Objektových databází

Související články

Odkazy

Reference

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


Externí odkazy

Média použitá na této stránce

Object-Oriented Model.svg

Object-Oriented Model

Defines a data object as containing code (sequences of computer instructions) and data (information that the instructions operate on). Traditionally, code and data have been kept apart. In an object-oriented data model, the code and data are merged into a single indivisible thing—an object.