我有以下问题需要解决,以便进行有效的查询和灵活的属性扩展:
节点:
node_id1
node_id2
node_id3
node_id4
node_id5
基团:
node_id1;node_id2;node_id3
node_id4;node_id5
node_id1 < node_id2 < node_id3 => node_id1;node_id2;node_id3
(从最小到最大的唯一组ID)
属性:
node_id1: color:red
node_id2: color:blue
node_id3: color:blue
结果:
node_id1;node_id2;node_id3: color:red:1,blue:2 size:3 ... etc
关系类型:
node_id -IS_IN -> group
速度优化所需的操作:
get groups by group properties, ex: color restrictions, min/max size, etc
get all groups for given node_id
update group properties when contained node_id property gets modified (can this be implemented in a smart way without too many lines of code?)
你会推荐什么样的数据库? mysql,neo4j,arangodb,mongodb,其他?
答案 0 :(得分:0)
首先,它们不是数据库,它们是关系数据库管理系统(RDBMS)。它们是两个非常不同的东西,因为数据库是数据库是数据库,但RDBMS彼此非常不同。所以任何RDBMS都适合你,因为它们基本上是一样的。我个人更喜欢使用SQL Server,Oracle或MySQL作为我的RDBMS,但它们都很好。