@AdaMorgan

Как крупные веб сервисы хранят массивы данных?

Здравствуйте, прочитал интересную статью как discord хранит триллионы сообщений у себя в базе данных, но нигде не смог найти как подобные сервизы хранят большие объёмы данных привязанные к единому элементу, например в канале находятся несколько сотен или даже тысяч пользователей. Единственное что приходит на ум, это то, что массив данных сжимается, но тогда как получать данные о пользователях канала, это придётся постоянно сжимать и разжимать данные что очень ляжет на эффективность самой системы. Какой в целом предпочтительный способ хранения подобного вида информацию
  • Вопрос задан
  • 131 просмотр
Решения вопроса 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Так же как и все - в БД плюс специальные архитектурные решения. Для разных типов данных используются различные механизмы доступа - все зависит от того, что и как использует эти данные. Там на самом деле куча различных как программных решений и систем, так и железных - типа специальных БД, нескольких уровней кэширования на SSD/RAM и прочего.

как подобные сервизы хранят большие объёмы данных привязанные к единому элементу, например в канале находятся несколько сотен или даже тысяч пользователей

Точно так же как и в более простых случаях - по ID в реляционных БД и в иерархии в иерархических БД, например. Для межсистемного взаимодействия используется специальный ID для передачи его между разными API.

Какой в целом предпочтительный способ хранения подобного вида информацию

Зависит от конкретных требований в конкретном случае. Горячие данные - в кэше, холодные - на диске. И т.п.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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