views:

68

answers:

3

I have a database of 50MB size in SQLite 3. All db objects are accessed through a web service. Is SQLite a good choice for an concurrent online usage of about 500 parallel users.

NOTE: Users will use same tables but not same rows. Each user can see/update/delete only his data.

+2  A: 

According to wikipedia SQLLite will fail a write if there are any concurrent accesses to the database. This alone makes me think it is not usable for 500 concurrent users.

Unless there are hardly any updates going on that is. I think 500 concurrent users is certainly enough to warrent a full blown DBMS.

Note, it looks like that wikipedia article is wrong (pretty common on wikipedia really). Anyways, if those 500 users are going to be updating a lot, I would still be weary of 500 concurrent users with 0 concurrent writes. While the numbers in the thread referenced by Nifle sound good, those are most likely from tests which are engineered to make sqllite look good. I doubt you will get the same milage with all queries, all table sizes, all cache states, etc.

tster
+3  A: 

SQLite usually will work great as the database engine for low to medium traffic websites (which is to say, 99.9% of all websites). The amount of web traffic that SQLite can handle depends, of course, on how heavily the website uses its database. Generally speaking, any site that gets fewer than 100K hits/day should work fine with SQLite. The 100K hits/day figure is a conservative estimate, not a hard upper bound. SQLite has been demonstrated to work with 10 times that amount of traffic.

(Source)

Nifle
Here is someone who really tried it http://stackoverflow.com/questions/54998/how-scalable-is-sqlite
Nifle
100K hits per day is 1.15 hits per second (3-4 assuming an 8 hour work day). A website with 500 concurrent users is going to be getting more like 100-500 hits per second.
tster
@tster - Sounds about right. I'm was just providing data, not offering an opinion.
Nifle
+1 for the link in your first comment. The OP should check that out.
tster
+1  A: 

From the SQLite website

SQLite usually will work great as the database engine for low to medium traffic websites (which is to say, 99.9% of all websites). The amount of web traffic that SQLite can handle depends, of course, on how heavily the website uses its database. Generally speaking, any site that gets fewer than 100K hits/day should work fine with SQLite. The 100K hits/day figure is a conservative estimate, not a hard upper bound. SQLite has been demonstrated to work with 10 times that amount of traffic.

drorhan