mysql - Sqlite3 vs Postgres vs Mysql - Rails

标签 mysql ruby-on-rails database postgresql sqlite

我想这个问题已经被提了很多次了,但我又要提一次了!!! 无论如何......在 Ruby on Rails 中,Sqlite3 已经设置好,不需要额外的选择和切片,但是...... 在这里和其他地方进行了大量阅读之后,有人说它不可扩展,而其他人则说它实际上可以很好地做到这一点。有人说 MySQL 对于更大的项目要好得多,而其他人则认为,只需使用 PostgreSQL。 我很想听听你对此的看法。在两种情况下。一种情况是您要为 CNN 新闻等新闻发布网站创建一个小网站,另一种情况是您要创建一个类似于 Twitter 的网站?

最佳答案

很大程度上取决于您的应用程序。

一般来说,对 SQLite 数据库的任何 写入 操作都很慢。即使是简单的 :update_attribute 或 :create 也可能需要 0.5 秒。但是,如果您的应用程序不写太多( killer 反对 SQLite:在每个请求上写入数据库!),SQlite 是大多数网络应用程序的可靠选择。事实证明,它可以处理中小型流量。此外,它在开发过程中是一个非常好的选择,因为它需要零配置。它在内存模式下的测试套件中也表现得非常好(除非您有数千次迁移,因为它每次都从头开始重建)。此外,如果性能不再足够,从 SQLite 切换到例如 MySQL 几乎是无缝的。

MySQL 目前是一个坚如磐石的选择。 future 将告诉 Oracle 下的 MySQL 会发生什么。

据我所知,PostgreSQL 是最快的,但我还没有在生产环境中使用它。也许其他人可以告诉更多。

关于mysql - Sqlite3 vs Postgres vs Mysql - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14322003/

相关文章:

mysql - 通过 Homebrew 程序安装旧版本的 mariadb 后如何使用 mysql?

mysql - mysql 将两行合并为一行

ruby-on-rails - 如何配置 database.yml 以在本地环境和 Docker 中工作?

MYSQL unknown clause join column in next join

mysql - Yii $connection = Yii::app()->db 很慢

database - Riak 后端选择 : bitcask vs leveldb

mysql - 从 SQL Server 高效更新 MySQL 表

php - 未捕获的 PDOException : SQLSTATE[23000]: Integrity constraint violation: 1048 Column cannot be null

ruby-on-rails - Rails 插件 - 安装为插件或安装为 Gem

ruby-on-rails - 最佳实践 - RoR 4 Heroku - Cron 每小时从外部 API 填充数据库