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.

Jinou 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 programovací jazyk a databázový 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 velkou částku informaci v jednom elementu. Například banka může poskytnou klientovi informaci o transakcích, záznamy uživatele 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.