Доброго. Нужно экспертное мнение/совет. Создаю систему на php фреймверке с

использование 2х DB. Первая БД PostgreSQL а вторая mongoDB. Монго будет использоваться для "мусорных" данных. Назначения данных - большое количество однотипных данных по типу ip адресов с доменными именами + разные другие поля в зависимости от предпочтений пользователя которые будут именоваться как Листы. Есть несколько идей по этой реализации:
1) Для каждого пользователя создавать свою базу в монго именуя ее как id пользователя. Для каждого "Листа" - будет создаваться отдельная таблица(коллекция).
2) Для всех пользователей будет создана одна база но для каждого по отдельности будет создана коллекция по id пользователя в которую будут записываться "листы" вперемешку с разными идентификаторами.
3) Для всех пользователей будет создана одна база и одна коллекция куда будут записываться "Листы" с разными идентификаторами и полями - при этом дополнительные поля будут вписываться в отдельное поле как json.

Какой из выше перечисленных вариантов предпочтительней, какие есть +/- ?

Нужно учитывать что каждый пользователь может загрузить от 1 000 до 20 000 записей. Система рассчитана на аудиторию от 100 до 2000 человек.

Я склоняюсь ко 1 и 2 варианту но меня уверяют что 3 вариант оптимальный и на скорость работы системы не повлияет

2 ответов

9 просмотров

Самый простой это вариант 3. Для динамических атрибутов наиболее эффективно использовать Value-Attribute паттерн https://t.me/mongodb_ru/87488

Maksym-Repetskyi Автор вопроса
yopp 💉💉
Самый простой это вариант 3. Для динамических атри...

Спасибо за ответ. Погуглю по поводу паттерна

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
сделал сайт, прикрутил в боте сайт, и виджет логина. как автоматически логинить пользователя в аккаунт(телеграм), при входе с бота?
Александра Чернивецкая
5
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Ребят, подскажите, пожалуйста, почему в префиксе к ассетам, которые генерируются через фильтр | theme в шаблоне, стал вдруг появляться index.php? Вот так выглядит ссылка на а...
Виталий
1
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта