DEVOPSTRAINER
База знаний / Базы данных

Базы данных: конспекты

69 статей. Полные тексты — в тренажёре после входа.

Cassandra

tags: база знаний, бд Apache Cassandra Apache Cassandra — распределённая NoSQL база данных без единой точки отказа (masterless), рассчитанная на линейное горизонтальное масштабиров…

ClickHouse

tags: база знаний, бд ClickHouse ClickHouse колоночная СУБД класса OLAP (Online Analytical Processing) для аналитических запросов на больших объёмах данных: агрегаций, фильтраций, …

InfluxDB

tags: база знаний, бд InfluxDB InfluxDB — специализированная база данных для хранения временных рядов (time series): последовательностей значений, привязанных к меткам времени (мет…

MariaDB

tags: база знаний, бд MariaDB MariaDB — форк MySQL, созданный сообществом во главе с оригинальным создателем MySQL. Полностью совместим с MySQL как "drop in replacement" и использу…

Memcached

tags: база знаний, бд Memcached Memcached — распределённое in memory хранилище ключ значение, используемое как слой кэширования перед базой данных. Хранит только строки в оперативн…

MongoDB

tags: база знаний, бд MongoDB MongoDB — документо ориентированная NoSQL СУБД. Данные хранятся в гибких JSON подобных документах формата BSON; применяется там, где структура данных …

MySQL

tags: база знаний, бд MySQL MySQL — реляционная СУБД (RDBMS), в которой данные организованы в таблицы со строго заданными столбцами и связаны между собой через ключи. Используется …

PostgreSQL

tags: база знаний, бд PostgreSQL PostgreSQL — объектно реляционная СУБД с открытым исходным кодом. ACID совместима, поддерживает сложные типы данных (массивы, JSONB, наследование т…

Redis

tags: база знаний, бд Redis In memory key value хранилище данных. Используется как кэш, брокер сообщений, хранилище сессий и структура данных для очередей/рейтингов — за счёт хране…

В чем разница SQL and NOSQL

tags: база знаний, бд SQL и NoSQL SQL (реляционные) и NoSQL (нереляционные) — два подхода к организации хранения данных в БД, различающиеся моделью данных, схемой и стратегией масш…

Собес — БД под нагрузкой (анализ, кэш, реплики, PgBouncer)

tags: база знаний, бд, собес База данных под нагрузкой Нагрузка на БД выросла, а масштабирование (вертикальное — добавить ресурсы, горизонтальное — шардинг) недоступно. Как найти у…

Не реляционные базы данных

tags: база знаний, бд NoSQL NoSQL (нереляционные БД) — системы хранения без табличной модели данных. Используются там, где нужна высокая скорость, большие объёмы данных и часто мен…

Типы noSQL

tags: база знаний, бд NoSQL NoSQL (Not Only SQL) — зонтичный термин для баз данных, которые не используют табличную схему «строки и столбцы» и связи через внешние ключи. Оптимизиро…

Типы кеширования в SQL

tags: база знаний, бд Кэширование в SQL и NoSQL Кэширование — хранение данных или промежуточных результатов в оперативной памяти, чтобы избежать повторного чтения с диска или повто…

3 типа связей. как реализовываются в SQL

tags: база знаний, бд Типы связей между таблицами Связь описывает, как строки одной таблицы соотносятся со строками другой. В реляционной модели выделяют три типа связей: «один ко …

Constraints

tags: база знаний, бд Constraints Констрейнты (Constraints) , или ограничения целостности — правила, накладываемые на столбцы или таблицы, которые СУБД принудительно соблюдает при …

FOREIGN KEY

tags: база знаний, бд FOREIGN KEY Внешний ключ (FOREIGN KEY) — ограничение (constraint), которое связывает две таблицы между собой и обеспечивает ссылочную целостность данных: коло…

GROUP BY. Группировки. Группировки с условием HAVING

tags: база знаний, бд GROUP BY и HAVING GROUP BY — оператор SQL, который объединяет строки с одинаковыми значениями в заданных колонках в одну итоговую строку (группу). Используетс…

JOIN. Какие бывают, чем отличаются

tags: база знаний, бд JOIN JOIN — оператор, который объединяет столбцы из двух или более таблиц в одну результирующую таблицу на основе общего признака (ключа). Разные виды соедине…

ON DELETE, ON UPDATE. Когда использовать. SET NULL, CASCADE, NO ACTION

tags: база знаний, бд ON DELETE, ON UPDATE В реляционных базах данных таблицы связаны между собой: есть родительская таблица (например, Clients ) и дочерняя таблица (например, Orde…

Self Join

tags: база знаний, бд Self Join Self Join (самообъединение) — техника, при которой таблица соединяется сама с собой; отдельного оператора для этого в SQL нет. Под капотом используе…

UNION. Отличие от JOIN

tags: база знаний, бд UNION. Отличие от JOIN JOIN объединяет данные горизонтально (добавляет колонки), UNION — вертикально (добавляет строки). JOIN (горизонтальное соединение) Бере…

WHERE Выборка с условием операторы AND, OR, NOT, LIKE, IN, BETWEEN

tags: база знаний, бд WHERE: выборка с условием, операторы AND, OR, NOT, LIKE, IN, BETWEEN WHERE — конструкция для фильтрации строк по условию: если условие истинно (True), строка …

Агрегатные функции. Какие есть. Как использовать вне группировок

tags: база знаний, бд Агрегатные функции Агрегатные функции — операции в SQL, которые принимают на вход множество значений (колонку или группу строк) и возвращают одно итоговое зна…

Аномалии нормальных форм

tags: база знаний, бд Аномалии нормальных форм Аномалии — это проблемы вставки, удаления и обновления данных, возникающие из за избыточности в ненормализованных таблицах. Каждая но…

В чем отличие CHAR , VARCHAR, TEXT

tags: база знаний, бд CHAR, VARCHAR, TEXT Три типа данных для хранения строк в СУБД. Отличаются способом выделения памяти под значение и наличием жёсткого лимита длины, что напряму…

Вложенные запросы. Как делать и зачем

tags: база знаний, бд Вложенные запросы Вложенный запрос (подзапрос) — это полноценный SELECT запрос внутри другого, внешнего запроса, заключённый в круглые скобки () . Позволяет п…

Диаграммы. ER. Что такое, зачем, какой уровень БД описывает аналитик

tags: база знаний, бд ER диаграмма ER диаграмма (Entity Relationship diagram) , или диаграмма «сущность связь» — визуальная модель данных системы: из каких смысловых блоков она сос…

Как удалить таблицы, как очистить таблицы от данных

tags: база знаний, бд Удаление таблиц и очистка данных: DROP, TRUNCATE, DELETE В SQL есть три команды для удаления таблиц или их содержимого — DROP , TRUNCATE и DELETE . Они отлича…

Какие бывают нереляционные БД

tags: база знаний, бд Нереляционные БД (NoSQL) Нереляционные БД — класс СУБД без фиксированной табличной схемы и жёсткой реляционной модели. Используются, когда структура данных не…

Какие ограничения можно сделать для вторичного ключа cascade и все в этом духе

tags: база знаний, бд Referential Actions (ON DELETE / ON UPDATE) Referential Actions — правила ссылочной целостности, которые задаются при создании внешнего ключа ( FOREIGN KEY ).…

Отличие БД от СУБД.

tags: база знаний, бд БД и СУБД БД и СУБД — разные понятия: данные отдельно, программа для управления ими отдельно. База данных (БД) — организованная структура для хранения информа…

Отличие реляционных БД от не реляционных

tags: база знаний, бд Реляционные и нереляционные БД Реляционные и нереляционные СУБД различаются по трём признакам: структура данных, гибкость схемы и подход к масштабированию. Ст…

Порядок выполнения

tags: база знаний, бд Порядок выполнения SQL запроса Логический порядок выполнения SQL запроса не совпадает с порядком написания его частей в тексте. СУБД выполняет запрос по фикси…

Разница DDL и DML операций что в них входит

tags: база знаний, бд DDL и DML DDL и DML — две группы SQL команд, различающиеся по объекту воздействия: DDL работает со структурой базы данных (объектами и метаданными), DML — с д…

Создание, удаление, изменение структуры БД

tags: база знаний, бд DDL: создание, изменение и удаление структуры БД DDL (Data Definition Language) — группа SQL команд для работы со структурой базы данных: создание, изменение …

Уровни моделирования БД (логический, концептуальный, физический). Какие есть, на каких

tags: база знаний, бд Уровни моделирования БД Моделирование БД проходит три последовательных уровня абстракции — концептуальный, логический и физический. Каждый уровень детализируе…

Четыре базовые операции над данными

tags: база знаний, бд Четыре базовые операции над данными (CRUD) Четыре базовые операции над данными в IT объединяются аббревиатурой CRUD . В реляционных БД эти операции образуют г…

Что такое миграции БД

tags: база знаний, бд Миграции БД Миграция БД — процесс изменения структуры базы данных (схемы) из одной версии в другую с помощью специальных скриптов. По сути это система контрол…

первичный и составной ключ

tags: база знаний, бд Первичный и составной ключ Первичный ключ (Primary Key, PK) — главный идентификатор записи в таблице; гарантирует однозначный доступ к конкретной строке. Перв…

типы данных

tags: база знаний, бд Типы данных Тип данных определяет, что можно хранить в столбце таблицы, сколько это займет места и какие операции допустимы над значением. Числовые типы Целые…

Вид индекса

tags: база знаний, бд Виды индексов Индекс — дополнительная структура для ускорения поиска данных; типы отличаются тем, как физически хранятся данные относительно индекса и какие з…

Индексы

tags: база знаний, бд Индексы Индекс — вспомогательная структура данных СУБД, которая позволяет находить нужные строки без полного сканирования таблицы (Full Table Scan). Хранится …

ERD диаграммы

tags: база знаний, бд ERD диаграммы ER диаграмма (Entity Relationship) — визуальная схема базы данных: описывает сущности (таблицы), их свойства (колонки) и связи между ними. Связи…

VIEW

tags: база знаний, бд View View (представление) — виртуальная таблица: не хранит данные сама по себе, а представляет собой сохранённый SQL запрос к реальным таблицам. При обращении…

Нормализация , денормализация

tags: база знаний, бд Нормализация и денормализация Нормализация — процесс организации данных в базе, при котором таблицы разделяются так, чтобы исключить дублирование информации и…

Реляционные Базы данных

tags: база знаний, бд Реляционные БД (SQL) Базы данных, основанные на реляционной модели: данные хранятся в виде строго структурированных взаимосвязанных таблиц. Структура Данные с…

Масштабирование

tags: база знаний, бд Масштабирование базы данных Масштабирование базы данных — процесс увеличения способности БД обрабатывать больше данных, пользователей и запросов без потери пр…

Миграция БД

tags: база знаний, бд Миграции БД Миграции — механизм контролируемого изменения структуры базы данных (схемы) с сохранением истории изменений и возможностью отката. По сути это вер…

Партиционирование

tags: база знаний, бд Партиционирование Партиционирование базы данных — техника разделения большой таблицы на более маленькие части (партиции), которые хранятся отдельно, но логиче…

Репликация

tags: база знаний, бд Репликация Репликация базы данных — процесс копирования и синхронизации данных между несколькими серверами БД. Обеспечивает высокую доступность, масштабирован…

Шардирование

tags: база знаний, бд Шардирование Шардирование — метод горизонтального разделения данных в базе данных или системе на отдельные части (шарды) для распределения нагрузки, повышения…

ALTER TABLE

tags: база знаний, бд ALTER TABLE ALTER TABLE — SQL команда для изменения структуры существующей таблицы: колонок, ограничений, имени, схемы или владельца. Основной синтаксис ALTER…

Вложенный запрос

tags: база знаний, бд Вложенный запрос (Subquery) Вложенный запрос (Subquery) — это запрос внутри другого SQL запроса. Используется, когда условие или значение для основного запрос…

Основные операции

tags: база знаний, бд Основные операции SQL Базовые команды для работы с данными в таблице (CRUD): чтение, добавление, изменение, удаление. SELECT — чтение данных; позволяет выбрат…

Фильтрация и объединение

tags: база знаний, бд JOIN и WHERE JOIN — операция, сопоставляющая строки из двух или более таблиц по общему полю (ключу). WHERE — фильтр, отсекающий строки после того, как таблицы…

агрегатные функции

tags: база знаний, бд Агрегатные функции Агрегатные функции сводят множество значений столбца в одно число: количество, сумму, среднее, минимум или максимум. Используются вместе с …

оконные функции

tags: база знаний, бд Оконные функции Оконные функции — функции, которые выполняют вычисления над набором строк, связанных с текущей строкой. В отличие от агрегатных функций ( SUM …

DCL

tags: база знаний, бд DCL — Data Control Language Группа команд SQL для управления доступом к данным: определяют, кто и какие операции может выполнять над объектами БД. Используютс…

DDL

tags: база знаний, бд DDL — Data Definition Language Язык определения данных: команды, работающие со структурой (схемой) базы данных, а не с самими данными. Используется при проект…

DML

tags: база знаний, бд DML DML (Data Manipulation Language) — группа команд для работы с данными внутри уже созданных таблиц. Команды SELECT — чтение (выборка) данных. INSERT — доба…

TCL

tags: база знаний, бд TCL Transaction Control Language — язык управления транзакциями. Команды TCL обеспечивают принципы ACID и управляют тем, как изменения физически фиксируются в…

ACID

tags: база знаний, бд ACID ACID — набор из четырёх свойств транзакций (Atomicity, Consistency, Isolation, Durability), гарантирующих, что база данных остаётся в целостном состоянии…

Синтаксис транзакций

tags: база знаний, бд Синтаксис транзакций Транзакция — логическая граница вокруг набора операций с БД, гарантирующая, что они применяются как единое целое. В большинстве SQL баз (…

Транзакции

tags: база знаний, бд Транзакции Транзакция — последовательность SQL команд, работающих с базой данных, которые должны быть выполнены полностью (все вместе) или не выполнены вообще…

Уровни изоляции

tags: база знаний, бд Уровни изоляции транзакций Уровень изоляции — настройка БД, определяющая, какие аномалии параллельного доступа допускаются ради скорости выполнения транзакций…

уровни аномалий

tags: база знаний, бд Аномалии транзакций Аномалии транзакций — нежелательные эффекты параллельного выполнения транзакций, которые возникают из за недостаточной изоляции. Уровни из…

В других БД

tags: база знаний, бд Шардирование в других СУБД Выбор базы данных, хорошо поддерживающей шардирование, — одно из ключевых архитектурных решений. Шардирование считается "хорошим", …

На примере PostgreSQL

tags: база знаний, бд Шардирование в PostgreSQL Шардирование — техника горизонтального разделения данных, при которой одна большая таблица физически разбивается на множество мелких…

Готовишься к DevOps-собеседованию?
Полные разборы вопросов, карточки с интервальным повторением, квизы и песочница с реальными сломанными Linux-серверами — бесплатно после входа.
Открыть тренажёр →