Можно ли сохранить адрес данных, который находится на жестком диске или твердотельном диске в контейнере в оперативной памяти?
Для моего приложения (C ++ / visual studio 2008) я собираюсь создать репозиторий (каталог) на SSD-диске, и в этом репозитории будут тысячи (скажем, 100000 файлов размером примерно 3 МБ для каждого) двоичных файлов ( имена файлов являются уникальными идентификаторами)
Некоторые приложения должны выполнять операцию поиска в каталоге tihs с именами (идентификаторами).
Поэтому я подумал, что, если я создам контейнер, такой как карта, в ОЗУ и задаю идентификатор ключевого столбца (имя файла) и значение для физического адреса файла (который находится в SSD) и позволяю приложениям выполнять искать в этой карте (в ОЗУ) и, если найденные данные, восстановить данные с адресом (поскольку у нас есть физический адрес) не будет намного быстрее?
Так возможно ли сделать что-то подобное?
Есть несколько простых вариантов: использовать базу данных или карту памяти для набора файлов. В последнем случае вы должны знать, что очевидные операции с памятью на самом деле являются дисковыми операциями ввода-вывода и намного медленнее. Но результат отображения памяти в файле по-прежнему довольно обычный указатель на его содержимое. Это даже проще, чем «физические адреса», которые вы предлагаете.
Других решений пока нет …