Прежде всего, я прошу прощения за мое потенциально поверхностное понимание архитектуры NoSQL (и баз данных в целом), поэтому постараюсь выдержать меня.
Я думаю об использовании mongoDB для хранения ресурсов, связанных с UUID,Ресурсы могут быть такими, как большие файлы изображений (десятки мегабайт), поэтому имеет смысл хранить их как файлы и хранить только ссылки в моей базе данных вместе со связанными метаданными.Существует также дополнительная гибкость, позволяющая отделить фактическое расположение файлов ресурсов, поэтому я могу использовать другую стороннюю систему для хранения файлов, если мне нужно.
Теперь один документ, описывающий ресурсы, будет занимать около 1 КБ.Сначала я исключил пару сотен тысяч ресурсных документов, размер базы данных которых составлял бы несколько сотен мегабайт, и которые легко помещались в серверную память.Но в будущем мне, возможно, придется масштабировать это до порядка десятков МИЛЛИОНОВ документов.Это были бы десятки гигабайт, которые я больше не могу втиснуть в память сервера.
Только индекс все еще может умещаться в памяти, если он составляет один или два гигабайта.Но если я правильно понимаю, мне придется читать с диска каждый раз, когда я выполняю поиск UUID.Есть ли существенное преимущество в скорости от mongoDB по сравнению с традиционной реляционной базой данных в такой ситуации?
БОНУСНЫЙ ВОПРОС: существует ли уже существующий, устоявшийся способ сделать то, что я пытаюсь достичь?:)