- From: Joran Greef <joran@ronomon.com>
- Date: Mon, 21 May 2012 19:09:24 +0200
- To: public-webapps@w3.org
IndexedDB supports binary values as per the structured clone algorithm as implemented in Chrome and Firefox. IndexedDB needs to support binary keys (ArrayBuffer, TypedArrays). Many popular KV stores accept binary keys (BDB, Tokyo, LevelDB). The Chrome implementation of IDB is already serializing keys to binary. JS is moving more and more towards binary data across the board (WebSockets, TypedArrays, FileSystemAPI). IDB is not quite there if it does not support binary keys. Binary keys are more efficient than Base 64 encoded keys, e.g. a 128 bit key in base 256 is 16 bytes, but 22 bytes in base 64. Am working on a production system storing 3 million keys in IndexedDB. In about 6 months it will be storing 60 million keys in IndexedDB. Without support for binary keys, that's 330mb wasted storage (60,000,000 * (22 - 16)) not to mention the wasted CPU overhead spent Base64 encoding and decoding keys.
Received on Monday, 21 May 2012 17:10:17 UTC