Chapter 5. IndexedDB
The localStorage
interface (see Chapter 4) provides a very nice interface for storing
small amounts of data, but the browser limits this storage space to 5 MB in
many cases. If the storage needs of an application go beyond that, or if the
application needs to have query access to structured data, local storage is not the best
choice. In this case, having a more robust storage mechanism can be useful
for the application developer. IndexedDB provides this mechanism on many
browsers. For example, a programmer may store product catalog data into an
IndexedDB store so that when the user searches for an item, the server does
not need to make a trip to the server to find the data for a particular
item.
IndexedDB is a NoSQL database that will feel familiar to people who have used such products as MongoDB or CouchDB. A program can store JavaScript objects directly into an IndexedDB data store.
IndexedDB has been in Firefox starting with version 4. It also was introduced into Google Chrome starting with version 11. Microsoft has a version online at its HTML5 Labs website as an ActiveX control, which can be added into IE, and presumably it will be in the main IE release at some point. It will probably be available in other browsers in the next year or two. Formally, IndexedDB is now a draft proposal from the W3C.
Note
Because IndexedDB is supported by only two browsers at this point, use should probably be restricted to internal applications where you can limit use to browsers ...
Get Programming HTML5 Applications now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.