Открыть сервис

NSF-файл

NSF-файл (англ. Notes Storage Facility) — это формат файла базы данных, используемый в клиент-серверной платформе для совместной работы IBM Lotus Notes и IBM Domino (ранее — Lotus Notes/Domino). NSF-файлы служат основным хранилищем для всех типов данных, создаваемых и обрабатываемых в среде Notes: электронных писем, документов, календарных записей, задач, контактов, форм, представлений и агентов.

История

Формат NSF был разработан компанией Lotus Development Corporation (позднее приобретена IBM, а затем — HCL Technologies) в конце 1980-х годов для первой версии Lotus Notes, выпущенной в 1989 году. Изначально NSF-файлы представляли собой простые структурированные хранилища, предназначенные для хранения документов в иерархической базе данных. С развитием платформы формат эволюционировал: в версиях Notes 3.x (1993) была добавлена поддержка репликации, в Notes 4.x (1996) — улучшенная система безопасности и полнотекстового поиска, а в Notes 5.x (1999) — возможность работы с вложениями и веб-доступом через Domino Web Server.

С выходом IBM Lotus Notes 6 (2002) и последующих версий формат NSF получил поддержку сжатия данных, улучшенную обработку больших объёмов информации и интеграцию с XML. В 2018 году, после приобретения IBM Notes/Domino компанией HCL Technologies, разработка формата продолжилась в рамках платформы HCL Notes и HCL Domino.

Структура и устройство

Физическая организация

NSF-файл является двоичным файлом с расширением .nsf. Он организован как страничная база данных, где данные хранятся в виде набора страниц фиксированного размера (обычно 4 КБ, 16 КБ или 64 КБ в зависимости от версии и настроек). Каждая страница может содержать заголовки, индексы, данные документов или метаданные.

Основные компоненты структуры NSF-файла:

  • Заголовок (Header) — содержит информацию о версии формата, размере файла, контрольные суммы и указатели на корневые структуры.
  • Страницы данных (Data Pages) — хранят содержимое документов, включая поля, вложения и форматированный текст.
  • Индексные страницы (Index Pages) — обеспечивают быстрый поиск и сортировку документов по заданным критериям (например, по дате, автору или категории).
  • Страницы свободного пространства (Free Space Pages) — управляют выделением и освобождением памяти внутри файла.
  • Страницы репликации (Replication Pages) — содержат информацию о репликационных идентификаторах и истории изменений для синхронизации между копиями базы данных.

Логическая организация

С точки зрения пользователя и разработчика, NSF-файл представляет собой базу данных, содержащую следующие объекты:

  • Документы (Documents) — основные единицы хранения, аналогичные записям в реляционных базах данных. Каждый документ состоит из набора полей (поля с текстом, числами, датами, вложениями и т.д.).
  • Формы (Forms) — шаблоны для создания и отображения документов, определяющие структуру полей и их форматирование.
  • Представления (Views) — упорядоченные списки документов, отфильтрованные и отсортированные по заданным критериям (например, «Входящие», «Календарь»).
  • Папки (Folders) — контейнеры для организации документов вручную или автоматически.
  • Агенты (Agents) — программные модули, выполняющие автоматические действия (например, отправка уведомлений, обновление данных) по расписанию или при наступлении события.
  • Скрипты и формулы (Scripts and Formulas) — код на языках LotusScript, Java или формулах, встроенный в формы, представления и агенты.

Классификация

NSF-файлы можно классифицировать по назначению и типу использования:

По типу базы данных

  • Почтовые базы (Mail Databases) — хранят электронную почту пользователя (обычно файл mail.nsf).
  • Прикладные базы (Application Databases) — содержат данные бизнес-приложений, например, системы документооборота, управления проектами или CRM.
  • Системные базы (System Databases) — используются сервером Domino для хранения конфигураций, журналов и метаданных (например, names.nsf — каталог пользователей и групп, admin4.nsf — административные задачи).

По состоянию

  • Активные (Active) — файлы, открытые и используемые сервером или клиентом.
  • Архивные (Archive) — сжатые или перемещённые копии для долгосрочного хранения.
  • Повреждённые (Corrupted) — файлы с нарушенной структурой, требующие восстановления.

