Saving data to local memory restriction windows 8 metro style apps - windows-8

I was wondering if there are memory limits for metro style apps. I am not talking about the RAM. That I already found out has a limit of 150 mb, right?
I want to know, if there is a restriction of using the local memory (the hard discstorage). I am creating a database to save alot of data. Can i do so until the device runs out of storage? (I am not actually planning to do so. But occupying like 80mb of the memory would be nice)
Thanks in advance.

There is no limit on local data.
Local application data should be used for any information that needs to be preserved between application sessions and is not suitable type or size wise, for roaming application data. Data that is not applicable on other devices should be stored here as well. There are no general size restriction on local data stored. Location is available via the localFolder property. Use the local app data store for data that it does not make sense to roam and for large data sets.
From here. There is a limit on roaming data. Same document has that.

Related

Storage limit for indexeddb on IE10

We are building a web-app that store lots of files as blobs with indexedDB. If the user uses our app at its maximum, we could store as much as 15GB of file in indexeddb.
We ran into a problem with IE10, that I strongly suspect is a quota issue.
After having successfully saved some files, a new call to store.put(data, key); will never ends.
Basically, the function will be called, but no success event nor error event will be called.
If I look into the IndexedDB folder of IE 10 I'll see a handfull of what looks like temporary files (of 512 kB each) getting created and removed indefinitely.
When looking at the "Cache and Database" paramaters window, I see that my site's database has reached 250 MB.
Looking further, I found this blog entry http://msdnrss.thecoderblogs.com/2012/12/using-html5javascript-in-windows-store-apps-data-access-and-storage-mechanism-ii/ which incidently says that the storage limit for Windows Store apps is 250 MB.
I am not using any Windows Store mechanism, but I figured I could be victim of the same arbitrary limit.
So, my question is :
Is there any way to bypass this limit ? User is asked for permission to exceed a 10 MB limit, but I saw no question popping to the user when the 250 MB was reached.
Is there any other way to store more than 250 MB of data with IE10.
Thanks, I'll take any clues.
I afraid you can't. Providing the storage limit and asking the user to allow more space is the responsibility of the browser vendor. So I don't think the first option is applicable.
I know the user can allow a website to exceed a give limit (internet options > General > Browsing history > settings > caches and databases), but I don't know if that will overrule the 250MB. It can be that this is a hardcoded limit you can't exceed.
This limit is bound to a domain meaning you can't solve it by creating multiple databases. The only solution would be to store on multiple domains, but in that case you can't cross access them. Also as I see the 250MB limit will be for indexeddb API and File API combined

understading Windows8 roaming and local data storage

I want to make an application in windows 8 metro style. THis will be my first application. learning the concepts of Windows-8. I want to make a simple application where user can store some note. I want the applicaiton to use roaming data storage so that the notes are available over the cloud and on other devices of the user. But according to msdn http://msdn.microsoft.com/library/windows/apps/Hh464917 roaming data is only available for 30 days(if app is not accesed), and local storage data cannot be accessed on other devices.
My question is if I use roaming data storage and for some reason user dnt open the app for 30 days(though very unlikely but just in case), all his notes will be gone from all devices, right? if thats the case what should I use to prevent this situation. Can I save data to both storage types?
Thanks
For that cases, an Azure backend is recomended, Mobile Services to be exact. Those are free, as far as I know (with usage limitations).
And yes, you can store the notes in both storages, then check if the note is stored in the Roaming Data, if it's not, restore it from local storage.

Couchbase Mobile (ios) replicated data size too large

I am working on a mobile game that uses Couchbase mobile on the client and Iris Couch to store data on the cloud. In order for the app to work off line each user has a database on the server which is replicated on the device. Everything looks promising except for one detail: when the data is replicated on the deice it takes too much disk space. For example, a remote database contains 400 documents and it is approximately 100 MB, the replicated database on the device is approximately 390 MB with the same number of documents. Has anyone experienced such issue? Any help would be appreciated.
TouchDB stores data in a completely different format than CouchDB — it actually writes into SQLite tables. Another factor that may be coming into play is the lack of snappy compression on the TouchDB side, which CouchDB recently added and significantly decreased its on-disk requirements.
Considering your documents seem to be relatively large, I suspect that the difference you are seeing may be mostly compressed vs. raw related. You could try filing a feature request for similar compression to be implemented on the TouchDB project if you can determine that this is indeed where the difference is coming from.

Should I cache blob content to local HD?

Suppose I have files in blob storage, and these files are constantly used by my web application hosted in Windows Azure.
Should I perform some sort of caching of these blobs, like downloading them to my app's local hard-drive?
Update: I was requested to provide a case to make it clear why I want to cache content, so here it goes: imagine I have an e-commerce web-site and my product images are all high-resolution. Sometimes, though, I would like to serve them as thumbnails (eg. for product listings), and one possible solution for that is to use an HTTP handler to resize the images on demand. I know I could use output-cache so that the image just needs to be resized once, but for the sake of this example, let us just consider I would process the image every time it was requested. I imagine it would be faster to have the contents cached locally. In this case, would it be better to cache it on the HD or to use local-storage?
Thanks in advance!
Just to start answering your question, yes accessing a static content from Role specific local storage would be faster compare to accessing it from Azure blob storage due to network latency even when both compute and blob are in same data center.
There could be a solution in which you can download X amount of blobs from Azure storage during startup task (or a background task) in Role specific Local Storage and reference these static content via local storage however the real question is for what reason you want to cache the content from Azure blob storage? Is it for faster access or for reliability? If reason is to have static content accessible almost immediately then I could think of having it cached at local storage.
There are pros and cons of each approach however if you can provide the specific why would you want to do that, you may get much better to the point response.
Why not use a local resource? It gives you a path to a folder on the HD, and you can get a lot of space. You can even keep it around between restarts.
Another option is Azure Cloud Drive. It's fast, and would allow you to share the cache among instances (but only can write at once).
Erick

What are the disadvantages of storing images on a file system?

I have a few questions about storing files on the operating system. These may or may not be valid worries, but I don't want to go on without knowing.
What will happen when the file it is stored in get a very large amount of data (1 Million images of up to 2MB each): Will this effect RAM and make the OS go slow?
What security risks does it open as far as Viruses?
Would scalability just be transfering files from that machine to a new machine?
The only problem will be if you try to store all of those images in a single directory.
Serving static files, you are liable to hit limits of the network before you hit the machine's limit.
In terms of security, you want to make sure that only images are uploaded, and not arbitrary files - check more than the file extension or mime-type!