Indeksoitu DB
IndexedDB on JavaScript - sovellusliittymä ( API ), jolla voidaan tallentaa suuria määriä strukturoitua dataa, mukaan lukien tiedostot / blobit . Toisin sanoen se on NoSQL - tietovarasto JSON-muodossa selaimen sisällä . Standardin on kehittänyt W3C , ja se on otettu käyttöön selaimissa vuodesta 2011 lähtien. [yksi]
Historia
IndexedDB -tuki lisättiin Firefox - versioon 4, [2] Google Chrome -versioon 11, [3] ja Internet Explorerin versioon 10. [4] Safari lisäsi lopulta tuen versioon 8. [5]
Web SQL - tietokanta oli Applen kehittämä edeltäjä API . [6] Mutta Mozilla vastusti sen standardointia, koska SQLite -moottorille ei tarjottu vaihtoehtoja . [7] [8] Sellaisenaan se on poistettu käytöstä IndexedDB :n hyväksi .
Perusperiaatteet
Tietokannassa IndexedDB- sivustot voivat tallentaa ja lukea asiakkaan tallennustietoja pysyvästi. Jokaisella verkkotunnuksella on oma tallennusalue, pääsyä toiseen verkkotunnukseen tallennettuihin tietoihin ei tarjota Saman alkuperäkäytännön mukaisesti . Käytettävissä olevan muistin määrä vaihtelee selaimittain, yleensä on kiinteä raja, jota ei voi ylittää, ja pehmeä raja, josta käyttäjän on ensin hyväksyttävä tallennustila. [9] Periaatteessa tallennus on pysyvää, mutta selaimet tarjoavat käyttäjilleen mahdollisuuden poistaa tallennettuja tietoja. [kymmenen]
Tietokanta on objektitietokanta, tyypillisesti tallennettuja JavaScript-objekteja, ja yksi merkinnöistä on avaimena, jolla tiedot haetaan. Indeksejä voidaan luoda myös muihin tallennettuihin objektimerkintöihin tehokkaan haun mahdollistamiseksi.
Tietokannan käyttö on asynkronista: asiakas tekee pyynnön ja rekisteröi takaisinsoittotoiminnot. Heti kun pyynnön tulos on tiedossa, hänelle ilmoitetaan siitä ja onnistuessa pyydetyt tiedot annetaan, virheen sattuessa syy. Pääsyn aikana tapahtumia käytetään tietojen johdonmukaisuuden varmistamiseksi, vaikka esimerkiksi kahdella samanaikaisesti avoinna olevalla välilehdellä olisi itsenäinen pääsy tietokantaan.
Toteutukset
Tietokannan tarkka toteutus ei ole kiinteä, mutta se on B-puu . Kaikki nykyaikaiset selaimet tukevat standardia, koska se kehittyy jatkuvasti, ei aina nykyisessä versiossa. Microsoft-selaimissa käyttöliittymä on toteutettu vain osittain. [10] Selainsovellusliittymän vanhemmat versiot ovat edelleen osittain kehittäjän etuliitteitä. [yksitoista]
Vaihtoehdot
Web Storage on paljon yksinkertaisempi vaihtoehto tiedon tallentamiselle, mutta siinä on vähemmän ominaisuuksia, ja se on suunniteltu pienelle tietomäärälle.
Vaihtoehtoinen standardi, joka on tietokanta, johon pääsee SQL - kyselyillä, oli Web SQL . Tämä standardi otettiin kuitenkin käyttöön vain muutamissa selaimissa, joten se lopetettiin IndexedDB :n hyväksi . [12]
Vanhemmissa selaimissa IndexedDB voidaan mallintaa polyfillillä . _ [13]
Katso myös
Muistiinpanot
- ↑ IndexedDB API . W3.org. Arkistoitu alkuperäisestä 2. helmikuuta 2011.
- ↑ IndexedDB - MDC Doc Center (englanniksi) (linkki ei ole käytettävissä) . developers.mozilla.org. Arkistoitu alkuperäisestä 26. toukokuuta 2012.
- ↑ Verkkoympäristön tila . Chromium-projekti (21. toukokuuta 2012). Arkistoitu alkuperäisestä 4. maaliskuuta 2017.
- ↑ IndexedDB , MSDN, 2012-03-14 , < http://msdn.microsoft.com/en-us/library/ie/hh673548(v=vs.85).aspx > Arkistoitu 26. maaliskuuta 2015 Wayback Machinessa
- ↑ Mitä uutta macOS: ssä . Omena. Arkistoitu alkuperäisestä 12. joulukuuta 2017.
- ↑ Shankland, Stephen Consensus ilmestyy avainverkkosovellusstandardille | Deep Tech - CNET News . News.cnet.com (12. maaliskuuta 2010). Arkistoitu alkuperäisestä 8. huhtikuuta 2013.
- ↑ No, olen palannut : Ominaisuuksien toteuttamatta jättäminen on vaikeaa . weblogs.mozillazine.org. Arkistoitu alkuperäisestä 6. elokuuta 2011.
- ↑ HTML5:n lisäksi: tietokantasovellusliittymät ja tie IndexedDB:hen . Käyttöpäivä: 8. helmikuuta 2019. Arkistoitu alkuperäisestä 14. helmikuuta 2021.
- ↑ Raymond Camden. IndexedDB ja Limits ( 17.4.2015). Arkistoitu alkuperäisestä 9. helmikuuta 2019.
- ↑ 1 2 Gefährdeter Datenschutz: Firefox löscht lokale Datenbanken nicht (saksa) (19. syyskuuta 2017). - Yleiskatsaus selaimen tuesta. Arkistoitu alkuperäisestä 9. helmikuuta 2019.
- ↑ Voinko käyttää : IndexedDB . Arkistoitu alkuperäisestä 8. huhtikuuta 2017.
- ↑ Ian Hickson. Web SQL -tietokanta . Arkistoitu alkuperäisestä 3. helmikuuta 2019.
- ↑ Parashuram Narasimhan. IndexedDB API:n käyttäminen tänään – IndexedDB- polyfills . Mozilla Hacks (31. heinäkuuta 2012). Arkistoitu alkuperäisestä 9. helmikuuta 2019.
Linkit
- Indeksoitu tietokantasovellusliittymä : virallinen määritys
- IndexedDB Concepts : Kuvaus Mozilla Developer Networkissa