While HTML5 Web Storage makes it a lot simpler to store key/value pairs locally, it does not allow for the same kind of complex data storage that we get on the server via relational databases. One way to get a lot more out of the sessionStorage and localStorage mechanisms is to use object literals (JSON) to store complex data in a key/value pair. However, the brains behind HTML5 have been thinking bigger.
One promising idea, which has actually been implemented by several browsers, was to store data on the client in the same way we usually do it on the server: in a SQL database. The W3C speced it out under the name of Web Database Storage and Chrome, Opera and Safari implemented this with SQLLite. But Mozilla and Microsoft were in favor of a different storage mechanism and given that, at the time, together they had about 80% of the browser market, that pretty much killed Web Database Storage.
In November, 2010, the W3C added this disclaimer to the Web SQL Database specification: It has since been deprecated.
The storage mechanism preferred by Mozilla and Microsoft is called Indexed Database API and is also a W3C specification. It takes an object-approach rather than a relational database-approach to storage and querying.Indexed Database API is supported by Internet Explorer from version 10; recent versions of Firefox, Chrome, and Opera; and some mobile browsers.