首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >这可能是一个很好的候选图形数据库吗?

这可能是一个很好的候选图形数据库吗?
EN

Software Engineering用户
提问于 2016-08-02 14:11:37
回答 1查看 123关注 0票数 2

我们需要创建一个必须区分实体间关系的应用程序。

例如,假设我们正在创建一个应用程序来建模宠物之间的疾病实例,并定期从多个XML源收集数据。

我们有代表宠物的模型和代表疾病的模型。我们有兴趣在每次收集XML数据时检查从宠物到疾病的“联接”中的变化。

仅仅区分XML是不够的,因为我们使用的是多个源,并且必须有自己的中间模型。

我不知道是否有办法做到这一点,但我想如果我们要在关系数据库管理系统上构建pets_diseases连接表,我们可以区别对待吗?

我对图形数据库也不太了解,所以欢迎你提出建议。如果这是正确的做法,Neo4J看起来是一个可信的候选人。

EN

回答 1

Software Engineering用户

发布于 2016-08-02 16:02:37

我认为这取决于你想从采集的样本中得到多复杂的东西。您可能会开始在某个时间间隔收集样本并对它们进行区分,但随着时间的推移,我怀疑您会变得更加复杂,意识到您从不同来源收集到的样本更加交错。

在继续进行时,您可能最终会看到,为数据的每一行收集日期/时间是有好处的,因为即使在从一个源收集的数据中,信息片段也有时间差异。

我建议您尽可能地将时间信息推送到系统中,包括在收集过程中深入到“前端”中的XML模型(单个行正在注明日期)和中间数据库模型(相同)。这将允许所有收集到的数据在数据库中共存,并将提供运行更丰富查询的机会。

代码语言:javascript
运行
复制
pet-table: id, pet-name, start-date, end-date
pet-condition: pet-id, condition-id, info-capture-date, status
condition-table: id, description

给定宠物条件信息捕获日期,您可以为同一条件存储多个数据时间点(和/或同一时间存储多个条件)。

看一看下面的文章,了解一些思考的内容:时间序列数据库

我建议的格式也是日志数据库友好的,或者是事件存储友好的,因为它本质上是不可变的(只写一次/只追加一次)。但是,它并不直接存储当前状态,因此如果需要,可以为其编写查询。(如果这确实是您所需要的,您可以将其缓存在数据库中)。

虽然大多数数据库都会处理日志类型的数据,但是如果您的数据收集变得自动化,而且流很大,那么就会有专门的数据库来处理日志样式的收集,比如MongoDB。

如果您有许多不同的动态关系(在模式的意义上),我会查看一个图形数据库。否则,我可能会尝试使用关系数据库。

票数 1
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/326413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档