gruns / ImmortalDB

:nut_and_bolt: A relentless key-value store for the browser.
MIT License
3.05k stars 62 forks source link

What's the capacity of IronDB? #5

Open pmualaba opened 6 years ago

pmualaba commented 6 years ago

IndexedDB has initial 5MB limitation and whole Harddisk capacity after confirmation (is IronDB handling such confirmation protocols?)

Cookies have a 4KB limit per cookie.

LocalStorage and SessionStorage have 10MB limitiation?

How are these limitations reconciliated in IronDB

It would be nice to have a "capacity / usage" api available in IronDB to monitor the current and available storage capacity.

Thanks!

tracker1 commented 6 years ago

This is one of my two initial critiques... making another issue for the second.

gruns commented 5 years ago

In short, ImmortalDB's capacity depends on the stores used.

For example, if CookieStore is used, which it is by default, storage per key is limited by the browser's cookie storage limits, e.g. 4096 bytes per cookie, 180 cookies per domain, etc.

That said, ImmortalDB is resilient. If a write and/or read to any store fails (e.g. more than 4096 bytes written to a cookie), ImmortalDB will continue to work unimpeded, just with reduced redundancy.

Are you bumping into the storage limits of any of the stores (CookieStore, IndexedDbStore, etc)?

Regardless, it would, incontrovertibly, be useful to note the storage limits of each store. I'll add such notes to the readme.