Что такое формат файла IB?
.ib - это расширение файла базы данных для Embarcadero InterBase, коммерческой системы управления реляционными базами данных, история которой восходит к 1984 году. Первоначально разработанная Groton Database Systems, InterBase была приобретена Borland в 1991 году, а затем Embarcadero Technologies в 2008 году.
Файл .ib представляет собой бинарную страничную базу данных, хранящуюся в проприетарном формате InterBase On-Disk-Structure (ODS). Файл разделен на страницы фиксированного размера - 1024, 2048, 4096, 8192 или 16384 байт - выбираемого при создании базы данных. Страница 0 является заголовочной, в ней записываются основная версия ODS, размер страницы и текущее состояние транзакций; последующие страницы содержат данные, индексы, BLOB-объекты и цепочки указателей. ODS 17 соответствует InterBase 2020.
InterBase разделяет свою базовую структуру страниц ODS с Firebird, форком с открытым исходным кодом, выпущенным в 2000 году на основе исходного кода InterBase 6. Эти две системы структурно расходятся, начиная с ODS 12. Старые базы данных InterBase использовали расширение .gdb; .ib является текущим стандартом, хотя движок его не навязывает.
Дополнительное шифрование на уровне базы данных доступно начиная с InterBase 2009 в качестве лицензионного дополнения. Варианты InterBase ToGo и IBLite поддерживают встроенное развертывание на Android и других платформах. Файлы резервных копий используют расширение .ibk.
Безопасность и защита
РИСК: LOWФайлы базы данных IB являются пассивными контейнерами данных; они не могут исполнять код в операционной системе хоста. Риск заключается в раскрытии данных, если файл передается без защиты - шифрование InterBase 2009+ помогает этого избежать. Файлы резервных копий (.ibk) имеют ту же степень конфиденциальности данных.
Детали формата
в двух словах- Файл базы данных Firebird - Firebird (форк InterBase с открытым исходным кодом) по соглашению использует .fdb, но может использовать .ib; имеет тот же формат страниц ODS вплоть до ODS 11.
Программы, открывающие файлы IB
Технические подробности
глубокая спецификация| Порядок байтов | Преимущественно little-endian; некоторые поля метаданных big-endian в старых версиях ODS |
| Поддерживаемые размеры страниц | 1024, 2048, 4096, 8192 или 16384 байт на страницу (фиксируется при создании базы данных) |
| Расположение версии ODS | Заголовочная страница (страница 0) по смещению 0x12-0x13 |
| Сопоставление версий ODS | ODS 10 = IB 6 / FB 1.0; ODS 11 = FB 2.x; ODS 12 = FB 3.0; ODS 17 = InterBase 2020 |
| Содержимое заголовочной страницы | Страница 0: версия ODS, размер страницы, состояние транзакций, битовые карты распределения |
| Типы страниц | Заголовок, данные, индекс (B-дерево), blob, указатель, страницы инвентаризации транзакций |
| Шифрование | Опциональное шифрование базы данных AES (InterBase 2009+, лицензионное дополнение) |
| Поддержка нескольких файлов | Основной файл .ib плюс дополнительные файлы расширения для баз данных, превышающих лимиты одного файла |
| Целостность на уровне страниц | Опциональная контрольная сумма CRC через hdr_flags; соответствие ACID обеспечивается через журнал транзакций |
| Устаревшее расширение | .gdb было распространенным расширением в старых версиях InterBase |
| Мобильный/встраиваемый вариант | InterBase ToGo / IBLite - встраиваемое развертывание для платформ Android и IoT |
| Совместимость с форком Firebird | Общая структура ODS до версии ODS 11; структурно расходятся начиная с ODS 12 |
| Расширение файла резервной копии | .ibk (файлы резервных копий базы данных InterBase) |
| Выпущен | 1984 (InterBase 1.0 by Groton Database Systems) |
| Последняя версия | InterBase 2020 Update 7 (ODS 17) |
| Спецификация | docwiki.embarcadero.com |
Конвертации IB
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах IB.