План на курса
Физическа/логическа архитектура MySQL
- Сървърни файлове и стартиращи скриптове
- Конфигурация на сървъра MySQL
- My.cnf
- Основни параметри
- Регистрационни файлове на сървъра
- Querylog
- Бавен регистър на заявките
- Регистър на грешките
Управление
- Потребителски акаунти
- Разрешения и сигурност в MySQL
- Архивиране и възстановяване - Mysqldump срещу. Percona Архивиране
- Поддръжка на база данни
Оптимизация на схемата
- InnoDB: специфично представяне - предимства и недостатъци, какво наистина е различно от MyISAM - кога какво да използвам?
- Как да изберем първични ключове (когато са пространствени, когато са b-дърво и т.н.)?
- Пълнотекстово търсене в системата InnoDB (<5.6 само MyISAM е възможно, над 5.6 MyISAM+InnoDB)
MySQL Кеш на заявките
- Защо, за какви заявки, каква стойност, струва ли си да го направим голям?
Тестване на производителността, определяне на проблеми с производителността
- Какво да тестваме – в зависимост от резултатите, които искаме да получим
- Решаване на проблеми с производителността (бавни заявки, изчакване, инструменти за производителност и т.н.)
Разделяне на данни (хоризонтално и вертикално)
- Разлики, разходи, ограничения
Оптимизация на схемата
Индексиране
- Индекси на много големи таблици
- Първични ключове (кога са сложни, в какви полета)
Типове данни
- Съвети при избор на типове данни, правилно използване на типове полета (int/float, време, геолокация) - предимства, ограничения
- Първичен ключ, различен от int, приемлив и еднакво ефективен ли е?
- Трябва ли всяка таблица да има първичен ключ?
- Транзакции - кога да се използват и кога не - предимства и недостатъци.
Оптимизиране на операционната система и използването на хардуера
- Най-важните параметри в my.cnf
Оптимизация на ниво приложение
- Инструменти за оптимизация
- Скриптове, които анализират настройките и показват предложения
Репликация на база данни
- Репликации, клъстери - как да постигнем висока наличност?
- Конфигурация на репликация (РЕД/СТРАНИЦА, отстраняване на неизправности, повторно изграждане, наблюдение/диагностика на процеса на репликация
MySQL Прокси срещу. HAProxy
- Принцип на действие, надеждност(?), предимства, недостатъци
MySQL Клъстер
- Принцип на действие
- Конфигурация
- Ефективност
- Сигурност
Кеш памет
- Кеш MySQL, временни таблици
- Струва ли си да преместите връзките в бази данни или е по-добре да ги запазите в кода?
- Подзапитвания и съединения - трябва ли да се използват, как трябва да се оптимизират?
Обяснете като помощно средство за тестване на заявки
- Използване на индекси за изграждане на заявки
- Профилиране на заявки – какви инструменти и как да го направите ефективно?
- Инструменти за визуален дизайн - струва ли си да се използват или опростяват структурите?
Добри практики и правила за именуване - ключове, колони, индекси, таблици
Изграждане на оптимални структури на маса
- Тригери: добри практики, когато става въпрос за поддържане на логиката в процедурите и тригерите - как да управлявате, как да тествате, кога си струва да използвате?
- Шаблони за проектиране и анти-шаблони
Струва ли си да преминете към MariaDB?
Инструменти за управление
- MySQL Работна маса
- Navicat
- Хайди SQL
Oтзиви от потребители (5)
Качеството на обучение и богат опит!
Edvin - Verizon Connect
Курс - MySQL Developer
Машинен превод
Беше внимателно съобразен с нашите нужди, много отзивчив към въпроси и ситуации на живо, даде ни много практика да повтаряме това, което учехме.
Colin - Drax
Курс - MySQL Administration
Машинен превод
Обучението беше подходящо. И в действителност, много ми беше подкрепително да се запиша за курса.
Grace Goh - DBS Bank Ltd
Курс - Python in Data Science
Машинен превод
Курсът беше изграден урок след урок, а темпото беше много важно за мен.
Bradford Moore - Regis College
Курс - SQL in MySQL
Машинен превод
**упражнение:** настройка на HAProxy за балансиране на натоварването на кластер Galera лекция: репликация базирана на сертификати
Kateryna Tokar - Clay Solutions
Курс - MariaDB Galera Cluster Administration
Машинен превод