Допустима потеря данных до 2%
Один из 50 insert'ов падает, и это приемлемо, я верно понял?
БД (MySQL) при огромном количестве записей (ожидается более 20 млн записей) очень сильно начинает «тупить»
Если структура данных вполне определена и поддаётся секционированию, возможно можно разбивать инфу по таблицам по месецам/неделям/ и др. ( смотря какой поиск будет производится)
1. Хотите быть гибкими чтоб поменять редис-могно-sql, подумайте об абстракции, используйте шлюз между вызывающим кодом и хранилищем. ( в таком случае кеширующую прослойку можно легко внедрить при необходимости)
2. Напишите тест генерирущий кучу предположительных запросов на чтение и на запись (если проект будет развиваться — пригодится)
(оба пункта дадум вам ценный полезный практический опыт)
Большой поток инсертов можно решить буферизирование на клиенте, и вставлять кучу строк за одну зоманду — Хорошая оптимизация, подумайте, возможно в вашем случае это вполне приемлемо.
Мне больше нравится как первичное хранилище реляционка, редис/монго и прочее как промежуточно хранение агрегированной инфы или для кеширование.