Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

I have a Java program and PHP website I plan to run on my Amazon EC2 instance with an EBS volume. The program writes to and reads from a database. The website only reads from the same database.

On AWS you pay for the amount of IOPS (I/O requests Per Second) to the volume. Which database has the least IOPS? Also, can SQLite handle queries from both the program and website simultaneously?

share|improve this question
add comment

2 Answers 2

up vote 2 down vote accepted

You need to bear in mind that MySQL and SQLite are very different beasts and other factors than the ones you mention should be decisive in your choice. MySQL is a traditional RDBMS like SQL Server, Oracle, PostgreSQL etc (although it lacks some features of those databases), and SQLite isn't

share|improve this answer
    
That's okay, because the website will only read from the database. Can you say anything about of SQLite's IOPS compared to MySQL's? –  Arjan Nov 12 '11 at 11:52
1  
I thought I did ;) –  Jack Douglas Nov 12 '11 at 11:58
add comment

If you are concerned about the cost of iops, which are incredibly cheap in Amazon, then you are talking about a scale which sqlite will not be able to handle. There is no direct way to compare iops between two server types without benchmarking under your exact work load. Even then, i/o is going to be a function of how well your server is tuned. Generally speaking, a true rdbms has several levels of in memory buffering to reduce i/o as much as possible. Additionally, adding caching layers in front of the DB will help.

If you expect any concurrency at all, sqlite will not be sufficient. It is really only good for development or embedded environments.

share|improve this answer
    
+1 but I have to take issue with the implication that your development environment should ever have a different RDBMS to your deployment - this is invariably a bad idea. Perhaps you didn't intend to imply that? :) –  Jack Douglas Nov 12 '11 at 12:59
1  
Correct, I did not mean to imply that. If you are developing for MySQL, you should be developing with MySQL. –  Aaron Brown Nov 12 '11 at 13:30
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.