When would one use a database engine over a text file/XML file to store application data?
Also, what is the difference between the three free SQL engines like PostgreSQL, MySQL, and SQLite, and why is MySQL the most popular of them all?
At vero eos et accusamus et iusto odio dignissimos ducimus qui blanditiis praesentium voluptatum deleniti atque corrupti quos dolores et quas molestias excepturi sint occaecati cupiditate non provident, similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil impedit quo minus id quod maxime placeat facere possimus, omnis voluptas assumenda est, omnis dolor repellendus.
Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat.
When large BLOB files are being stored or data that is changing daily or needs to be cross refrenced what not thats some basic uses of a search engine statistical data queries is another so many need big book to cover it all.
It depends what you are doing... Not too sure the differences in SQL programs, but everyone has their favorite. If you are doing a client only program you could use Access as well.
XML has a lot of overhead. It's good for transmitting data, because it marks it up with the data's context. For output, it needs to be parsed.
Flat file, file system, RDBMS, any way you go you're going to have to input the data, and what do you want to do when you output the data? How much data? How structured? RDBMSs are written to store fairly structured data. They're optimized for searching through huge numbers of rows of data. Using regular expressions, a large flat file can be easily and quickly searched. The file system can be leveraged for some searching, but file systems can limit how many files in a directory.
SQLite isn't designed to be used on big amounts of data. That said, one of the softwares at work uses SQLite, and the database file is 300MB.
PostgreSQL and MySQL are both excellent RDBMSs IMO.