Relational vs NoSql:我应该为这种应用使用哪个数据库?

时间:2012-07-08 19:34:25

标签: ruby database nosql relational-database database-agnostic

我即将构建一个对学生成绩进行分析的应用程序。需要存储的数据如下所示:

Course: name
Semester: 1st,2nd etc
Student: name
Subject1: marks
Subject2: marks
Subject3: marks
Subject4: marks
Subject5: marks
Subject6: marks

GRAND TOTAL: marks

学科会根据学期和学期而有所不同。课程。主要要求是:

  1. 数据库应允许创建各种报告,如考试报告,学生报告,综合报告,主题报告等。
  2. 它应该有ruby的库,因为这是我决定的语言。
  3. 那么,我应该为这种应用选择关系数据库还是NoSQL数据库。如果NoSQL,那么哪一个?

    问题 什么是最适合这个用例的数据库?

1 个答案:

答案 0 :(得分:3)

仅考虑您提到的要求,我会采用最简单的方法并使用RDBMS。 我在这里使用NoSQL看不出任何优势,因为:

  1. 数据结构合理
  2. 听起来不像分布式系统
  3. NoSQL不是报告的神奇解决方案。事实上,它不是报告的解决方案:)
  4. 考虑您的域名,性能不应成为问题
  5. 考虑您的域名,您关心ACID
  6. 然而,RDBMS可以启动并运行一切:

    1. 交易
    2. 低学习曲线
    3. 易于实施基本报告
    4. 因此,如果目的是让事情快速完成 - 我会用RDBMS来做。如果只是为了玩数据库 - 尝试用两种技术实现它,然后比较:)