Какую базу данных использовать для следующего сценария?
У меня есть следующая проблема, которую нужно решить для эффективного запроса и расширения гибких свойств:
узлы:
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
(уникальный идентификатор группы от самого маленького до самого большого)
свойства:
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 ответ
Прежде всего, это не базы данных, а системы управления реляционными базами данных (RDBMS). Это две совершенно разные вещи, потому что база данных - это база данных, но СУБД сильно отличаются друг от друга. Таким образом, любая СУБД будет работать для вас, потому что все они в основном одинаковы. Лично я предпочитаю использовать SQL Server, Oracle или MySQL в качестве моей СУБД, но все они хороши.