IndexedDB

From Wikipedia, the free encyclopedia
(Redirected from Indexed Database API)
Jump to navigation Jump to search
IndexedDB
Indexed Database API
AbbreviationIndexedDB
Native name
Indexed Database API
StatusFirst Public Working Draft
Latest version3.0
11 March 2021[1]
Preview versionEditor's Draft
11 March 2021[2]
Organization
CommitteeWeb Applications Working Group
Editors
Previous editors
    • Nikunj Mehta
    • Jonas Sicking
    • Eliot Graff
    • Andrei Popescu
    • Jeremy Orlow
Base standards
Related standards
DomainNoSQL databases
Websitewww.w3.org/TR/IndexedDB/

The Indexed Database API (commonly referred to as IndexedDB) is a JavaScript application programming interface (API) provided by web browsers for managing a NoSQL database of objects. It is a standard maintained by the World Wide Web Consortium (W3C).[1]

As an alternative to the Web storage standard, IndexedDB can provide more storage capacity. Web storage has fixed limits per website, but IndexedDB limits are "usually quite large, if they exist at all".[5]

Use cases for IndexedDB include caching web application data for offline availability.[6] Some browser modules, such as devtools or extensions, may also use it for storage.

History

[edit | edit source]

Support for IndexedDB was added to Firefox version 4[7] (March 2011), Google Chrome version 11,[8] Internet Explorer version 10,[9] Safari version 8,[10] and Microsoft Edge version 12.[11]

Web SQL Database was a prior API developed by Apple.[12] But Firefox refused to add support for it and argued against it becoming a standard because it would codify the quirks of SQLite.[13][14] It was thus deprecated in favor of IndexedDB.[15]

IndexedDB 1.0 became a W3C Recommendation on January 8, 2015.[16] IndexedDB 2.0 became a W3C Recommendation on January 30, 2018.[17][3] IndexedDB 3.0 was released as a First Public Working Draft on 11 March 2021 and remains as a Working Draft as of 3 December 2024.[18]

Performance

[edit | edit source]

Because IndexedDB is running inside of the security sandbox of a browser, all operations have to go through various security layers which decreases the performance of IndexedDB. With IndexedDB 2.0[17] the getAll() method was added which allows to improve performance on bulk read operations.

References

[edit | edit source]
  1. ^ a b c d Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  17. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
[edit | edit source]