This content has been marked as final. Show 3 replies
If you use an xml file, then you will have to pull the entire file to the client(or build some serverside xml parsing filtering functionality). If this initial download of data can happen reasonably fast, then the app will be very fast since no further server hits will be required.
If you use a database, then you can limit the amout of data that goes over the wire by querying for only the needed data. This means many more server calls, but they will be quite fast.
Databases are more suited to updating/maintaining than xml files.
If you can use multiple smaller xml files, and call them as needed, that is a good approach.
Again, maintenance on all those files is harder than with a db. But a DB means additional administration, and requires a middle tier.
I have done this both ways.
If the data will rarely change, I would try it with one large XML file. If the load time is too long, you might look into compressing the XML file on the server side and decompressing it on the client side.
If you still feel like the load time is too slow, then I would probably go with a database. Managing a bunch of small XML files sounds like a hassle and problematic.