170 похожих чатов

Привет, помогите советом, мне нужно организовать бд с помощью б-дерева,

алгоритм б древа у мен\ написан, только я не понял, как мне писать информацию на жесткий диск, мне нужно как то писать в сектора, и сохранять их адреса, или может как то по другому?

7 ответов

9 просмотров

Просто пиши в файл и делай "fsync" как постгрес

Антон- Автор вопроса
Maus Grau
Просто пиши в файл и делай "fsync" как постгрес

в бинарном режиме? но в записаной ноде должны быть указаны адреса других блоков памяти, поиск по дереву происходит поочередное чтение нод с файла

Антон
в бинарном режиме? но в записаной ноде должны быть...

Я про бинарный и говорю, делить файл можно на блоки оффсетами от начала или ещё что придумать. Но вообще ты не можешь взять указатель на дисковую память, нужно все равно поднимать страницы в оперативку, можно просто чтением по оффсету, можно mmap.

Антон- Автор вопроса
Maus Grau
Я про бинарный и говорю, делить файл можно на блок...

тоже подумал про офсет, может кто еще что то посоветует

Антон
тоже подумал про офсет, может кто еще что то посов...

Можно посмотреть исходники SQLite (как раз без конкурентного доступа) или постгреса.

Это непростая задача...

Что значит "писать в сектора"?

Похожие вопросы

Обсуждают сегодня

Anyone here suffers from unexplained aural migraines, who would be up for talking for a bit? Doesn't *have* to be aural, but I am not asking about headaches, I mean actual mi...
Martin Rys
55
Вопрос по WIN32: Насколько я понимаю то все функции win32 привязаны к объектам операционной системы. Например консоль, файл, кисть, окна итд. Следовательно функции win32 упра...
Tommy Vercetti
6
Hello, can I install macOS and run flutter on a virtual machine? Is it possible to print for iphone?
Mazones
11
кто-то пользуется компонентами rx ? как их лучше ставить, через OPM? (lazarus)
Iluha Companets
15
В смысле более затратная? Общая стоимость владения лошадью меньше, чем автомобиля. В среднем.
Sergej R
10
подскажите пожалуйста, как мне освободить результат записанный в переменную result? в чем проблема подскажите если МОЖЕТЕ?
Михаил Helper
28
есть тут кто-то , кто только начал изучать си? если проходите курс на степике или как-то сами изучаете, пишите, может, скооперируемся?..
Eule
25
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Слушайте, ещё такая интересная задачка. Сделан аудит действий пользователей через триггеры в базе, соответственно каждый пользователь имеет свой логин и пароль в базе. Это пре...
Сергей Бычков
12
Скажите, тут нет проблемы? IMyInterface1 = interface function GetInterface2: IInterface2; ... function TMyInterface.GetInterface2: IInterface2; begin Result := TI...
Ruslan aka DUDE
18
Карта сайта