Вы можете рассмотреть возможность использования модуля QtSql для использования базы данных, в частности SQLite.
База данных SQLite представляет собой кроссплатформенное ядро базы данных в процессе работы. Это позволяет легко хранить структурированные данные и одновременно и безопасно обращаться к ним между процессами, процессы могут даже быть написаны на разных языках.
SQLite отлично работает с миллионами записей, работает очень быстро и надежно.
Основная проблема заключается в том, что процессы пишутся одновременно, так как использует блокировку на уровне базы данных, поэтому никакой другой процесс не может читать или записывать в базу данных во время операции записи.
Другое преимущество использования QtSql заключается в том, что в будущем вы можете легко заставить программы работать по сети, используя сервер баз данных, такой как PostgreSQL или MySQL.