берите любую SQL-базу и не мучайтесь.
Вам нужно поизобретать велосипед или решить задачу?
2М коротких записей это ерунда, у меня в одной таблице 6М с 30 колонками — работает на ура.
Конечно, сейчас вы можете легко реализовать это на файлах. Но подумайте чуть вперед — наверняка нужно будет еще что-то добавить, делать какие-то дополнительные возможности, банально добавить дату регистрации или еще что-то. И что? Все переписывать? Конвертировать все файлы и пр.? Зачем это?
Все это уже сделали за вас разработчики БД.