Страницы

Поиск по вопросам

среда, 13 марта 2019 г.

Оптимизированная структура базы SQL

Здравствуйте, друзья!
У меня очень серьезная проблему по созданию структуры БД.
У меня есть о-очень много пользователей, у каждого будут свои категории(которые он сам будет создавать), в категориях будут "папки" данной категории, которые тоже будет создавать пользователь, а в "папках" будут ссылки, ссылок будет очень много и они будут ежедневно даже ежечасно добавляться.
Я думал создать отдельную таблицу для ссылок, но он очень быстро пополнится, и это меня пугает.
Вопрос: Есть какие то идеи?
Буду рад любой идей.
Заранее спасибо.


Ответ

Не стоит делать из этого проблему. Производительность вашей РСУБД зависит от используемого железа (правильную архитектуру не забываем здесь). Поставили SSD диск, мощный процессор, побольше памяти и никаких проблем с производительностью при средней нагрузке не будет на выгрузках, но если у вас большая нагрузка, и еще не только выгрузки, а еще всякие расчеты, то против природы не пойдешь, большие данные требуют больших ресурсов для обработки. Нужно больше чтения - подняли второй сервер в режиме слейва.
Чисто теоретический, один сервер, в котором один диск на 480 ГБ, при максимальном размере ссылки в 1024 символа, может хранить где-то 400 млн записей в таблице ссылок у Вас даже не возникнет проблем размещения всего этого на одном сервере, главное сделайте индексы на свои папки.
Иногда используют словарный подход для контроля ссылок, это таблица вида id - hash - value, позволяет сократить расходы на одинаковые ссылки, но также требует ресурсов для работы, применять нужно, только если есть необходимость в этом функционале.
Не беспокойтесь, если объем таблицы перевалит за размер одного сервера, тогда займетесь партицированнием таблицы и способами кластеризации вашего сервера.

Комментариев нет:

Отправить комментарий