Now that finally Blobs are supported, I am writing a video caching layer to recall N recently downloaded videos.
Is there a way to query IndexedDB for the maximum allowed storage?
Is there a way to request a quota increase?
I am asking because none of the info I found searching seems to apply anymore. I have so far stored hundreds of megabytes of videos although some articles talk of a 5 (or sometimes 20) mb limit. I hope I am not building against a bug.
100+ mb stored so far with no issues using chrome 38.0.2125
I don't think Chrome limit on IndexedDB (or any storage) so far as OS can provide. Also note, IndexedDB storage are temporary storage and can be purged without notifying to the app. When Quota Management API, you will have assurance of persistent storage.
Related
I have only been using indexedDB for a few day and I have a question about the limit of indexedDB. I have read a lot of documents on the internet and this is what I got:
The quota size of storage
Get the size of storage
Turn the persistent mode on
But I can not find any information about how to change the quota size of storage(at least in chrome).
Can we change the quota size of storage?
Not in Chrome. Quota is determined by a heuristic, sites and users can't alter it.
Your best resource to learn more is probably: https://web.dev/storage-for-the-web/
I have a web application that uses a lot of offline storage. It was running good until the data increased and reached around 8MB. Whenever storing that much data to the WebSQL, I received error stating "The inspeted target has crashed." I assume that it has to do with the storage capacity, although I am not sure. Since everything was working fine until the data increased, I would like to check after increasing the WebSQL capacity. There is a post I read that talk about creating a manifest.json file. My question is
Does this work for web applications?
Where is this file placed?
What are the furhter steps to take after creating this file?
What about other browsers? Does this solve problem for only Chrome?
I think this has something to do with the implementation of your WebSQL. I have offline databases in WebSQL that are well over 100MB and load in Chrome without a hitch.
I have a 6MB binary file in my AppEngine backed app. I need to get this file to my GWT client to do many computations. I'm trying to avoid doing the computations on the server to save my instance hours quota. But this means I have to get the file to my client somehow.
I also don't want to download it to the app each time the app is opened, that would hurt my appengine outgoing bandwidth quota.
It would be nice to download it once, then have the client somehow store it for use the next time the app is opened.
How to best do this?
A ClientBundle? Use HTML5 Storage? Is this sort of thing just not done, and should I just do the computations on the server and send the result to the client?
The most easiest way to permanently cache the file is using application cache.
Another ways is HTML5 Storage (localStorage), but there is 2.5 MB limit. To use more than that amount, you have use IndexedDB (Chrome, Firefox, IE10) and WebSQL (Safari, Opera). A wrapper library like YDN-DB help in this case.
You can use DataResource:
https://developers.google.com/web-toolkit/doc/latest/DevGuideClientBundle#DataResource
The only problem you face is the file size. Different browsers have different limits - I've seen 5MB and 8MB numbers. If you can compress your file to be under 5MB, you should be fine with most browsers. (By the way, it's an enormous amount of data if it can't be compressed any further.)
Also, you can detect a mobile browser (or offer a different URL for mobile version), and do computations on the server for mobile users.
I had a doubt regarding HTML5 storage technologies like WebSQL, WebStorage/LocalStorage, and indexedDB and to a lesser extent appCache.
Considering the case of chrome (my default browser), these stores are maintained in chrome browser's own directory. Do they impact the starting-up time of the browser?
A colleague has said to experience browser slowing down or behaving in sluggish manner when a larger amount of data is stored.
Couldn't find references to how these technologies impact the browser working, so would love if any fellow-stacker could guide me.
Be careful : the WebSQL API is dead (it was based on sqlite instead of a generic API and so was judged not desirable by the Mozilla team, the Indexed Database API will be used instead but you should probably wait for it to be more supported).
LocalStorage is fine, I use it in all my web applications without problems nor measurable boot time. But keep it for parameters, preferences, and so on, as the only reliable storage is always server side. The local storage can be removed, lost, modified, not readable for many reasons (user uses another browser or computer for example). And it seems to me that a big local storage is a burden to the user and thus not very correct (which is probably the reason why this size is limited).
BTW, there is no reason a reasonnable local storage could slow in a measurable manner the launching of a browser.
I agree with dystroy; Normally the local storing is harmless if done the right way. Storing MASSIVE amounts of data in the browser on the other hand is quite discouraged. It won't slow down the browser performance overall but will slow down the web app using it (as far as I know, Chrome fetches the local storage values dynamically when the 'owner app' is called).
I have created a hosted app for Chrome and I am wondering if there is any way that I can get more than 4 MB offline storage in Chrome.
I have looked at this post http://code.google.com/chrome/webstore/faq.html#faq-app-15 but one says that it is possible to increase Chrome's offline storage by up to ~260MB. Is this really possible? if so, is there any example that illustrates that possibility?
I have also looked at this stackoverflow's post and WebSQL DB appears to not have a limit. so is WebSQL DB or IndexedDB an only option for chrome app to store larger offline contents?
Thank you for your feedback
Take a look at the Quota Management API: http://updates.html5rocks.com/2011/11/Quota-Management-API-Fast-Facts
Or, if you're creating a hosted app, you can use the unlimitedStorage permission to surpass the quota limits: http://code.google.com/chrome/apps/docs/developers_guide.html