Кто проектировал базу данных MariaDB?

«Кто проектировал базу данных MariaDB?» — вопрос из категории Базы данных, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

MariaDB не проектировалась "с нуля" для конкретного проекта. Это система управления базами данных (СУБД) с открытым исходным кодом, которая является форком MySQL.

История и "архитекторы":

  • Основной создатель: Майкл Видениус (известный как Monty), один из оригинальных авторов MySQL. Он инициировал форк в 2009 году после приобретения MySQL компанией Oracle.
  • Развитие: Сейчас MariaDB развивается сообществом и фондом MariaDB Foundation, в который входят многие бывшие ключевые разработчики MySQL.

С точки зрения разработчика: Когда мы говорим "проектирование БД" в контексте MariaDB, мы имеем в виду проектирование схемы данных для нашего приложения.

Пример: как я проектирую таблицу в MariaDB для задачи хранения пользовательских сессий:

CREATE TABLE user_sessions (
    id CHAR(36) PRIMARY KEY DEFAULT (UUID()), -- Используем UUID
    user_id INT UNSIGNED NOT NULL,
    access_token VARCHAR(500) NOT NULL,
    refresh_token VARCHAR(500) NOT NULL,
    expires_at TIMESTAMP NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    INDEX idx_user_id (user_id), -- Индекс для поиска по user_id
    INDEX idx_expires_at (expires_at) -- Индекс для очистки просроченных сессий
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

Обоснование выбора:

  • InnoDB — движок по умолчанию в MariaDB, поддерживает транзакции и внешние ключи.
  • utf8mb4 — для полной поддержки эмодзи и всех символов Unicode.
  • Индексы на user_id и expires_at оптимизируют частые запросы приложения.

Таким образом, проектировщиком конкретной схемы БД в MariaDB является разработчик/архитектор проекта.