我们目前正在使用postgresql作为我们在rails中的生产数据库,很棒的数据库,但我正在围绕SQLite构建我们的应用程序的新版本。实际上,我们不使用postgres的高级功能,如全文搜索或PL / SQL。考虑到SQLite,我喜欢用一个文件来移动数据库的想法,它在服务器和Rails中的简单集成,性能似乎非常好 - > Benchmark
我们的应用程序的流量相对较高,我们每天的访问量达到了120万次。所以,我们从数据库中做了大量的阅读,但我们做了一些写作。
你怎么看?任何使用或尝试(像我们)使用SQLite的人的反馈都像生产数据库一样?
答案 0 :(得分:8)
如果你进行大量读取和少量写入,那么将SQLite与某种内存缓存机制结合起来(memcache或redis对此非常有用)。这将有助于最小化对数据库的访问(读取)次数。这种方法有助于任何多读取少量写入环境,并且在特定情况下有助于不会遇到SQLite缺陷。
答案 1 :(得分:2)
SQLite专为嵌入式系统而设计。它可以与单个用户一起使用,但不能很好地处理并发请求。每天1.2M的观看次数可能意味着你将获得足够的后者。
答案 2 :(得分:1)
对于仅进行读取,我认为理论上它可以比进程外数据库服务器更快,因为您不必将数据序列化到内存或网络流,它们都在进程中访问。在实践中,它可能更快; RDBMS可能更快;例如,MySQL具有非常好的查询缓存功能,对于某些可能是改进的查询,因为所有的rails进程都会使用相同的缓存。使用sqllite,他们不会共享缓存。