IndexedDB

IndexedDB este o interfață de programare a aplicației JavaScript ( API ) pentru stocarea pe partea client a unor cantități mari de date structurate, inclusiv fișiere / blob -uri . Cu alte cuvinte, este un magazin de date NoSQL în format JSON în interiorul browserului . Standardul a fost dezvoltat de W3C și implementat în browsere din 2011. [unu]

Istorie

Suport pentru IndexedDB a fost adăugat în Firefox versiunea 4, [2] Google Chrome versiunea 11, [3] și Internet Explorer versiunea 10. [4] Safari a adăugat în cele din urmă suport în versiunea 8. [5]

Baza de date Web SQL a fost un predecesor API dezvoltat de Apple . [6] Dar Mozilla s-a opus standardizării sale, deoarece nu au fost oferite alternative la motorul SQLite . [7] [8] Ca atare, a fost depreciat în favoarea IndexedDB .

Principii de bază

În baza de date , site-urile IndexedDB pot stoca și citi permanent datele de stocare ale clientului. Fiecare domeniu are propria sa zonă de stocare, accesul la datele stocate în alt domeniu nu este oferit în conformitate cu Politica Aceeași Origine .  Cantitatea de memorie disponibilă variază în funcție de browser, există de obicei o limită fixă ​​care nu poate fi depășită și o limită soft de la care utilizatorul trebuie mai întâi să fie de acord cu stocarea. [9] În principiu, stocarea este permanentă, dar browserele oferă utilizatorilor lor opțiunea de a șterge datele stocate. [zece]

O bază de date este o bază de date cu obiecte, în mod obișnuit obiecte JavaScript stocate, cu una dintre intrări ca cheie, cu ajutorul căreia se pot extrage datele. Indecșii pot fi creați și pe alte intrări de obiecte stocate pentru a permite căutări eficiente.

Accesul la baza de date este asincron: clientul face o cerere și înregistrează funcțiile de apel invers. Imediat ce se cunoaște rezultatul solicitării, acesta va fi informat despre aceasta și, în caz de succes, i se vor furniza datele solicitate, în caz de eroare, motivul. La accesare, tranzacțiile sunt folosite pentru a asigura consistența datelor, chiar dacă, de exemplu, două file deschise simultan au acces independent la baza de date.

Implementări

Implementarea exactă a bazei de date nu este fixă, totuși este un arbore B. Toate browserele moderne acceptă standardul, deoarece acesta este în continuă evoluție, nu întotdeauna în versiunea actuală. În browserele Microsoft, interfața este implementată doar parțial. [10] Versiunile mai vechi ale API-ului browser sunt încă parțial prefixate de dezvoltator. [unsprezece]

Alternative

Stocarea web este o alternativă mult mai simplă la stocarea datelor, dar cu mai puține funcții, concepute pentru o cantitate mică de date.

Un standard alternativ, care este o bază de date care poate fi accesată prin interogări SQL , a fost Web SQL . Cu toate acestea, acest standard a fost implementat doar în câteva browsere, așa că a fost întrerupt în favoarea IndexedDB . [12]

În browserele mai vechi , IndexedDB poate fi modelat cu polyfills .  [13]

Vezi și

Note

  1. IndexedDB API . W3.org. Arhivat din original pe 2 februarie 2011.
  2. IndexedDB - MDC Doc Center  (engleză)  (link nu este disponibil) . developers.mozilla.org. Arhivat din original pe 26 mai 2012.
  3. Starea platformei web  . Proiectul Chromium (21 mai 2012). Arhivat din original pe 4 martie 2017.
  4. IndexedDB , MSDN, 2012-03-14 , < http://msdn.microsoft.com/en-us/library/ie/hh673548(v=vs.85).aspx > Arhivat 26 martie 2015 la Wayback Machine 
  5. ↑ Ce este nou în macOS  . Măr. Arhivat din original pe 12 decembrie 2017.
  6. Shankland, Stephen Consensus apare pentru standardul cheie pentru aplicații web |  Deep Tech - Știri CNET . News.cnet.com (12 martie 2010). Arhivat din original pe 8 aprilie 2013.
  7. ↑ Ei bine, m-am întors : a nu implementa caracteristici este greu  . weblogs.mozillazine.org. Arhivat din original pe 6 august 2011.
  8. Dincolo de HTML5: API-urile bazei de date și drumul către IndexedDB . Data accesului: 8 februarie 2019. Arhivat din original pe 14 februarie 2021.
  9. Raymond Camden. IndexedDB și Limits  ( 17 aprilie 2015). Arhivat din original pe 9 februarie 2019.
  10. ↑ 1 2 Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht  (germană) (19 septembrie 2017). - Prezentare generală a suportului pentru browser. Arhivat din original pe 9 februarie 2019.
  11. ↑ Pot folosi : IndexedDB  . Arhivat din original pe 8 aprilie 2017.
  12. Ian Hickson. Baza de date Web SQL  . Arhivat din original pe 3 februarie 2019.
  13. Parashuram Narasimhan. Folosind astăzi API-ul IndexedDB – polyfills  IndexedDB . Mozilla Hacks (31 iulie 2012). Arhivat din original pe 9 februarie 2019.

Link -uri