Co je IndexedDB a kdy ji weby používají?

IndexedDB je pokročilé úložiště prohlížeče pro velká strukturovaná data. Zjistěte, co to je, jak funguje a kdy ji weby potřebují oproti jiným typům úložišť.

Koncept

IndexedDB je vestavěné úložiště prohlížeče pro velká strukturovaná data. Zjistěte, co to je, jak funguje a kdy ji weby používají místo lokálního úložiště nebo úložiště relace.

Používali jste někdy webovou aplikaci, která fungovala dál, i když vám vypadl internet? Nebo takovou, která působila tak rychle jako nativní aplikace nainstalovaná v telefonu a velká množství dat se načítala okamžitě? Za těmito zážitky obvykle stojí něco mnohem schopnějšího než základní nástroje úložiště prohlížeče, které jsme dosud probírali. Tím něčím je IndexedDB.

IndexedDB je nejschopnější typ úložiště v prohlížeči a stojí o úroveň výš, než na co byly určeny lokální úložiště a úložiště relace. Většina majitelů firemních webů s ní nikdy přímo nepřijde do styku, ale když ji pochopíte, získáte úplný obraz o tom, co prohlížeče dokážou ukládat.

Co je IndexedDB?

IndexedDB je nízkoúrovňová databáze zabudovaná do prohlížeče. Na rozdíl od lokálního úložiště a úložiště relace, které ukládají jednoduché páry klíč a hodnota z textu, dokáže IndexedDB ukládat strukturovaná data: objekty, pole, soubory i binární data. Dá se v ní vyhledávat, indexovat a uloží mnohem víc dat než ostatní typy úložišť prohlížeče.

Název napovídá, jak funguje. Používá indexy, které jsou jako vyhledávací tabulky, aby rychle našla uložené záznamy, aniž by musela prohledávat všechno. Díky tomu je praktická pro ukládání a získávání velkého množství strukturovaných informací přímo v prohlížeči.

Čím se IndexedDB liší od jiných úložišť prohlížeče?

Lokální úložiště ukládá malé textové hodnoty a uchovává je na neurčito. Úložiště relace dělá totéž, ale jen pro aktuální relaci karty. Obě jsou jednoduchá a omezená. IndexedDB je v rozsahu a schopnostech zásadně jiná.

Jedním z hlavních rozdílů je kapacita. Zatímco lokální úložiště bývá omezené na 5 až 10 megabajtů, IndexedDB dokáže uložit stovky megabajtů nebo víc podle prohlížeče a zařízení. Ukládá také složité datové struktury přímo, nejen prostý text. A podporuje dotazy, takže web může uložené záznamy vyhledávat a filtrovat, a nejen získat hodnotu podle jejího přesného klíče.

K čemu weby IndexedDB používají?

Fungování offline

Webové aplikace, které musí fungovat bez připojení k internetu, používají IndexedDB k lokálnímu ukládání dat na zařízení. Aplikace na poznámky, nástroj pro řízení projektů nebo e-mailový klient mohou ukládat záznamy do IndexedDB, aby mohl návštěvník číst, vytvářet a upravovat obsah i offline. Změny se po obnovení připojení synchronizují zpět na server.

Velké datové sady v prohlížeči

Aplikace, které pracují s velkým množstvím dat, například mapy, složité filtry nebo velké katalogy produktů, mohou IndexedDB použít k lokálnímu ukládání těchto dat do cache. Aplikace pak méně často potřebuje data získávat ze serveru a pro uživatele je zážitek výrazně rychlejší.

Ukládání souborů

IndexedDB dokáže ukládat soubory přímo v prohlížeči. Hodí se to u aplikací, kde uživatelé nahrávají nebo vytvářejí obsah, který musí být dostupný napříč relacemi, než se odešle na server.

Používá IndexedDB většina webů?

Ne. IndexedDB používají složité webové aplikace, ne typické firemní weby. Marketingový web, web služeb, e-shop a většina webů zaměřených na obsah ji nepotřebují. Jejich potřeby ukládání dobře pokryjí cookies, lokální úložiště a úložiště relace.

U vašeho vlastního webu všechna rozhodnutí o ukládání řeší platforma, na které web stavíte. Tvůrce webů od WEMASY pro každou funkci automaticky použije správný typ úložiště. Srovnání všech typů úložišť prohlížeče a jak do sebe zapadají najdete v článku o typech úložišť prohlížeče.

Často kladené otázky

Je IndexedDB opravdová databáze?

Je to databáze v tom smyslu, že ukládá strukturovaná data, podporuje indexování a umožňuje dotazy. Je ale velmi odlišná od databáze na straně serveru. Běží celá v prohlížeči na zařízení návštěvníka, ne na vzdáleném serveru. Je určená pro ukládání na straně klienta, ne pro sdílenou správu dat více uživateli, kterou řeší databáze na serveru. S tvůrcem webů od WEMASY to můžete nastavit přímo na svém webu.

Kolik dat uloží IndexedDB?

Mnohem víc než lokální úložiště nebo úložiště relace. Většina prohlížečů dovolí IndexedDB využít významnou část dostupného místa na disku, často stovky megabajtů nebo víc. Pokud se web pokusí uložit opravdu velké množství, prohlížeč může uživatele požádat o svolení. Přesný limit se liší podle prohlížeče a může záviset i na tom, kolik volného místa zařízení má.

Zůstanou data v IndexedDB po zavření prohlížeče?

Ano. Data v IndexedDB jsou ve výchozím nastavení trvalá, podobně jako v lokálním úložišti. Zůstávají v prohlížeči, dokud uživatel nevymaže data prohlížeče nebo dokud je web neodstraní. Právě tato trvalost dělá IndexedDB vhodnou pro aplikace s podporou offline, kde data musí přežít mezi relacemi.

Je IndexedDB bezpečná?

IndexedDB je izolovaná pro každý web, takže jeden web nemůže přistupovat k datům jiného. Ale stejně jako ostatní typy úložišť prohlížeče je dostupná skriptům běžícím na stránce. Citlivá data, jako jsou hesla, platební údaje a osobní informace, by se do IndexedDB nikdy ukládat neměla. Hodí se pro data aplikace a velký obsah, ale neměla by sloužit jako náhrada za bezpečné ukládání na serveru.

Mohou návštěvníci svá data v IndexedDB vymazat?

Ano. Vymazání dat prohlížeče v jeho nastavení odstraní IndexedDB spolu s cookies, lokálním úložištěm a cache. Návštěvníci ji mohou vymazat také přes vývojářské nástroje. Aplikace, které na IndexedDB závisejí kvůli důležitým datům, by s tím měly počítat a synchronizovat data na server, kdykoli je k dispozici připojení, aby lokální data nikdy nebyla jedinou kopií.

Musím o IndexedDB něco vědět, abych vytvořil web?

Ne. IndexedDB je nástroj pro vývojáře, kteří vytvářejí složité webové aplikace. Jako majitel webu na platformě s ní nikdy přímo nepřijdete do styku. Rozhodnutí o úložišti prohlížeče řeší váš tvůrce webů na pozadí. Znalost IndexedDB se hodí pro úplný obraz o tom, jak prohlížeče fungují, ale nemá žádný praktický dopad na to, jak svůj web každý den provozujete nebo spravujete.

Využijte to hned
na vlastním webu.

Začněte zdarma s WEMASY a postavte si web za pár minut.