The HTML5 standard for a database of "key values and hierarchical objects" in the browser.
-http://www.w3.org/TR/IndexedDB/
Aspects
Stores more than 5MB of data unlike local storage
Database are unique per domain and secured by domain
A "NoSQL" type database with transactions. No declarative query language, but has a basic JS API. No foreign keys or joins.
Supports transactions, indexes, CRUD, queries, and is asychronous
A component of offline applications
Terminology
Database: unique name per domain and has a version number for the schema
Object Store: tables with indexes where each row is key value
Key: can be auto-generated/incremented, in-line, and out-of-line (stored seperately)
Terminology
Value: JS primitives and objects. Each row can have data of different formats.
Index: Used for efficient retrieval, must be specified during "versionchange/onupgradeneeded" event, can be set to unique true
Request: A read or write operations inside of a transaction.
Terminology
Transaction: All operations occur through an atomic transaction that is either "readonly," "readwrite." Transactions that are "readonly" can overlap. Write transactions on the same store queue up. Transactions can be aborted manually and rolled back. They autocomit.