Giper Baza je samostatný, volitelný projekt — není vestavěnou součástí $mol. Jeho autoři jej popisují jako decentralizovanou, vysoce dostupnou databázi s bezkonfliktní synchronizací v reálném čase: CRDT úložiště, které přetrvává lokálně a replikuje se mezi klienty bez centrálního serveru, s digitálními podpisy a end-to-end šifrováním. K sestavení aplikace v $mol jej nikdy nepotřebujete; sáhněte po něm jen tehdy, když více klientů nebo zařízení musí sdílet stejná živá data.Chcete jen, aby vaše aplikace fungovala i bez sítě? To je prostý offline a $mol jej zajišťuje pomocí service workeru — viz Offline. Giper Baza jde o krok dál: synchronizuje data mezi klienty, místo aby ukládala do mezipaměti prostředky jednoho klienta.Když s ním data skutečně modelujete, entity vypadají jako běžné reaktivní vlastnosti a replikace se prostě děje.Tato stránka představuje podobu API. Giper Baza je rozsáhlé téma — berte to jako mapu, ne celé území.
Entita je čisté schéma — sada typovaných polí. Chování držte stranou; čtení a zápis dělejte ve svých pohledech.1namespace ${2export class $my_taskextends$giper_baza_entity.with({3Title:$giper_baza_atom_text,4Done:$giper_baza_atom_bool,5CreatedAt:$giper_baza_atom_time,6}){}7}Každé pole je atom — synchronizovaná buňka s typovanou hodnotou.
Získejte úložiště, dosáhněte na seznam entit a reaktivně je zmapujte:1@ $mol_mem2tasks(){3return this.tasks_list().remote_list()4}56@ $mol_mem_key7task_done(id:string,next?:boolean){8const task=this.task(id)9if(next!==undefined)task.Done(null)!.val(next)10return task.Done()?.val()??false11}Čtení Done()?.val() dá aktuální hodnotu; zápis Done(null)!.val(next) ji nastaví. Každý pohled, který atom čte, se překreslí, když jej — nebo vzdálený peer — změní.