База данных MySql для большого количества данных

Я хочу создать мобильное приложение, которое должно отправлять данные каждую минуту на сервер с базой данных MySQL.

Так что, если у меня будет 10 000 пользователей, которые работают 8 часов в день, это будет:

60 запросов * 8 часов * 30 дней * 12 месяцев = 172800 запросов в год для одного пользователя.

10 000 пользователей * 172800 = 1 728 000 000

и это я думаю много данных для базы данных mysql, так что вы предлагаете? Что мне нужно использовать? Какой тип базы данных? NoSql или MySQL могут справиться с этим?

-2

Решение

Это слишком долго для комментария.

Если у вас есть 10 000 пользовательских данных каждую минуту, то это 10000/60 ~ = 200 вставок в секунду. Это большая нагрузка, но не лишенная смысла. Тем не менее, это поднимает много вопросов, таких как:

  • Как эти данные будут использованы?
  • Какая у вас стратегия резервного копирования?
  • Сколько истории нужно?
  • Как вы управляете пропускной способностью сети?
  • Какова максимальная скорость вставки?
  • Как быстро должны быть доступны данные?
  • Насколько важно соответствие ACID?

Ответы на эти вопросы должны помочь вам выбрать лучший источник данных. И MySQL, и базы данных No-SQL с ключом-значением соответствуют этой задаче. Базы данных MySQL могут обрабатывать миллиарды строк в год. Типичные базы данных без SQL (MongoDB, Dynamo DB и т. Д.) Также могут обрабатывать этот объем данных.

3

Другие решения

MySQL может справиться с этим, нет проблем. Второй вопрос, который вы должны задать себе, может ли ваш сервер обрабатывать 10K-запрос в минуту (возможно, вы делитесь им).

И вы должны попытаться посчитать количество запросов в секунду или минуту, в год это немного неоднозначно. Поэтому достаточно сказать, что 1 запрос в минуту на пользователя с 10 000 пользователей является достаточной информацией.
И это много, но выполнимо.

Если вам нужны данные, я бы настроил производительность.

Например, если вы не возражаете против задержки в 1 час: регистрируйте данные каждую минуту в телефонной БД, отправляйте только данные каждый час и вставляйте их в MySQL в виде пакета.
Это 1/60 от количества запросов и запросов на вставку.
Это хорошо для вашей нагрузки на сервер и для пользовательского опыта, то есть истощает время автономной работы.

2

По вопросам рекламы [email protected]