Прост отговор на вашия въпрос би бил да InnoDB би бил идеалният избор за набор от данни от няколко милиарда редове.
Има множество оптимизации, които са възможни.
Най-очевидните оптимизации биха били задаване на голям буферен пул, тъй като буферният пул е най-важното нещо, когато става дума за InnoDB, защото InnoDB буферира данните, както и индекса в буферния пул. Ако имате специален MySQL сървър само с InnoDB таблици, тогава трябва да настроите до 80% от наличната RAM памет, която да се използва от InnoDB.
Друга най-важна оптимизация е наличието на правилни индекси в таблицата (имайки предвид модела за достъп/актуализация на данни), както първични, така и вторични. (Не забравяйте, че първичните индекси се добавят автоматично към вторичните индекси).
С InnoDB има някои допълнителни екстри, като защита от повреда на данни, автоматично възстановяване и т.н.
Що се отнася до увеличаването на производителността на запис, трябва да настроите вашите регистрационни файлове на транзакциите да бъдат до общо 4G.
Друго нещо, което можете да направите, е да разделите таблицата.
Можете да постигнете по-голяма производителност, като зададете bin-log-format на "ред" и зададете auto_inc_lock_mode на 2 (това ще гарантира, че innodb няма да държи заключвания на ниво таблица при вмъкване в колони с автоматично увеличение).
Ако имате нужда от конкретен съвет, можете да се свържете с мен, бих бил повече от готов да помогна.