База данных Exchange
База данных Exchange — это файловая структура, используемая серверным программным обеспечением Microsoft Exchange Server для хранения, организации и управления почтовыми ящиками пользователей, общими папками, календарями, контактами, задачами и другими элементами, связанными с совместной работой. Базы данных Exchange являются основным компонентом системы обмена сообщениями, обеспечивая сохранность, целостность и доступ к данным в корпоративной среде.
Архитектура и устройство
Типы файлов баз данных
База данных Exchange физически представлена набором файлов, основными из которых являются:
- Файлы базы данных (.edb) — основной файл, содержащий все объекты (сообщения, вложения, элементы календаря и т.д.). В Exchange Server 2013 и более поздних версиях используется формат Extensible Storage Engine (ESE), который обеспечивает высокую производительность и надёжность.
- Файлы журналов транзакций (.log) — последовательные файлы, в которые записываются все изменения базы данных до их фиксации в основном файле. Это позволяет восстанавливать данные в случае сбоя или отказа оборудования.
- Файлы контрольных точек (.chk) — служебные файлы, указывающие, какие записи из журналов уже применены к базе данных.
- Файлы теневых копий (.pat) — используются для поддержки операций резервного копирования и восстановления.
Механизм хранения
Базы данных Exchange работают на основе Extensible Storage Engine (ESE) — транзакционного движка баз данных, оптимизированного для работы с большими объёмами данных и высокой нагрузкой. ESE использует B-деревья для индексации и поиска данных, что обеспечивает быстрый доступ к сообщениям и другим элементам.
Каждая база данных состоит из страниц фиксированного размера (обычно 32 КБ), которые группируются в экстенты (16 страниц). Данные хранятся в виде записей, которые могут быть переменной длины. Для повышения производительности ESE поддерживает кэширование страниц в оперативной памяти.
Версии и форматы
Exchange Server 2007 и 2010
В этих версиях базы данных имели максимальный размер 16 ТБ (в Exchange 2007) и 20 ТБ (в Exchange 2010). Использовался формат EDB с поддержкой сжатия данных на уровне страниц.
Exchange Server 2013 и 2016
Максимальный размер базы данных был увеличен до 64 ТБ. Введена поддержка технологии Database Availability Groups (DAG), позволяющей создавать отказоустойчивые кластеры из нескольких копий баз данных. Формат EDB претерпел изменения для улучшения производительности при работе с большими почтовыми ящиками.
Exchange Server 2019
Максимальный размер базы данных остался на уровне 64 ТБ. Введены улучшения в механизме поиска и индексации, а также оптимизация для работы с твердотельными накопителями (SSD).
Управление и администрирование
Создание и настройка
Администраторы Exchange Server могут создавать базы данных с помощью консоли управления Exchange (Exchange Management Console) или командлетов PowerShell (например, New-MailboxDatabase). При создании указываются:
- Путь к файлу базы данных (.edb) — расположение на диске.
- Путь к файлам журналов (.log) — отдельный каталог для журналов транзакций.
- Размер страницы — обычно 32 КБ.
- Параметры восстановления — режим циклического журналирования (circular logging) и политика хранения журналов.
Обслуживание
Базы данных Exchange требуют регулярного обслуживания для поддержания производительности и целостности:
- Проверка целостности — выполняется с помощью утилиты
Eseutil /G, которая сканирует структуру базы данных на наличие ошибок. - Дефрагментация — утилита
Eseutil /Dперестраивает базу данных, удаляя пустое пространство и упорядочивая данные. - Резервное копирование — может выполняться как средствами Exchange (встроенные механизмы VSS), так и сторонними программами.
Восстановление после сбоев
При сбое базы данных (например, отказ диска или повреждение файла) восстановление осуществляется в несколько этапов:
- Определение состояния — анализ журналов и контрольных точек.
- Восстановление из резервной копии — копирование последней рабочей версии базы данных.
- Применение журналов транзакций — последовательное применение файлов .log для восстановления изменений, произошедших после создания копии.
- Проверка целостности — запуск
Eseutil /Gдля подтверждения корректности данных.
Классификация и типы
По назначению
- Почтовые базы данных — содержат почтовые ящики пользователей и связанные с ними элементы.
- Базы данных общих папок — хранят общие папки, доступные для совместного использования в организации.
- Базы данных архивов — используются для долгосрочного хранения старых сообщений (функция «архивный почтовый ящик»).
По расположению
- Локальные базы данных — размещаются на серверах Exchange Server внутри организации.
- Базы данных в облаке — часть подписок Microsoft 365, где базы данных управляются Microsoft в рамках службы Exchange Online.
Производительность и масштабирование
Факторы, влияющие на производительность
- Размер базы данных — чем больше база, тем дольше выполняются операции поиска и обслуживания.
- Количество пользователей — каждый почтовый ящик добавляет нагрузку на ввод-вывод.
- Аппаратное обеспечение — скорость дисков (SSD предпочтительнее HDD), объём оперативной памяти для кэширования.
- Сетевая инфраструктура — задержки и пропускная способность влияют на репликацию в DAG.
Стратегии масштабирования
- Разделение баз данных — создание нескольких небольших баз вместо одной большой для уменьшения времени восстановления и улучшения параллелизма.
- Использование DAG — распределение копий баз данных по нескольким серверам для обеспечения отказоустойчивости и балансировки нагрузки.
- Оптимизация журналов — размещение журналов на отдельных быстрых дисках (например, SSD) для снижения задержек записи.
Интересные факты
- Максимальный размер одного почтового ящика в Exchange Online (Microsoft 365) составляет 100 ГБ, а в локальных версиях — до 64 ТБ на базу данных.
- Базы данных Exchange используют формат ESE, который также применяется в Active Directory, Windows Search и других продуктах Microsoft.
- В Exchange Server 2010 была введена функция Database Availability Groups, которая стала основой для построения отказоустойчивых почтовых систем в крупных организациях.
- Microsoft рекомендует не превышать размер базы данных 2 ТБ для обеспечения приемлемого времени восстановления, хотя технически поддерживаются базы до 64 ТБ.
Критика и ограничения
- Сложность администрирования — управление базами данных Exchange требует высокой квалификации, особенно в крупных развёртываниях с DAG и множеством копий.
- Зависимость от журналов — потеря файлов журналов транзакций может привести к невозможности восстановления данных до последнего состояния.
- Производительность при больших объёмах — базы данных размером более 10 ТБ могут испытывать проблемы с производительностью при операциях поиска и дефрагментации.
- Лицензирование — использование Exchange Server требует приобретения лицензий на сервер и клиентские устройства (CAL), что может быть затратно для малого бизнеса.
Источники
- Microsoft Docs: Exchange Server architecture and database structure.
- TechNet: Understanding Exchange Database Files and Storage.
- Microsoft Press: Exchange Server 2016 Inside Out (Tony Redmond).
- Windows IT Pro: Performance tuning for Exchange databases.
- Microsoft Support: Best practices for Exchange database management.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →