Otázky a odpovědi o systému Caché

O Caché a společnosti InterSystems

Co je systém Caché?

Caché je aplikační server se zabudovanou objektově orientovanou databází optimalizovaný pro rychlý vývoj a nasazení vysoce výkonných webových aplikací a aplikací typu klient-server.

Proč jste produkt pojmenovali "Caché"?

Název Caché jsme zvolili proto, že připomíná jednak vyspělé techniky využívání vyrovnávacích pamětí (caching), které zvyšují výkon databázového systému, a zároveň prestiž (cachet), kterou vývojáři získali používáním nejlepší současné databázové technologie. (Čti "kašé").

Jak byste stručně představili svoji společnost?

Společnost InterSystems Corporation (www.intersystems.com) je předním poskytovatelem vysoce výkonných databázových systémů pro webové aplikace a aplikace typu klient-server používaných miliony uživatelů po celém světě. Nejrozšířenější produkt společnosti InterSystems, databázový systém CACHÉ, zajišťuje jedinečným způsobem současný přístup k datům pomocí různých metod.


Postrelační technologie


Co znamená termín „postrelační databáze"?

Občas se lze v souvislosti s Caché setkat s pojmem "postrelační databáze". Termín "postrelační" má odlišit databázový systém Caché od zastaralých relačních databázových systémů, které násilně uspořádávají data do zjednodušeného dvourozměrného modelu. Systém Caché ukládá data ve vícerozměrných strukturách, které jsou vhodnější k popisu dat ze skutečného světa, a tím je i přístup k nim rychlejší. Systém Caché také nabízí několik možností přístupu k datům: prostřednictvím jazyka SQL, přístup jako v objektové databázi, vícerozměrný přístup k datovým polím, HTML.Všechny metody lze použít zároveň, i při současném přístupu k jedné položce. Tyto dva faktory, vícerozměrné datové struktury a více metod přístupu k datům, jsou hlavními znakytechnologie Caché.

Znamená to, že musím navrhovat nové datové struktury?

Ne. Veškerá data jsou v databázi Caché uložena v efektivní vícerozměrné podobě, ale díky způsobům přístupu můžete o datech přemýšlet libovolným způsobem: jako o tabulkách, objektech nebo vícerozměrných polích. Systém Caché jedinečným způsobem nabízí "unifikovanou datovou architekturu" ("Unified Data Architecture"), která automaticky umožňuje k datům, která byla původně definována jako objekty nebo relační tabulky, přístup libovolnou z uvedených metod. Vývojáři definují data pouze jednou, buď jako objekty, nebo jako tabulky a pak je využívají libovolným způsobem (jako objekty, relační tabulky nebo vícerozměrná pole). To je užitečné zejména při převodu starších aplikací z relačních databází. Definice dat již totiž byla provedena a při převodu do systému Caché ji není nutno provádět znovu.

V čem je postrelační technologie lepší než relační?

Velkou výhodou je vyšší výkon. Reálná data jsou často složitá, ale zastaralá relační technologie nutí vývojáře tato data modelovat do zjednodušujících řádků a sloupců. Složitost reálného světa je pak přesunuta na logiku aplikace, která musí při zpracování často přecházet z tabulky na tabulku ("table hopping") a pro každou transakci uskutečnit mnoho spojení. To způsobuje obrovskou režii zpracování, která může aplikace používající relační technologii zpomalovat.

Vícerozměrné datové struktury systému Caché naproti tomu nabízejí mnohem bohatší prostředí pro popis údajů o skutečném světě. Aplikace používající systém Caché nemusejí pracně "skládat" data rozdělená do více tabulek. Veškerá režie zpracování odpadá, takže aplikace pracují rychleji, podle zákazníků využívajících systém Caché dokonce až 20x rychleji.

Dalšími výhodami systému Caché jsou široká rozšiřitelnost a rychlý vývoj aplikací.

Jak široká je ve skutečnosti "široká rozšiřitelnost"?

Zde jsou některé příklady: Společnost Ameritrade, která obchoduje on-line s cennými papíry, využívá systém Caché k provozování uživatelské aplikace, která zajišťuje 75% denních aktivit společnosti. Tato aplikace přitom využívá jen 25% zdrojů IT společnosti Ameritrade. Společnost Partner's Healthcare, která provozuje největší integrovanou síť typu klient-server na světě s více než 30 000 klienty, používá pro všechny rozhodující aplikace systém Caché.

Co umožňuje takovou rozšiřitelnost systému Caché?

Výkon a rozšiřitelnost spolu úzce souvisí. Systém Caché zpracovává transakce rychleji, může jich proto provést více a sloužit většímu počtu souběžných uživatelů. Systém Caché je kompaktnější než typické relační databázové systémy, využívá lépe diskový prostor a poskytuje tak větší možnosti pro budoucí růst.

Jak systém Caché umožňuje rychlý vývoj?

Základem možností rychlého vývoje aplikací v systému Caché je jeho otevřenost. Vývojáři mohou pracovat v prostředí, na které jsou zvyklí a používat nástroje, které již dokonale ovládají. Vývojáři, kteří jsou zvyklí na práci s relačními databázovými systémy, mohou modelovat data jako tabulky a přistupovat k nim prostřednictvím vloženého jazyka SQL. Ti, kdo dávají přednost modelování objektů, mohou data modelovat jako objekty a objekty systému Caché pak vystavovat jako objekty Java, ActiveX a C++,. NET v příslušných vývojových nástrojích.

Unifikovaná datová architektura systému Caché navíc automaticky zajišťuje, aby všechna data byla k dispozici ve formě tabulek i objektů. Soubory DDL lze například do systému Caché importovat a tyto definice tabulek jsou okamžitě k dispozici jako objekty použitelné v jazyce Java a dalších objektově orientovaných technologiích. Podobně jsou i všechny objekty k dispozici jako tabulky, ke kterým lze přistupovat pomocí jazyka SQL. To platí dokonce i tehdy, jsou-li datové definice upravovány nebo rozšiřovány při dalším vývoji aplikace.

Čím se systém Caché liší od "objektově-relačních" databází?

Takzvané objektově-relační databáze jsou v podstatě jen "záplatami", které vývojářům umožňují použití technik objektového programování, zatímco stále pracují se starými relačními databázemi. Dosahují toho vytvářením objektů ("wrappers"), které obsahují řádky a sloupce relačních tabulek. Dosáhne se toho přidáním další zpracovatelské vrstvy mezi uživatele a data. To může u objektově-relačních systémů způsobit problémy s výkonem. Většina objektově-relačních systémů navíc neimplementuje plný objektový model, což snižuje jejich použitelnost.

Systém Caché obsahuje plný objektový model a může spolupracovat s běžně dostupnými nástroji pro objektové modelování, například se systémem Rational Rose. Ještě důležitější je, že všechny režimy přístupu k datům (objektový, pomocí jazyka SQL a vícerozměrný) pracují přímo s daty systému Caché. Není zde žádná další zpracovatelská mezivrstva, která by snižovala výkon.

Proč je systém Caché lepší než „čistý“ objektový databázový systém?

Systém Caché nabízí to, co typickým objektově orientovaným databázovým systémům tradičně chybí: rozhodující výkon, rozšiřitelnost, spolehlivost a produktivitu. Tyto vlastnosti jsou rozhodující pro transakční systémy používané v obchodní nebo podnikové sféře. Přestože čistě objektové databázové systémy zpočátku přitahovaly zájem vývojářů, nedostatečný úspěch na trhu bezpochyby ukazuje na značné technologické nedostatky.