在堆栈溢出时,我不知道这个问题是否应该在这里,但是我会尝试的。
我有一个组件系统。这些组件是相互依赖的。我需要将依赖项存储在一些数据库/数据存储中,可以在其中快速解决它。我们的系统正在使用SQL数据库,MongoDB和Elastic搜索-如果有一种使用SQL数据库的方法,我会认为它是对我们最好的方法。我应该使用哪种类型的数据存储,您能给我一个简单(但足够复杂)的例子吗?
依赖项示例:
C, C1, C2, C3, C4, C5, C6, C7
C is dependent on C1 and (C2 or C3 or C4) and (C5 and (C6 xor K7))
当我们将xor
定义为:
(C6 and not(C7)) or (C7 and not(C6))
这意味着所有依赖关系规则均由逻辑运算符and, or, not
给出。条件可以嵌套。
存储设备应该能够针对以下问题给出答案:
可以在应用程序中处理计算。不必在存储服务器/系统上完全解决问题,但是我想避免进行一些解析:“我可以使用SQL并将条件存储为字符串,然后解析该字符串并在应用程序中计算结果”,但是它无效,我认为这不是很好的解决方案。
感谢您的所有建议。