Управление файлами в базе данных хранилища ключей - PullRequest
0 голосов
/ 26 октября 2018

Я разрабатываю базу данных хранилища значений ключей для учебных целей и использую для этого Java.Моя база данных позволяет выполнять три простые операции:

set(String key, String Value)
put(String key)
delete(String key)

Мой подход заключается в сохранении данных на диске после их поступления.Тем не менее, я пытаюсь найти хороший и эффективный способ сегментировать мой файл для дешевого удаления, установки и получения.

Изначально я думал об управлении x несколькими файлами и использовал хеш-функцию, которая может сопоставляться с этими файлами, чтобы разделить нагрузку на x файлов.Для каждого файла я хочу найти способ управления данными без необходимости полного сканирования в случае \ store \ и дублирования файлов в случае \ delete.Я подумал о создании файла для хранения указателей для каждого ключа с фиксированной длиной и возможностью произвольного доступа к файлу, чтобы указатели указывали на соответствующее значение в файле данных.Но у меня все еще есть дорогие удаления и получения.Я знаю, что могу использовать Hash-таблицу для хранения данных в памяти и выбрать один из методов кэширования для управления заменой кэша, но с этим я пытаюсь найти способ извлечь максимальную пользу из файлового хранилища.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...