Несмотря на то, что я не являюсь поклонником MySQL, когда ваши данные становятся большими, я должен сказать, что вам далеко не нужно переходить на решение NoSQL.120M строк не так уж и много: база данных, с которой я сейчас работаю, имеет ~ 600M в одной таблице, и мы эффективно запрашиваем ее.Управление таким большим количеством данных с точки зрения ops является проблемой;Запрашивать это не нужно.
Все дело в правильных индексах и их правильном использовании при объединении, а также в настройках памяти.Найдите свои медленные запросы (mysql медленный журнал запросов FTW!) И научитесь использовать ключевое слово объяснение , чтобы понять, почему они медленные.Затем настройте свои индексы, чтобы ваши запросы были эффективными.Кроме того, убедитесь, что вы понимаете настройки памяти MySQL.В документах есть отличные страницы, объясняющие, как они работают, и их не так сложно понять.
Если вы выполнили обе эти задачи и у вас по-прежнему возникают проблемы, убедитесь, что диск I /О, это не проблема. Тогда вам следует обратиться к другому решению для запроса ваших данных, если оно есть.
Решения NoSQL, такие как Cassandra, имеют много преимуществ.Кассандра великолепно пишет данные.Масштабировать ваши записи очень просто - просто добавьте больше узлов!Но компромисс заключается в том, что вернуть данные труднее.С точки зрения затрат, если у вас есть опыт работы с MySQl, вероятно, лучше использовать это и масштабировать ваше текущее решение до тех пор, пока оно не достигнет предела, прежде чем полностью переключить вашу базовую архитектуру.