Правда ли, что системы управления базами данных обычно обходят файловые системы? - PullRequest
5 голосов
/ 20 июля 2011

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

Предполагается, что root предоставит пользователю базы данных разрешение на прямое чтение и запись с дисковых блоков. В Linux это все еще проще, поскольку диск можно рассматривать как файл.

Будем весьма благодарны за любые ссылки на реальные примеры.

Ответы [ 3 ]

5 голосов
/ 20 июля 2011

Большинство полагается на базовую файловую систему для WAL и т. Д .: в основном они переносят ее на ОС.

Некоторые СУБД поддерживают (необработанные) разделы Oracle (MySQL), но это не так.нетипичноСлишком много хлопот ( смотрите этот чат о Postgres ), потому что вам все еще нужен WAL и т. Д. На вашем необработанном разделе.

2 голосов
/ 20 июля 2011

СУБД не обходят файловую систему. Если бы это было так, то имена таблиц не были бы чувствительными к регистру в Windows и чувствительными к регистру в Linux (в MySQL). Они занимают большое пространство в файловой системе (кстати, данные все еще видны как файл / набор файлов в базовой операционной системе) и управляют внутренней структурой данных. Это снижает фрагментацию и общие накладные расходы. Аналогичным образом работает кеш-система - Varnish выделяет всю необходимую ей память одним вызовом операционной системы, а затем поддерживает внутреннюю структуру данных.

1 голос
/ 20 июля 2011

Не полностью, mysql запрашивает каталог данных и сохраняет данные в определенном формате файла , где он пытается оптимизировать чтение, запись из файла, а также сохраняет там индексы.

Более того, он также может отличаться от одного механизма хранения к другому. Mongodb использует файлы с отображенной памятью для дискового ввода-вывода Ждем дальнейшего обсуждения здесь.

...