我在Stackoverflow上看过几个SQLite性能问题,但重点是网站,我正在考虑在客户端 - 服务器场景中使用这个数据库:
我预计现在一台服务器有1-10个客户端,未来可能达到50个或更多.
读取略多于写入
数据库将位于服务器进程后面(即:不通过网络使用直接数据库访问)
与使用PostgreSQL相比,使用SQLite会使应用程序的响应性降低吗?我的直觉告诉我,对于这些负载应该没问题,但也许有人对这种情况有一些实际经验.
我确实使用SQLite作为与~10个并发用户一起使用的主要客户端/服务器产品,我对此决定深感遗憾.在我看来 - 由于其精细的锁定粒度,PostgreSQL比SQLite更适合客户端/服务器场景.
当有人需要写东西时,当整个数据库被锁定时,你根本无法走得太远.
我非常喜欢SQLite(我甚至编写了一个用于比较SQLite数据库的商业实用程序 - SQLite Compare,但是当你有客户端/服务器场景时,我认为它不符合要求.
即使SQLite的的作者说,它应该被用来作为自定义文件格式,而不是作为一个完全成熟的数据库服务器的替代品.我希望我更认真地听取他的意见..