Начинаем занятия по MS SQL Server! Первые шаги: где скачать, как установить, как создать первую базу данных и первую таблицу.
Поддержи развитие канала! money.yandex.ru/to/410013905743578
Qiwi Wallet 79534684569
Лекция читается в рамках образовательного проекта «Технопарк Mail.ru Group» при МГТУ им.Баумана.
Описание лекции:
Лекция посвящена СУБД MySQL и ее сравнению с PostgreSQL.
Рассматриваются следующие темы:
— Архитектура MySQL
— Подсистемы хранения MySQL
— Репликация в MySQL
— Настройка MySQL
— Проблемы MySQL
— Достоинства MySQL
Хронометраж:
00:00:05 О теме лекции
00:01:09 Архитектура MySQL
00:02:08 Архитектура MySQL: хранилища объектов
00:04:22 Подсистемы хранения: MyISAM
00:06:52 Подсистемы хранения: InnoDB
00:08:30 Подсистемы хранения: Memory
00:09:53 Подсистемы хранения: критерии выбора
00:11:51 Подсистемы хранения: надежность
00:12:05 Другие подсистемы хранения
00:12:57 Подсистемы хранения: когда какую использовать / практические примеры
00:14:42 Проблемы MySQL: не транзакционный DDL
00:16:27 Проблемы MySQL: дорогой ALTER TABLE
00:20:00 Проблемы MySQL: особенности выборки данных
00:23:02 Проблемы MySQL: хранилище и лог транзакций существуют за пределами «движка»
СУБД
00:24:55 Репликация в MySQL: режимы репликации / проблемы репликации в MySQL
00:31:16 Репликация в MySQL: другие особенности
00:33:30 Репликация в MySQL: хрупкая репликация (пример проблемного запроса)
00:35:56 Ответы на вопросы по хранилищам MySQL
00:39:00 Архитектура MySQL: особенности планировщика запросов
00:41:19 Планировщик запросов: гарантированно плохие запросы
00:43:57 Проблемы MySQL: отличие между равенством и конструкцией IN в запросе выборки
00:47:08 Планировщик запросов: DELETE (стандартный / специфичный синтаксисы)
00:49:58 Проблемы MySQL: AUTO_INCREMENT
00:54:09 Проблемы MySQL: TIMESTAMP vs DATETIME
01:00:20 Проблемы MySQL: операция UPDATE не соответствует стандарту SQL92
01:01:33 Проблемы MySQL: lower_case_table_names
01:05:13 Как я познакомился с MySQL
01:08:53 Достоинства MySQL: секционирование
01:11:10 Достоинства MySQL: COLLATIONS
01:17:18 Достоинства MySQL: LIBSLAVE
01:18:52 Настройка MySQL: базовые параметры / кэш MyISAM
01:20:21 Настройка MySQL: размер блока ключей key_cache_block_size
01:21:26 Настройка MySQL: кэш InnoDB
01:27:58 Настройка MySQL: ввод / вывод в MyISAM
01:29:38 Настройка MySQL: ввод / вывод в InnoDB
01:33:33 Критерии выбора СУБД и проблемы миграции
01:36:26 Проблемы MySQL: необычайно долгий дамп
01:37:01 Ответы на вопросы по пройденному материалу: проблемы миграции
01:41:59 Причины миграции с MySQL на PostgreSQL: пример из практики
01:46:33 Проблемы MySQL: MYSQLDUMP
01:51:32 Проблемы MySQL: нелогичное выполнение некоторых запросов — WARNING vs ERROR
02:03:30 Проблемы MySQL: нелогичное выполнение некоторых запросов — TIMESTAMP
02:09:41 Проблемы MySQL: нелогичное выполнение некоторых запросов — GROUP BY
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
Я хочу немного порушить стереотипы, что Postgres — это чисто реляционная СУБД из прошлого века, плохо приспособленная под реалии современных проектов. Недавно мы прогнали YCSB для последних версий Postgres и Mongodb и увидели их плюсы и минусы на разных типах нагрузки, о которых я буду рассказывать.
…
Второе видео из серии о нормализации отношений баз данных. На примере понятно и доступно рассказывается о том, как спроектировать таблицу базы данных, чтобы она соответствовала условиям второй нормальной форме.
Очевидно, что обновлять технологический стек в проекте с долгой историей — это как перебирать двигатель самолета на лету. Подобная ситуация и у нас в Авито. В докладе я расскажу как итеративно, поступательно мы меняем фронтенд в Авито, внедрили серверный рендеринг, менеджмент зависимостей микрофронтендов, а так же какие грабли встретили и какие выводы из всего этого сделали.
Этот доклад для разработчиков middle и senior уровня, работающих с большой централизованной кодовой базой (и желающих эту кодовую базу распилить).
Большинство backend программ начинает свое сетевое общение с REST. По мере развития разработчику приходится отвечать на мелкие, но важные вопросы: как передавать дату и время, большие объемы данных, обеспечивать авторизацию и так далее.
Сетевые коммуникации в современном бэкенде — это множество конкурирующих протоколов, стандартов и подходов. У нас есть «REST», который каждый разработчик реализует по-своему, есть пересекающиеся JSON Schema и Open API, есть JSON API, GraphQL, gRPC, из-за угла выглядывает RAML.
В докладе Григорий рассказывает про современные подходы коммуникаций backend друг с другом и фронтендом, с какими сложностями мы боремся и что хорошего есть в нашем арсенале решений.
Краткий обзор. Какие проблемы решает, а какие создает? Что выбрать, реализацию через наследование или декларативный подход? Рассмотрим возможности СУБД в этих направлениях, историю развития и тенденции. Разберем более подробно декларативный подход и реализацию секционирования в своем проекте.
Спойлер: 100 500 строк кода остается между документацией и внедрением в проекте.
Чтобы делать хороший код-ревью мало просто смотреть на код и писать свое мнение о нем
Необходимо определиться с целью: зачем мы вообще ревьим код? Каждый вкладывает в процесс что-то свое: от обучения до дизайн-ревью
Нужно подготовить кучу всего: размер кода, размер задачи и ее постановку, описание проблемы и ее решения
Затем очистить код от примесей и ошибок, которые не должен проверять человек: от архитектурных до пропущенных пробелов
Проверить оформление и следование регламенту: конечно, автоматически
Правильно выбрать ревьюера: конечно, автоматически
Затем совершить сам акт общения и ревью: по делу, жестко, но без агрессии