Rich Bradshaw
Rich Bradshaw

Reputation: 72975

Is SQLite suitable for use in a production website?

I'm rewriting a PHP+MySQL site that averages 40-50 hits a day using Django.

Is SQLite a suitable database to use here? Are there any advantages/disadvantages between them?

I'm just using the db to store a blog and the users who can edit it. I am using fulltext search for the blog search, but no complex joins anywhere.

Upvotes: 5

Views: 1610

Answers (5)

Kyle Cronin
Kyle Cronin

Reputation: 79093

SQLite will work just fine for you. It sounds as though you're largely using the database as read-only (with occasional writes to update the content). SQLite excels at this kind of access pattern. The only place where SQLite chokes is when you have a lot of writes to a database, because once a process attempts to write the file is locked until the write is complete. Also, if you do lots of writes (like updating rows in a loop) you should look into putting all those writes into a transaction - while the file is locked once the transaction hits a write query, the updates themselves take much less time because they're written to the file at once and not individually.

Upvotes: 3

warren
warren

Reputation: 33435

Since you're already using an adequate database, I don't see a reason to migrate to a smaller one.

While sqlite might be perfectly adequate, too - changing to a less-capable platform from a more-capable one doesn't seem the best choice :)

Upvotes: 2

Rob Prouse
Rob Prouse

Reputation: 22647

SQLite would be fine for this level of traffic. It actually performs quite well, the only thing that it is lacking is caching of data and queries because it needs to be spun up every time your page is accessed. That said, it is still very quick and it shouldn't be too hard to migrate to MySQL later if need be.

Upvotes: 1

Patrick Desjardins
Patrick Desjardins

Reputation: 140753

40-50 hits per day is very small and SQLLite can be used without any problem.

MySql might be better once you will get more hit because it handles in a better way multiple connexion (lock isn't the same with MySql and SqlLite).

Upvotes: 5

Eran Galperin
Eran Galperin

Reputation: 86805

The major problem with sqlite is concurrency. If you expect 40-50 hits a day, that's probably a non-issue. However, if that load increases you should be ready to migrate to a database daemon such as MySQL - better abstract your database specific code to make such a switch as painless as possible.

The performance section of the SQLite wiki might be of use to you.

Upvotes: 3

Related Questions