Простой ответ на ваш вопрос: да, InnoDB был бы идеальным выбором для многомиллиардного набора данных.
Существует множество вариантов оптимизации, которые возможны.
Наиболее очевидной оптимизацией была бы установка большого буферного пула, поскольку буферный пул - это самая важная вещь, когда дело доходит до InnoDB, потому что InnoDB буферизует как данные, так и индекс в буферном пуле. Если у вас есть выделенный сервер MySQL только с таблицами InnoDB, то вы должны установить до 80% доступной оперативной памяти для использования InnoDB.
Другая наиболее важная оптимизация - наличие в таблице надлежащих индексов (с учетом шаблона доступа к данным / обновления), как первичных, так и вторичных. (Помните, что первичные индексы автоматически добавляются к вторичным индексам).
В InnoDB есть некоторые дополнительные возможности, такие как защита от повреждения данных, автоматическое восстановление и т. Д.
Что касается повышения производительности записи, вам следует настроить файлы журналов транзакций до 4G.
Еще одна вещь, которую вы можете сделать, это разделить таблицу.
Вы можете добиться большей производительности, установив bin-log-format в «row» и установив auto_inc_lock_mode в 2 (это гарантирует, что innodb не удерживает блокировки на уровне таблицы при вставке в столбцы с автоинкрементом).
Если вам нужен какой-то конкретный совет, вы можете связаться со мной, я был бы более чем готов помочь.