Ответ
Реляционная база данных (RDBMS) — это тип базы данных, который организует данные в виде набора взаимосвязанных таблиц (отношений) со строками и столбцами. Связи между таблицами определяются с помощью ключей. Это стандарт для структурированных данных, требующих надежности и согласованности.
Ключевые концепции:
- Таблица (Relation): Состоит из строк (записей, кортежей) и столбцов (атрибутов, полей).
- Первичный ключ (Primary Key): Уникальный идентификатор каждой строки в таблице.
- Внешний ключ (Foreign Key): Столбец, который ссылается на первичный ключ другой таблицы, устанавливая связь.
- SQL (Structured Query Language): Язык для управления и запросов к данным.
- Транзакции и ACID: Гарантии атомарности, согласованности, изолированности и долговечности операций.
Пример структуры для простого блога:
-- Таблица пользователей
CREATE TABLE users (
id SERIAL PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
email VARCHAR(100) NOT NULL
);
-- Таблица постов со ссылкой на пользователя
CREATE TABLE posts (
id SERIAL PRIMARY KEY,
title VARCHAR(200) NOT NULL,
content TEXT,
author_id INTEGER REFERENCES users(id) ON DELETE CASCADE,
created_at TIMESTAMP DEFAULT NOW()
);
Роль в DevOps:
- Управление схемой: Миграции базы данных (с помощью инструментов вроде Liquibase, Flyway) являются критической частью pipeline. Они версионируют изменения структуры БД.
- Резервное копирование и восстановление: Автоматизация бэкапов (pg_dump, mysqldump) и их тестирование.
- Мониторинг и тюнинг: Отслеживание медленных запросов, использование connection pool'ов (например, PgBouncer для PostgreSQL), настройка репликации для отказоустойчивости и чтения.
- Контейнеризация: Запуск СУБД в контейнерах (чаще для разработки/тестирования) с учетом stateful-природы данных и необходимости persistent volumes.
Популярные СУБД в стеке DevOps: PostgreSQL, MySQL/MariaDB, Amazon RDS, Google Cloud SQL.
Видео-ответы
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶
▶