Применение

Корпоративная среда

NSF-файлы являются основой работы платформы HCL Notes/Domino, которая используется в крупных организациях для:

  • Электронной почты и календарей — хранение и синхронизация почтовых сообщений, встреч и задач.
  • Документооборота — создание, маршрутизация и утверждение документов с поддержкой версий и подписей.
  • Совместной работы — общие базы данных для обсуждений, библиотек документов и досок объявлений.
  • Бизнес-приложений — разработка кастомных решений для управления проектами, учёта ресурсов, клиентского обслуживания.

Репликация

Одной из ключевых особенностей NSF-файлов является поддержка репликации — механизма синхронизации данных между несколькими копиями базы данных на разных серверах или клиентах. Репликация позволяет работать с данными в автономном режиме и автоматически объединять изменения при подключении к сети.

Экспорт и интеграция

Данные из NSF-файлов могут экспортироваться в другие форматы (например, CSV, XML, HTML) через встроенные средства Notes или сторонние утилиты. Существуют также инструменты для миграции данных из NSF в реляционные базы данных (например, Microsoft SQL Server, Oracle) или облачные платформы.

Инструменты для работы с NSF-файлами

Клиентские приложения

  • HCL Notes (ранее IBM Notes, Lotus Notes) — основной клиент для просмотра, редактирования и управления NSF-файлами на рабочей станции.
  • HCL Domino (ранее IBM Domino, Lotus Domino) — серверное программное обеспечение, управляющее доступом к NSF-файлам по сети.

Утилиты администрирования

  • Domino Administrator — консоль для управления серверами, базами данных и пользователями.
  • Compact — утилита для сжатия и дефрагментации NSF-файлов.
  • Fixup — инструмент для восстановления повреждённых структур данных.
  • Updall — утилита для обновления индексов и представлений.

Сторонние инструменты

  • NSF Viewer — программы для чтения NSF-файлов без установки Notes (например, «NSF File Viewer» от компании «Lotus Notes»).
  • Конвертеры — утилиты для преобразования NSF в PST (Microsoft Outlook), MBOX или другие форматы (например, «Notes Migrator» от Binary Tree, «Domino Migration Tool» от Quest Software).
  • Средства разработки — API (например, COM, Java, REST) для программного доступа к данным NSF.

Критика и ограничения

Формат NSF подвергается критике по нескольким причинам:

  • Закрытость — формат является проприетарным, что затрудняет интеграцию с другими системами и миграцию данных без использования специализированного ПО.
  • Производительность — при больших объёмах данных (более 10–20 ГБ) NSF-файлы могут деградировать в производительности, требуя регулярного сжатия и дефрагментации.
  • Сложность восстановления — повреждение NSF-файла может привести к потере данных, а восстановление требует специальных инструментов (Fixup, Compact) и опыта.
  • Устаревание — с переходом многих организаций на облачные платформы (Microsoft 365, Google Workspace) и веб-приложения, популярность Notes/Domino и NSF-файлов снижается, хотя они всё ещё используются в legacy-системах.

Интересные факты

  • NSF-файлы могут содержать не только текстовые данные, но и вложения произвольных типов (изображения, документы, архивы), которые хранятся внутри базы данных в виде OLE-объектов или MIME-частей.
  • Максимальный размер NSF-файла зависит от версии: в Notes 6.x и выше — до 64 ГБ, в более ранних версиях — 4 ГБ.
  • В 2023 году HCL Technologies выпустила версию HCL Notes 14, в которой была улучшена поддержка современных операционных систем (Windows 11, macOS Ventura) и добавлена возможность работы с NSF-файлами через веб-интерфейс.

Источники

  1. «Lotus Notes and Domino 6 Development» — Steve Kern, 2003.
  2. «HCL Notes and Domino Administration Guide» — HCL Technologies, 2023.
  3. «IBM Lotus Notes/Domino: A Technical Overview» — IBM Redbooks, 2005.
  4. «NSF File Format Specification» — Lotus Development Corporation, 1998.
  5. «Migrating from Lotus Notes to Microsoft 365» — Microsoft Documentation, 2022.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →