Усеченный файл в передней стороне

Спасибо за ответы, я тоже попробую. Я заставил его работать:

echo $users[0]->username;
18
задан Jim Mischel 1 April 2009 в 15:52
поделиться

4 ответа

Сокращение файлов спереди кажется несложным для реализации на системном уровне.

Но есть проблемы.

  • Первый - на уровне программирования. При открытии файла в режиме произвольного доступа текущая парадигма заключается в использовании смещения от начала файла для указания различных мест в файле. Если мы обрезаем в начале файла (или выполняем вставку или удаление из середины файла), это уже не стабильное свойство. (Хотя добавление или усечение с конца не является проблемой.)

Другими словами, усечение начала изменит единственную точку отсчета, и это плохо.

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

Если нам нужен более сложный доступ (и действительно есть необходимость), мы открываем файлы в случайном режиме и добавить некоторую внутреннюю структуру данных. Эта информация также может быть разделена между несколькими файлами. Это подводит нас к последней проблеме, которую я вижу, возможно, самой важной.

  • В некотором смысле, когда мы используем файлы с произвольным доступом с некоторой внутренней структурой ... мы все еще используем файлы, но мы больше не используем файловую парадигму. Типичными такими случаями являются базы данных, в которые мы хотим выполнять вставку или удаление записей, совершенно не заботясь об их физическом месте. Базы данных могут использовать файлы как низкоуровневую реализацию, но в целях оптимизации некоторые редакторы баз данных предпочитают полностью обходить файловую систему (подумайте о разделах Oracle).

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

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

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

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

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

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

внутренности. Операционная система может (и, вероятно, будет в некотором недалеком будущем) использовать другую парадигму, чем файловую.

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

внутренности. Операционная система может (и, вероятно, будет в некотором недалеком будущем) использовать другую парадигму, чем файловую.

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

7
ответ дан 30 November 2019 в 08:48
поделиться

NTFS может сделать что-то вроде этого с, он - редкая поддержка файла, но это обычно не настолько полезно.

1
ответ дан 30 November 2019 в 08:48
поделиться

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

Вы могли всегда писать свою собственную файловую систему, чтобы сделать это или возможно изменить существующее (хотя файловые системы, используемые "в дикой природе", являются, вероятно, довольно сложными, у Вас могло бы быть более легкое время, запускающееся с нуля). Если люди находят это достаточно полезным, что это могло бы завоевать популярность ;-)

0
ответ дан 30 November 2019 в 08:48
поделиться

На самом деле существуют рекордные основные файловые системы - IBM имеет один, и я верю DEC, VMS также имел это средство. Я, кажется, помню обоих разрешенных (позвольте? Я предполагаю, что они все еще вокруг), удаление и вставка наугад положения в файле.

0
ответ дан 30 November 2019 в 08:48
поделиться
Другие вопросы по тегам:

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