В настоящее время моя команда работает с сервисом cherrypy. Служба будет отвечать клиентам, когда они запрашивают профиль или несколько профилей.
Эти исходные данные хранятся в XML-файлах и находятся в многоуровневых каталогах. XML-файлы в подкаталогах могут быть дочерними по отношению к XML-файлу в родительских каталогах и будут обрабатываться вместе для создания дочерних профилей. Например:
http://a/
<profile><project>Project A</project></profile>
http://a/b
<profile>
<milestone>Milestone A</milestone>
<milestone>Milestone B</milestone>
</profile>
В этом случае будут созданы два профиля:
(1) ProjectA, MilestoneA
(2) ProjectA, MilestoneB
Таким образом, в нашем случае, если корневой профиль был изменен, тогда все дочерние профили должны быть пересчитаны (всего около 150+ k), в настоящее время мы делаем это в памяти. Мы рассматриваем возможность передачи в базу данных.
Наши данные полуструктурированы. Интересно, какая-нибудь конкретная база данных рекомендуется? Кроме того, если корневой профиль будет снова изменен и все дочерние профили будут пересчитаны, потребуется ли много времени для обновления всех данных в схеме?