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

Microsoft Access Database Engine

Microsoft Access Database Engine (также известный как Access Connectivity Engine, ранее — Microsoft Jet Database Engine, или просто Jet) — это реляционная система управления базами данных (СУБД) и набор программных компонентов, входящих в состав пакета Microsoft Office и распространяемых отдельно. Механизм обеспечивает создание, хранение, обработку и выполнение запросов к базам данных, которые хранятся в файлах формата .mdb (Access 2003 и ранее) и .accdb (Access 2007 и новее). Движок является основой для работы приложения Microsoft Access, а также может использоваться сторонними программами для доступа к данным без установки полного офисного пакета.

История

Разработка и ранние версии (Jet Engine)

Первоначально механизм был разработан корпорацией Microsoft в начале 1990-х годов под названием Microsoft Jet Database Engine. Jet (Joint Engine Technology) был создан как встраиваемая СУБД для приложений, работающих под управлением Windows 3.0. Первая версия (Jet 1.0) была выпущена в 1992 году вместе с Microsoft Access 1.0. В последующие годы механизм развивался параллельно с новыми версиями Access, получая улучшения в производительности, поддержке SQL и безопасности.

Ключевые версии Jet:

Переход к Access Database Engine (ACE)

С выходом Microsoft Office 2007 компания Microsoft представила новый формат файлов .accdb и обновлённый движок, получивший название Microsoft Access Database Engine (ACE). ACE не является прямым наследником Jet, а представляет собой его глубоко переработанную версию, включающую поддержку новых типов данных (например, многозначные поля и вложения), улучшенную безопасность и интеграцию с Windows SharePoint Services. Несмотря на смену названия, внутренняя архитектура и API во многом сохранили совместимость с Jet 4.0.

ACE развивался в версиях:

Архитектура и устройство

Компоненты

Движок состоит из нескольких ключевых компонентов:

Форматы файлов

Механизм поддерживает два основных формата файлов:

Режимы работы

Функциональные возможности

Типы данных

ACE поддерживает широкий спектр типов данных, включая:

SQL и запросы

Механизм поддерживает подмножество языка SQL (ANSI-89 и частично ANSI-92), включая команды SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, ALTER TABLE, CREATE INDEX. Поддерживаются сложные запросы с соединениями (INNER JOIN, LEFT JOIN, RIGHT JOIN), агрегатные функции (SUM, AVG, COUNT, MIN, MAX), подзапросы и встроенные функции (например, Date(), IIF(), Nz()).

Безопасность

В формате .mdb использовалась система безопасности на основе рабочей группы (файл .mdw), которая требовала ввода имени пользователя и пароля. В формате .accdb эта система была заменена на шифрование на уровне файла с использованием пароля (AES-128). Также в .accdb реализована поддержка проверки подлинности Windows (NTLM) при подключении к SharePoint.

Распространение и установка

В составе Microsoft Office

Microsoft Access Database Engine входит в состав всех редакций Microsoft Office, включающих приложение Access (например, Office Professional и Office Professional Plus). При установке Access движок устанавливается автоматически.

Отдельный распространяемый пакет (Redistributable)

Microsoft предоставляет отдельный установочный пакет Microsoft Access Database Engine Redistributable, который позволяет использовать движок в приложениях, не имеющих лицензии на Microsoft Office. Этот пакет доступен для бесплатного скачивания с официального сайта Microsoft. Он включает в себя драйверы ODBC и OLE DB, а также библиотеки для работы с файлами .mdb и .accdb из программ, написанных на C++, C#, Visual Basic .NET и других языках.

Разрядность

Существуют две версии распространяемого пакета: 32-разрядная (x86) и 64-разрядная (x64). Выбор версии зависит от разрядности приложения, которое будет использовать движок. Важно отметить, что 64-разрядная версия не может быть установлена одновременно с 32-разрядной версией Microsoft Office, и наоборот.

Применение

Microsoft Access

Основная область применения — работа с базами данных в приложении Microsoft Access. Access использует движок для создания форм, отчётов, макросов и модулей VBA, обеспечивая графический интерфейс для управления данными.

Сторонние приложения

ACE используется в качестве встраиваемой СУБД в различных приложениях:

Интеграция с другими продуктами Microsoft

ACE тесно интегрируется с Microsoft SharePoint (через службы Access Services), Microsoft Excel (импорт/экспорт данных), Microsoft Outlook (импорт контактов и календарей) и Microsoft SQL Server (через инструмент «Перенос баз данных Access в SQL Server»).

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

Производительность

ACE не предназначен для высоконагруженных приложений. При большом количестве одновременных пользователей (более 20–30) производительность резко падает из-за блокировок на уровне файлов и страниц. При работе по сети возможны проблемы с целостностью данных при сбоях.

Ограничения по размеру

Максимальный размер файла базы данных составляет 2 ГБ. При превышении этого лифта база данных становится недоступной для записи. Это существенно ограничивает применение движка для хранения больших объёмов данных (например, изображений или видео).

Отсутствие поддержки некоторых функций SQL

ACE не поддерживает хранимые процедуры, триггеры, представления (в классическом понимании), полнотекстовый поиск и репликацию на уровне сервера. Эти функции доступны только в более мощных СУБД, таких как Microsoft SQL Server.

Безопасность

Шифрование на основе пароля в формате .accdb считается относительно слабым. Существуют утилиты для восстановления паролей к файлам Access. Кроме того, файлы .mdb/.accdb не поддерживают аудит доступа на уровне записей.

Зависимость от Windows

ACE является продуктом, работающим исключительно под управлением операционной системы Windows. Официальной поддержки macOS, Linux или других платформ не существует.

Источники

  1. Microsoft Docs: Access Database Engine (ACE) Redistributable.
  2. Microsoft Support: Description of the Microsoft Jet Database Engine 4.0.
  3. Microsoft Support: Description of the new Access 2007 file format (.accdb).
  4. Microsoft Learn: Access SQL reference.
  5. Microsoft Support: Limitations of Access databases.
  6. Wikipedia: Microsoft Jet Database Engine.

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

На главную BFOmetr →