Здравствуйте, computer20, Вы писали:
C>Once more:
C>Товарищи! Это не критика!
Это как раз критика.
C>Возражения должны быть сформулированы, а не подразумеваться.
C>Приведите сравнительную характеристику.
Сравнительную характеристику, пардон, чего?
C>Или хотя бы опишите те качества другого объекта, которые вы считаете актуальными для сравнения —
C>мы здесь сравним, обсудим.
Ок. Сравниваю:
1. Линейное расположение записей фиксированного размера в файле не принимает во внимание устройство современных дисковых накопителей. Производительность запросов по такой структуре будет далека от оптимальной. Современные СУБД используют страничную организацию файлов данных для достижения максимальной производительности.
2. Использование списка "дыр" существенно снижает производительность операции вставки новой записи, особенно при выполнении множества параллельных запросов. Современные СУБД используют значительно более крупные, чем одна запись, единицы выделения пространства.
3. Использование физических смещений в качестве внешних ключей предотвращает возможность дефрагментировать файлы
4. Ваши строки переменной длины, хранящиеся в отдельных файлах, катастрофически неэффективны. Современные СУБД умеют работать с записями переменного размера без существенных потерь по сравнению с фиксированным форматом, при этом строки размещаются динамически таким образом, чтобы хранить некоторую часть в основной записи. Это позволяет с одной стороны получать приемлемую производительность запросов для достаточно коротких строк, и в то же время не вводить жесткого ограничения на максимальную длину.
5. Вообще-то, изобретенный формат сильно напоминает ранние версии dbf времен середины восьмидесятых, только с обрезанными возможностями. Крайне рекомендую в ближайшее время поменьше писать и побольше читать. Одну полезную ссылку я уже привел. Сравните организацию данных в файлах MS SQL Server и свою. Если что-то будет непонятно — спрашивайте сюда. Если возникнет подозрение, что ваш формат намного лучше, то сходите на tpc.org и ищите там ISAM базы (а именно так называются форматы типа BAF) до просветления. Увы, на суперкомпьютерах этот подход не выжил; он применим разве что для 386 компьютеров.

1.2.0 alpha rev. 655