Здравствуйте, Sinclair, Вы писали:
V>>ISAM — это способ хранения данных вместе с индексами в одном файле.
V>>Это принципиально.
V>>До эпохи ISAM индексы хранились в отдельном файле.
S>Писец. Нет, ну правдо, писец. Ты бы хоть что-то по теме почитал.
S>Классический, ну прямо образцовый ISAM — это dBase (foxpro и прочие).
Ха-ха.
Так я тебя именно в это и хотел ткнуть на следующей итерации, что все твои представления об ISAM сильно попахивают FoxPro/dBase или Paradox.
Но ты и сам успешно ткнулся. ))
S>В ISAM ты никак в один файл не спрячешь одновременно индекс и данные — там space management примитивнейший.
Всё, расслабься, ты уже показал, что не знаешь, что такое ISAM.
RTFM, потом приходи.
S>Это и есть его основной недостаток по сравнению со странично-ориентированными хранилищами.
Э, нет.
В классике ISAM страничный, со страницами данных, индекса, служебными и страницами переполнений.
Например, Berkeley DB, MS Jet DB, Informix C-ISAM, Superbase, SQLite, MySQL-MyISAM и т.д. до бесконечности — практически все сколь-нибудь популярные.
A C-ISAM index changes automatically whenever a data record changes.
Кароч, твой тон рассуждений об ISAM заставил меня заподозрить кое-какой прикол и спросить тебя прямо.
Ну, всё ясно.
Теперь я лучше понимаю твои "аргументы" из прошлых твоих сообщений, хотя теперь еще меньше с ними согласен. ))
Уверен, что в твое представление не вкладываются даже банальные записи переменной длины (классика ISAM, под записи переменной длины эта технология и была изначально разработана), бо dBase из махрового 80-го года так не умел.
Кароч, ISAM означает доступ к записям через индексы. Противопоставляется SQL-доступу (текстовый запрос), доступу к просто "типизированным файлам" или доступу по физическим ссылкам (непосредственным смещениям данных), как в навигационных базах.
В классике под реляционным SQL всегда лежит что-то вроде ISAM или VSAM.
VSAM — это абстракция над ISAM.
Поэтому, когда я говорил об ISAM, я имел ввиду исключительно библиотечное АПИ для управления записями ISAM-хранилища, т.е. имелся ввиду бэкенд под SQL, бо сам-то SQL не нужен. Но тебе при этом "слышалась" какая-то хрень, сорри.