我目前正在为我朋友的公司开发一个人力资源网络应用程序,但我仍然不确定是选择关系数据库还是 NoSQL 数据库,或者是混合数据库。我对这些 NoSQL 数据库的用例非常感兴趣,这就是为什么我想到在这个项目中使用它们的原因。
数据库中关系的示例场景:
一个员工有很多(可以是没有也可以是很多):
- 教育背景记录
- 培训和认证记录
- 工作经历记录
- 志愿者记录
- 组织和其他信息记录
此外,应用程序的决策支持方面还有很多工作,例如确定职业道路和为员工制定继任计划。
走NoSQL路线可行吗?基于这些关系,数据库有许多以employees表为中心的一对多关系。选择 NoSQL 而不是 RDBMS 会在查询和性能方面带来好处吗?MongoDB 是我的首选(嗯,因为它是我读过的唯一 NoSQL 数据库)。
还有,员工照片和证件照片扫描件怎么处理?上次我将 MySQL 用于将图片保存为数据库中的 BLOB 的应用程序时,它最终在数据查询和查找期间响应较慢。