4 ms·
Its mostly about concurrency, sqllite serialises all writes, for an embedded database in a single user application that is ok, but for a web application that m
by thawkins 10y ago
Its mostly about concurrency, sqllite serialises all writes, for an embedded database in a single user application that is ok, but for a web application that may have a lot of concurrent writes going on its a performance disaster area. Note that for good perfomamce on a write heavy web application even mysql can be a problem unless you use innodb. As myisam has the same write table locking behaviour.
- shermanyo 10y agoI'm a little ignorant of the situation on the sqlite side, so this may be a dumb question... Say you have an MVC web app, could you have asynchronous calls to a thread performing the actual DB writes? From your app's perspective, concurrent writes would be placed into a queue that performs them serially. Are there any functional issues to this approach? Thanks in advance for your thoughts or info.
- zyx321 10y agoThat might work, as long as you don't ever need to read the data you've just written (logging?). Otherwise you'll end up serving stale data that might be several minutes out of date.
- shermanyo 10y agoAh, longer caching is the factor with web I always forget after focusing on apps / games. Thanks for pointing it out.