IMDGIMDG (anglicky In-Memory Data Grid) je zkratka pro distribuované objektové úložiště. Data jsou uložena v operační paměti ve tvaru klíč - hodnota. Oproti tradičním systémům, ve kterých jsou typy klíčů a hodnot omezeny polem bajtů (byte array) nebo řetězcem (String), v IMDG žádné omezení není: lze použít jakýkoliv objekt. Tato vlastnost významně zvyšuje agilitu tím, že umožňuje ukládat jakékoliv objekty bez serializace/deserializace navíc. Rozdil od IMDBNa rozdíl od IMDB, In-Memory Data Grid osvobozuje uživatele od nutnosti používání ORM a umožňuje přistupovat v datům jako k obecné hash-tabulce. To se hodí pro snadné využití v nejpopulárnějších programovacích jazycích, jako Java, C#/.Net, Python, C++ atd. CharakteristikaÚkolem, který řeší IMDG je zajištění rychlého přístupu k datům prostřednictvím jejich uložení do operační paměti (RAM) v distribuovaném stavu. Moderní in-memory technologie umožňují spojení s existujícími úložišti dat jako například Hadoop nebo Postgresql. V takovém případě bude IMDG systém splňovat funkci cache. Různé systémy mají různé mechanismy zamykání přístupu k datům, nejmodernější poskytují konkurenční zamykací mechanismus (jako například MVCC - Multi-Version Concurrency Control) a zároveň splňují ACID vlastnosti s největším výkonem. ![]() Příklady použitíIMDG se dá použít buď jako datové úložiště, nebo jako cache vrstvu pro již existující databázi. Na obrázku je uvedena schema klasického použití IMDG. V takovém konkrétním případě každý klíč s množinou hodnot patří do jednotlivého uzlu. Vnější databáze není povinná, ale pokud se vyskytuje, tak, zpravidla, IMDG bude automatické načítat a zapisovat data do databáze. ![]() Použití IMDG a Compute GridTypická in-memory architektura rozděluje data v klasteru pomocí IMDG, pak se spustitelný kód posílá do těch serverů, ve kterých jsou potřebná data. Integrace mezi IMDG a Computer Grid je velmi důležitá, protože získaný spustitelný kód (výpočetní úkol), obvykle je součástí gridových výpočtů (Grid computing) a musí být správně nasazen (deploy), sbalancován (load-balancing), mít vysokou stupeň odolnosti proti selhání (fail-over) a mít možnost být spustitelný podle předem daného rozvrhu. Specifické funkcionální rysy
Existující IMDG řešení
OdkazyExterní odkazyInformation related to IMDG |