Ответ
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 является разработчик/архитектор проекта.