Как решить, использовать ли RDBMS, Doc/Obj ODBMS или Graph?

То, что я намерен разработать, в основном сводится к списку пользователей, организаций, событий, адресов и комментариев, которые довольно легко можно поддерживать в СУБД, такой как MySQL. Однако, если проект взлетает, я хочу добавить еще один аспект - ресурсы, то есть файлы, видео, изображения и т. Д., Которые могут принадлежать как пользователю, так и организации или событию. Это немедленно поднимает вопрос о том, следует ли использовать СУБД и сохранять ссылку на внешний файл через таблицу, относящуюся к каждой из ранее упомянутых категорий, или же использовать СУБД Doc/Obj, такую ​​как MongoDB, для хранения этих элементов.

Но я также хочу иметь возможность связывать пользователей, организации и события. т. е. пользователь A владеет Org 1 и Org 2. Пользователь B владеет Org 3 и Org 4. Пользователь C владеет Org 5. Org 1 имеет событие X, которое хранится в адресе M в дату R, в которой также будет находиться организация 3. Пользователь C намеревается посетить Событие X. У Org 2 также есть Событие Y в Адресе М, но в Дату Т. и т. Д. И т. Д. Поэтому я бы предположил, что СУБД Graph, такая как OrientDB, будет лучшим решением. Либо так, либо у меня будет много таблиц в СУБД с большим количеством соединений и потенциально большим количеством запросов, либо очень странная структура в СУБД Doc/Obj.

Я посмотрел на InfoGrid, который является базой данных Graph, которая может подключаться к MySQL, что может стать потенциальным способом обшаривания этого кота. Кто-нибудь еще пытался что-то подобное? Что вы думаете о том, как реализовать такую ​​систему, которая должна быть масштабируемой? Предложения с благодарностью.

1 ответ

Ваше описание поддается реляционной модели. СУБД для этой конкретной установки - правильный путь.

Другие вопросы по тегам