我有一个需要图形数据库的产品,不幸的是,我发现的所有图形数据库都不够成熟,要花很多钱,或者不能满足我的需求。
我想实现一个量身定制的图形数据库,它具有以下功能:
- 图只能是有向的。
- 数据库必须嵌入正在运行的进程中,因此它将保存在内存中。
- 数据库只会执行以下操作:
- 从节点读取。
- 写入节点(创建/更新)
- 删除节点
- 边缘重定向(具有指向一个节点的边缘的节点现在将指向另一个节点的操作)
- 与此问题无关的图搜索算法。
- 图数据库只需要包含和处理三种类型的节点。
为了写这个作为概念证明,我需要知道什么?写它需要多少时间?
面向函数的方法(我知道它可以更好地处理递归)是否比面向对象的方法更适合这里?
我的约束是否使其更易于实施?