ruby-on-rails - 对于管理整个学区的大型系统,关系数据库还是非关系数据库?

标签 ruby-on-rails database-design relational-database non-relational-database

<分区>

我正在构建一个大型网络应用程序,它将帮助“区域经理”管理多个地区的多所学校。

总共有大约 400,000 名学生和教师。

除了管理成绩等显而易见的事情之外,我们还必须管理出勤(每天)。

我习惯于构建较小规模的 Web 应用程序,并将其部署到 Heroku。对于这种规模的系统,我是应该考虑从现在开始使用非关系数据库,还是应该坚持使用 PostgreSQL 并进行特定优化以确保高速和数据完整性?

如果不清楚,主要问题之一是系统在管理这么多表中的这么多记录时速度太慢 - 在关系数据库系统中。

另外,如果建议使用关系数据库,我可以做哪些常见的优化来确保速度?最大、最明显的一个是在最常访问的信息上使用索引......任何其他类似的东西都会非常感激。

谢谢。

附言我的团队在我们应该采取什么行动上存在分歧,所以你们会发出有用的声音来帮助打破平衡 :)

最佳答案

坚持使用 postgresql。为什么其他东西会更好?

根据您提供的少量信息,我猜您的表现可能归结为两件事:

  1. 适当的indexes在右栏
  2. Caching带 rails ,可能 redis

Postgresql 在磁盘上提供数据存储。使用 Redis 缓存页面允许将数据库查询和渲染的 HTML 部分缓存在内存中,以避免接触磁盘。

关于ruby-on-rails - 对于管理整个学区的大型系统,关系数据库还是非关系数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14113571/

相关文章:

sql - 代理键/序列号/ID 列的备用名称

ruby-on-rails - Rails 6 不提供静态文件

ruby-on-rails - Rails 4 - 由于 :has_many association 无法修改关联

Java不能做声明?

mysql - Rails 应用程序数据库拉取过程中的 Heroku 问题:Mysql::Error MySQL 服务器已经消失

iphone - 为什么核心数据预填充如此困难?

mysql - 2个多对多关系的数据库建模

mysql - 关系表的复合索引

database-design - 如何为多种产品设计产品表,其中每种产品都有很多参数

django - 使用反向字段时自动创建一对一关系