用于以下场景的数据库是什么?

时间:2016-07-07 10:30:02

标签: database performance database-design model flexibility

我有以下问题需要解决,以便进行有效的查询和灵活的属性扩展:

节点:

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,其他?

1 个答案:

答案 0 :(得分:0)

首先,它们不是数据库,它们是关系数据库管理系统(RDBMS)。它们是两个非常不同的东西,因为数据库是数据库是数据库,但RDBMS彼此非常不同。所以任何RDBMS都适合你,因为它们基本上是一样的。我个人更喜欢使用SQL Server,Oracle或MySQL作为我的RDBMS,但它们都很好。