I am in need of storing huge amount of data for one of my project on regular basis. I have planned to use xml structure while storing data in my server and every time a new data is found it will be added into the xml tree. Now, the problem is i have a search application that runs on the basis of those data. So i just need suggestion that is it wise to run the search based on XML data(stored in separate folders on server) through server side script like PHP or should i store those data in my database and runs the search through query? Please keep in mind that execution time is very important?
If it's all about execution time then there's no comparison between a properly optimized and indexed database and XML files. While your database will maintain good levels of performance as the data set gets bigger, the XML structure will get slower and slower as time goes on and more data is added to it.
A well designed indexed relational database will find records in less than a second even with millions of records. Look at Google with BILLIONS of records - Always takes less than a second to find anything. Any other form of storage like XML, flat database, or whatever, gets slower and slower as it gets larger.
use database, everything that have more tan 1000 records needs database because of speed that you need
Databse is the key method for storing huge amount of date, mysql is a good open source datebase system.
Use database but efficiently, its your friend. Break ER (Entity Relationship) where required Use Indexes and regularly (may be daily and/or weekly ) re-index your data. It will keep your database optimized Use good hardware Use enough ram