使用SQLite作为生产数据库,但不好的想法

我们目前正在使用postgresql作为我们在rails中的生产数据库,很棒的数据库,但我正在围绕SQLite构建我们的应用程序的新版本。 实际上,我们不使用postgres的高级function,如全文搜索或PL / SQL。 考虑到SQLite,我喜欢用一个文件来移动数据库的想法,它在服务器和Rails中的简单集成,性能似乎非常好 – > Benchmark

我们的应用程序的流量相对较高,我们获得了每天1 200 000次浏览量。 因此,我们从数据库中进行了大量读取,但是我们做了一些写操作。

你对那个怎么想的 ? 任何人使用或尝试(像我们一样)使用SQLite像生产数据库的反馈?

如果你进行大量的读取和少量写入,那么将SQLite与某种内存缓存机制结合起来( memcache或redis对此非常有用)。 这将有助于最小化对数据库的访问(读取)次数。 这种方法有助于任何多读取少量写入环境,并且在特定情况下有助于不会遇到SQLite缺陷。

SQLite专为嵌入式系统而设计。 它可以与单个用户一起使用,但不能很好地处理并发请求。 每天1.2M的观看次数可能意味着你将获得足够的后者。

对于仅进行读取,我认为理论上它可以比进程外数据库服务器更快,因为您不必将数据序列化到内存或网络流,它们都在进程中访问。 在实践中,它可能更快; RDBMS可能更快; 例如,MySQL具有非常好的查询缓存function,对于某些可能是改进的查询,因为所有的rails进程都会使用相同的缓存。 使用sqllite,他们不会共享缓存。