То что у вас в итоге получилось, называется key-value storage.
Key-value storage производительнее (для тех задач, для которых они подходят) чем SQL БД.
Копайте в этом направлении.
Конкретную подходящую под ваши задачи реализацию key-value storage не подскажу - не специалист.
Спасибо за подсказку, всё говорит, что такое вполне реализуемо в Berkeley DB и довольно быстро и просто.