std::map или hash - на них выполняется хранение данных.
с использованием списков или map описывают метаданные (структуры таблиц, типы полей, связи). В зависимости от платформы данные могут быть объектами, вариантами или обычными типами (int, double, char).
Отдельные личности даже SQL движки делают.
Под линух есть, например, ExtremeDB-64.
А вообще лучше ввести в Google "Inmemory database LINUX"
и смотреть первые 10 результатов :)