我正在使用存储在SQL数据库(mariadDB)中的数据来存储有关“小部件”和“产品”的信息。何时使用NoSQL vs SQL BI数据
小部件具有与它们关联的元数据和一些关联的关系数据。像建立团队,建设者和图像。建设者可以在任何数量的团队中,任何团队都可以构建任何构件。目前这些数据被标准化为单独的表格和映射映射/关联表格。
产品也有元数据;说明,它是用来干什么的,当它被投放等
产品和部件表似乎是一个不错的选择了NoSQL的解决方案。也许不得不解除建设者的规范并建立团队。
哪里的数据似乎不适合NoSQL是产品和小部件之间的关系。小部件可以关联/映射到0个或更多产品。映射到产品的每个小部件都提供了该产品的功能(Widget A可以提供Web服务,Widget B可以提供移动等)。
每过一段时间的产品变化和小部件套件,然后重新映射到新的产品组合。这些数据正在与商业智能(BI)软件(Jaspersoft Studio)一起使用来生成报告。
数据不大。这是为了让我们的内部团队使用,并为他们提出请求时为其他团队生成报告。所以我不担心ACID合规性或写入锁定,垂直或水平缩放,24x7可用性以及这些类型的事情。我主要关注的是数据变化时的灵活性(捕获有关小部件和小部件所应用的一组产品的元数据)。
- 根据我的研究,如果您的数据完全相关,则应避免使用NoSQL。这些文章相当古老,我想知道这是否仍然如此?
- 当产品套件发生变化时,将小部件重新映射到新套件是很痛苦的。从理论上讲,NoSQL解决方案似乎可以帮助缓解这种痛苦。但我不知道如何。