Dr. Hasan Dalmaz
Ведущий администратор баз данных · Oracle & PostgreSQL
DBAtlas — атлас операций для DBA
Аналоги команд для 7 СУБД, разбор ошибок, деревья решений и пошаговые плейбуки — всё, что нужно DBA во время инцидента, в одном месте.
- команд
- 1 480+
- команд
- разборов ошибок
- 426
- разборов ошибок
- деревьев решений
- 40
- деревьев решений
- СУБД
- 7
- СУБД
Сегодня пользовались DBA:
КОНСОЛЬ БАЗ ДАННЫХ
Краткий обзор мира баз данных
Наведите курсор на СУБД или понятие — увидите главное отличие, сильную сторону, ограничение и область применения.
› SELECT inst_id, instance_name, status FROM gv$instance ORDER BY inst_id;
- ▸ ГЛАВНОЕ
- В RAC несколько серверов совместно обслуживают одну базу данных; при отказе одного система продолжает работать.
- ✓ СИЛЬНАЯ СТОРОНА
- Самое зрелое корпоративное решение для непрерывной работы и аварийного восстановления (Data Guard).
- ⚠ ОГРАНИЧЕНИЕ
- Дорогие лицензии и высокие требования к квалификации; избыточна для небольших проектов.
- → ПОДХОДИТ ДЛЯ
- Крупные корпоративные системы, не допускающие простоя: банки, ERP.
› CREATE EXTENSION vector;
- ▸ ГЛАВНОЕ
- Открытый исходный код; возможности расширяются с помощью расширений — например, картографические данные или векторный поиск для ИИ.
- ✓ СИЛЬНАЯ СТОРОНА
- Бесплатная, мощная и соответствующая стандартам; справляется со всем — от простых записей до сложных запросов.
- ⚠ ОГРАНИЧЕНИЕ
- Системам с большим числом изменений/удалений нужны регулярное обслуживание и настройка VACUUM.
- → ПОДХОДИТ ДЛЯ
- Бэкенды веб- и мобильных приложений, картография (ГИС) и проекты ИИ.
› CREATE AVAILABILITY GROUP ag_prod;
- ▸ ГЛАВНОЕ
- СУБД от Microsoft; бесшовно работает с экосистемой Windows/.NET и поставляется с мощными инструментами (SSMS).
- ✓ СИЛЬНАЯ СТОРОНА
- Хорошо справляется и с повседневными транзакциями, и с отчётностью/аналитикой в одной системе.
- ⚠ ОГРАНИЧЕНИЕ
- Лучше всего работает в Windows; лицензия Enterprise Edition стоит дорого.
- → ПОДХОДИТ ДЛЯ
- Корпоративные .NET-приложения и системы бизнес-аналитики/отчётности.
› START REPLICA;
- ▸ ГЛАВНОЕ
- Самая популярная СУБД в вебе; проста в установке и использовании, с огромным сообществом.
- ✓ СИЛЬНАЯ СТОРОНА
- Лёгкая и быстрая; легко масштабируется, особенно для сайтов с преобладанием чтения.
- ⚠ ОГРАНИЧЕНИЕ
- Для очень сложной аналитики и продвинутых запросов уступает Oracle/PostgreSQL.
- → ПОДХОДИТ ДЛЯ
- Сайты на WordPress и высоконагруженные веб-приложения с преобладанием чтения.
› db.orders.find({ status: "paid" })
- ▸ ГЛАВНОЕ
- Хранит данные в виде гибких «документов» (наподобие JSON), а не таблиц; жёсткая схема не нужна.
- ✓ СИЛЬНАЯ СТОРОНА
- Позволяет быстро разрабатывать, хорошо работает с большими и часто меняющимися данными и легко масштабируется горизонтально (шардинг).
- ⚠ ОГРАНИЧЕНИЕ
- Неудачное проектирование ведёт к дублированию и несогласованности данных; не лучший выбор там, где требуется строгая реляционная целостность.
- → ПОДХОДИТ ДЛЯ
- Каталоги, управление контентом и приложения с часто меняющейся структурой.
› SET session:42 online EX 3600
- ▸ ГЛАВНОЕ
- Хранит данные в памяти (RAM), а не на диске, поэтому отвечает почти мгновенно.
- ✓ СИЛЬНАЯ СТОРОНА
- Невероятно быстрая; идеальна для кэширования, сессий и счётчиков в реальном времени.
- ⚠ ОГРАНИЧЕНИЕ
- Данные должны помещаться в RAM, а персистентность — быть правильно настроена, иначе возможна потеря данных.
- → ПОДХОДИТ ДЛЯ
- Кэширование, хранение сессий, таблицы лидеров и любые задачи, где важна скорость.
› GET /products/_search?q=laptop
- ▸ ГЛАВНОЕ
- Движок для полнотекстового поиска; инвертированный индекс позволяет искать по миллионам документов и ранжировать результаты по релевантности.
- ✓ СИЛЬНАЯ СТОРОНА
- Очень быстрый поиск, автодополнение, логи и аналитика (стек ELK); легко масштабируется горизонтально.
- ⚠ ОГРАНИЧЕНИЕ
- Не основная база данных; обычно работает рядом с основной СУБД как слой поиска/логов.
- → ПОДХОДИТ ДЛЯ
- Поиск по сайту и товарам, анализ логов и наблюдаемость.
› SELECT * FROM orders JOIN users USING (id);
- ▸ ГЛАВНОЕ
- Хранит данные упорядоченно в связанных таблицах и запрашивает их через SQL; модель, проверенная десятилетиями.
- ✓ СИЛЬНАЯ СТОРОНА
- Строгая согласованность: транзакция выполняется полностью или не выполняется вовсе (ACID). Отлично справляется со сложными запросами.
- ⚠ ОГРАНИЧЕНИЕ
- Сложно распределить по множеству машин (шардинг); последующее изменение схемы требует тщательного планирования.
- → ПОДХОДИТ ДЛЯ
- Деньги, складской учёт и любые системы, где критична корректность.
› { "user": "hd", "roles": ["dba"] }
- ▸ ГЛАВНОЕ
- Использует гибкие структуры вместо жёстких таблиц (документ, ключ-значение…); рассчитана на большой масштаб.
- ✓ СИЛЬНАЯ СТОРОНА
- Легко распределяется по множеству машин и уверенно выдерживает высокую нагрузку на запись.
- ⚠ ОГРАНИЧЕНИЕ
- Обычно нет строгих гарантий согласованности, как в SQL, и соединений таблиц (JOIN).
- → ПОДХОДИТ ДЛЯ
- Крупномасштабный веб, аналитика в реальном времени и данные с гибкой структурой.
› BEGIN; UPDATE acct SET bal = bal - 100; COMMIT;
- ▸ ГЛАВНОЕ
- Два подхода к согласованности: ACID гарантирует, что каждая транзакция завершается целиком; BASE ослабляет это ради скорости и доступности.
- ✓ СИЛЬНАЯ СТОРОНА
- ACID обеспечивает надёжность критичных данных, например денежных; BASE даёт огромный масштаб и постоянную доступность.
- ⚠ ОГРАНИЧЕНИЕ
- При BASE данные могут ненадолго быть «устаревшими»; приложение должно это учитывать.
- → ПОДХОДИТ ДЛЯ
- ACID: платёжные системы. BASE: ленты соцсетей, счётчики лайков.
› -- OLTP: point writes · OLAP: aggregate scans
- ▸ ГЛАВНОЕ
- Два типа нагрузки: OLTP — множество небольших повседневных транзакций (заказы, платежи); OLAP — анализ больших объёмов данных.
- ✓ СИЛЬНАЯ СТОРОНА
- Правильное разделение ускоряет обе: одна система обслуживает повседневную работу, другая — отчётность.
- ⚠ ОГРАНИЧЕНИЕ
- Если запускать обе нагрузки в одной системе, они замедляют друг друга, поэтому их обычно разделяют.
- → ПОДХОДИТ ДЛЯ
- OLTP: заказы/платежи. OLAP: отчёты, дашборды и хранилища данных.
Контакты
Есть вопрос? Оставьте сообщение.