繁体   English   中英

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

[英]Using SQLite as production database, bad idea but

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

我们的应用程序的流量相对较高,我们每天的观看次数达到了120万次。 因此,我们从数据库中进行了大量读取,但是我们做了一些写操作。

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM