Which should I use for working with a large amount of data, MySQL or SQLite?
I need to work with a fairly large amount of data, and am considering both MySQL and SQLite. So I'm trying to get a good, high-level overview of both packages:
- How well do each handle large databases?
- Is SQLite as much of a handful to work with as MySQL?
- Are there any good (web-based) resources comparing these two?
SQLite is a database library and runs only in the program which uses it. It cannot be written to at the same time from other programs although other processes can read from it. You cannot connect remotely to it and saves the data on a local accessible filesystem (possibly mounted from a file server). Forget what I said : these statements were based on outdated assumptions, and I need to read up on sqlite3 because it can now do things I was not aware of.
MySQL is a database server, i.e. can run on another machine and multiple computers and programs can connect to it at the same time.
ALthough SQLite can also handle quite large datasets, in most circumstances people will choose MySQL for large datasets, because they want remote access (without exposing the database files to well intentioned, inadvertent "cleanup" actions) to the data while the program is running for administrative purposes or to run reports.
If your application is an embedded database which only ever will be used by a single application SQLite will be just fine.
And no, SQlite is not such a handful as MySQL. MySql is not really difficult, but it has a number of strange quirks which hit people when they try to get it installed. Once it is running it is pretty painless.
You might look at PostgreSQL, as I find it a bit easier to manage and maintain as I feel some aspects are more 'logical' than MySQL. That being said, in practice there is not a huge difference.
精彩评论