6 ms·
> But try telling people you're using SQLite to store critical data... SQLite is solid and trusted by many but for some unknown reason some people refuse to se
by baldfat 9y ago
> But try telling people you're using SQLite to store critical data...
SQLite is solid and trusted by many but for some unknown reason some people refuse to see it as a solution for their needs. I have seen many databases that could easily been replaced by SQLite.
- wenc 9y agoI looked into SQLite a while ago, and it wasn't so much its robustness that was the deal-breaker, but more the fact that it couldn't handle writes from parallel processes from multiple users (i.e. concurrency) like a normal SQL database could. I see SQLite as a file-format with a SQL interface.
- dfox 9y agoThere is Berkeley DB/SQL (now sadly owned by Oracle), which is essentially Sqlite with BDB instead it's original B-tree implementation, that supports multiple parallel writers. Also Firebird can be used as in-process embedded database and supports multiple writers (in fact in the server mode it uses same file-locking based synchronisation mechanisms as in embedded mode) On the other hand it is somewhat rare to see aplication that really needs multiple writers and would not be better served by full fledged database server.
- fpoling 9y agoBerkley DB is not as reliable as SQLite. Subversion, before switching to own storage, where known for data corruption problems attributed to Berkley DB.
- amyjess 9y agoI remember the old days when people would refer to berkdb as "Berserkley" because it tended to go berserk on your data. It's always had a bad reputation for reliability.
- da_chicken 9y agoYep. Parallel performance is the biggest issue I've seen with SQLite. SpiceWorks is the biggest example of a product that doesn't scale because they've elected to use SQLite (and only SQLite). There's no hard limit on the number of devices, but most people say not to exceed about 1,000 devices. We tested it out against 800 devices. We started it on Friday. On Monday, it was still running. The only other issue I've seen with it is with the data typing. Type inference is much weaker than strict typing, and sometimes it doesn't quite store things the way you'd expect. Granted, the last time I saw problems with that was years ago, but I've seen it.
- baldfat 9y agoThere are plenty of problems that don't need parallel performance.
- da_chicken 9y agoAnd there are plenty that do. What's your point?
- mixmastamyk 9y agoBecause some won’t consider sqlite even for those that don’t.
- amyjess 9y ago> I see SQLite as a file-format with a SQL interface. I love the description from SQLite's website on the subject: > SQLite does not compete with client/server databases. SQLite competes with fopen(). https://www.sqlite.org/whentouse.html https://www.sqlite.org/whentouse.html
- xapata 9y agoIt can handle some degree of concurrency via threading.
- dominotw 9y agoprobably cos of word "Lite" in their name.