SQLite is a cool program in its own way being an embedded SQL engine makes it useful.
It is sad that almost a whole generation of developers will have to relearn basic data theory simply because they don't make an effort to learn about real databases.
I don't think that a lot of programmers understand the value of designing data to 3rd normal form or better. It is not immediately obvious that avoiding update anomalies and having atomic transactions drastically reduces code volume, especially for error handling, corner cases, and data synchronization.
To be fair, free SQL databases have not been generally available except for about the last 10 years, and free embeddable databases have only been available for about the last 5 years (when I started using SQLite). SQLite, MySQL, and PostgreSQL are now easy enough to get. Over time, people will figure out that for many programs you can be a lot more effective using SQL instead of home-brewed data structures and queries.
What you are saying is absolutely the way things are going. Modern web development frameworks are trying to move all of the data processing away from the data (e.g. Ruby On Rails), and then use the database as dumb storage.
If you use a database purely as dumb storage, MySQL is probably faster, but I think that if one considers overall performance of an application, it depends more on how you code around the I/O bottlenecks (e.g. stored procedures versus application servers or ORMs).
Personally, I have found that using an in-memory SQLite database instead of home-brewed data structures allows me to quickly code up complex data structures and then manipulate them with 4-line SQL statements instead of 1 page functions. Check out http://www.squidoo.com/sqlitehammer#module7016183 for an example.
SQLite is a cool program in its own way being an embedded SQL engine makes it useful.
It is sad that almost a whole generation of developers will have to relearn basic data theory simply because they don't make an effort to learn about real databases.
I don't think that a lot of programmers understand the value of designing data to 3rd normal form or better. It is not immediately obvious that avoiding update anomalies and having atomic transactions drastically reduces code volume, especially for error handling, corner cases, and data synchronization. To be fair, free SQL databases have not been generally available except for about the last 10 years, and free embeddable databases have only been available for about the last 5 years (when I started using SQLite). SQLite, MySQL, and PostgreSQL are now easy enough to get. Over time, people will figure out that for many programs you can be a lot more effective using SQL instead of home-brewed data structures and queries.
What you are saying is absolutely the way things are going. Modern web development frameworks are trying to move all of the data processing away from the data (e.g. Ruby On Rails), and then use the database as dumb storage. If you use a database purely as dumb storage, MySQL is probably faster, but I think that if one considers overall performance of an application, it depends more on how you code around the I/O bottlenecks (e.g. stored procedures versus application servers or ORMs). Personally, I have found that using an in-memory SQLite database instead of home-brewed data structures allows me to quickly code up complex data structures and then manipulate them with 4-line SQL statements instead of 1 page functions. Check out http://www.squidoo.com/sqlitehammer#module7016183 for an example.