2

我正在构建一个人才管理 CRM 应用程序,但在为我的数据选择 SQL 或 NoSQL 数据库时遇到了麻烦。

该应用程序将只有几个“核心”实体(人员、工作、公司、面试),并且将严重依赖这些实体的“标记”。您可以将标签和注释添加到人员、工作、公司,然后按这些标签对数据进行排序/搜索。

我对 NoSQL 的了解是,我可以只拥有一个带有标签和注释数组的 Person 对象(文档),而在 SQL 中,我需要单独的标签和注释表并构造连接来收集我的所有数据。

谁能给我一些关于我的特定场景的方法的指示?

谢谢!

4

1 回答 1

3

我们的 ERP 系统基于 UniData (NoSQL),它可以执行业务所需的标准任务,例如输入客户、创建销售订单、开具发票等。但是在创建最初没有预见到的报告时,它是相当不错的。麻烦。系统只允许您从一个表中创建报告,如果您需要另一个表中的数据,您有两个选择: 1. 为您需要从不同表中查找的每个字段创建所谓的虚拟属性,或者编写 UniBasic程序来检索所需的数据。

为了满足我们在报告方面的大部分业务需求,将数据导出到 SQL 然后在 SQL 中执行报告对我们更有利,结果是报告从 SQL 运行得更快,并且大多数时候可以使用报告工具创建报告 - 这通常可以由高级用户执行,而不是必须具有相当高水平的编程能力才能构建报告的人。

如果它一开始就在 SQL 中,那就太好了。

但也许其他一些 NoSQL 数据库比 UniData 具有更好的功能,这也说明通常第 3 方对 NoSQL 数据库引擎的支持会带来更高的溢价,因为可用的专家少于对 SQL 引擎的第 3 方支持。

于 2013-06-16T16:53:20.937 回答