我正在构建一个人才管理CRM应用程序,我在为数据选择SQL或NoSQL数据库时遇到问题。
该应用程序将只有一些“核心”实体(人员,工作,公司,面试),并将严重依赖这些实体的“标记”。您可以将标签和注释添加到人员,作业,公司,然后按这些标签对数据进行排序/搜索。
我对NoSQL的了解是,我可以拥有一个包含Tags和Notes数组的Person对象(文档),其中在SQL中我需要单独的Tags和Notes表并构造连接以收集Person的所有数据
有人能给我一些关于我的特定情况的方法吗?
谢谢!
答案 0 :(得分:3)
我们的ERP系统基于UniData(NoSQL),可以执行开展业务所需的标准任务,如进入客户,创建销售订单,开具发票等等。但是,当涉及到创建最初未预见的报告时这很麻烦。系统只允许您从一个表创建报告,如果您需要来自另一个表的数据,您有两个选项:1。为需要从不同表中查找的每个字段创建所谓的虚拟属性,或者编写UniBasic程序来检索所需的数据。
为了满足报告方面的大多数业务需求,我们将数据导出到SQL然后在SQL中执行报告更有利,结果是报告从SQL运行得更快,而且大部分时间都是报告工具可以用来创建报告 - 这通常可以由高级用户执行,而不是那些必须具有相当高级别的编程能力才能构建报告的人。
如果它首先在SQL中已经很好了。
但也许其他一些NoSQL数据库比UniData具有更好的功能,它说通常第三方对NoSQL数据库引擎的支持更高,因为可用的专家数量少于第三方对SQL引擎的支持。