6 миллионов записей в день не кажутся особенно огромными. В частности, это , а не 500 в секунду в течение 24 часов в день - вы ожидаете, что трафик будет "бурным"?
Я бы не лично не использовал очередь сообщений - меня укусили нестабильность и общие трудности до сих пор. Я бы просто написал прямо на диск. В памяти используйте очередь производителя / потребителя с однопотоковой записью на диск. Производители будут просто сбрасывать записи для записи в очередь.
Иметь отдельную пакетную задачу, которая будет одновременно вставлять кучу записей в базу данных.
Оцените оптимальное (или, по крайней мере, «хорошее» количество записей для пакетной загрузки) за один раз. Возможно, вы захотите, чтобы один поток читал с диска, а другой - для записи в базу данных (с блокировкой потока файлов, если поток базы данных имеет большое отставание), чтобы вы не ожидали доступа к файлу и базе данных на в то же время.
Я предлагаю вам сделать несколько хороших и ранних тестов, чтобы посмотреть, с чем может справиться база данных (и позволить вам тестировать различные конфигурации). Выясните, где находятся узкие места, и насколько они могут вам навредить.