файл или раздел на носителе, который так же использует операции ввода/вывода. И это отнюдь не магический чёрный ящик, а прозаичная куча кода с оптимизаторами чтения и записи этих данных с максимальной производительностью. Честно говоря не знаю как устроены оптимизации в хранилище у монги, но предполагаю что под капотом та же реляционная структура, что и у sql базах. Если хранить json, как последовательность записей в файловой структуре, то чтение, парсинг и валидация это масса дополнительных циклов процессорного времени, берём ту же реляционную базу, структура данных строго задаёт те области в файле, которые мы можем получит рядом вычислений относительно секторов, блоков и их размерностей. В нереляционных структурах такие операции, можно ли выполнить, если набор записей может отличаться значительно?
Такое описание хранения данных на диске для реляционных БД не подходит для полей varchat, text, blob и json
Обсуждают сегодня