Задать вопрос
@Nikkirai

Создание и работа с большими данными, как работать с большим объёмом данных, с возможностью моментального доступа?

Начинающие программисты - 4-ый курс университета, появилась идея, создания системы в которой сервер записывает от пользователей сообщения, показатели, какую-то информацию, и.т.д. И стоим перед тьмой вопросов, как нам создать нормальную систему серверов, как выгружать и как хранить данные на резервные места и многое другое, но одним из самых проблемных стало то, что мы не имеем понятия как сделать так, чтобы наша система могла принимать в себя колоссальное количество данных, достаточно быстро это записывало и давало сравнимо быстрые ответы как по запросу, так и автоматически. Кто может помогите хоть какими-то советами, заранее благодарны.(Система будет стартовать с 10-20К пользователей и будет расширяться)
  • Вопрос задан
  • 72 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 2
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Я уже много раз писал и повторю, что для высоконагруженных систем, будь то нагруженность по объёмам данных или интенсивности запросов, не бывает готовых рецептов, решение всегда разрабатывается индивидуально под нюансы проекта. Чтобы уметь такие решения разрабатывать, надо сначала получить богатый опыт разработки и эксплуатации решений попроще. Поэтому для студентов в подавляющем большинстве случаев эта задача неподъёмная. Кроме того, если данные действительно колосальные, то понадобятся колосальные инвестиции, как минимум нужно будет строить ЦОД.

Если же просто хочется получить теоретические знания и разразработать конценпт не для реального применения, то начать стоит с чтения Клеппмана и статей об устройстве систем в Google, Яндекс, Facebook, VK и прочих.
Ответ написан
@rPman
Колоссальный это сколько? Смотреть не по размеру в байтах а по количеству событий записи и чтения.

Главный вопрос - какие именно запросы на чтение будут производиться, как часто. Это определить список полей, которые нужно индексировать и как. Именно эти поля определять скорость записи, так как для них нужно обновлять индексы, остальные данные в конечном счёте можно записывать на максимума скорости устройства хранения.
Само собой вопрос в параллельном доступе к этим данным, вопрос обслуживания, резервного копирования и прочее.

В подавляющем большинстве случаев простая sql база данных более чем подходит, а нехватку скорости компенсируют шардингом и репликацией
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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