О Н Л А Й Н - О Б РА З О ВА Н И Е
Базы данных
Какие они бывают?
Меня хорошо слышно
&& видно?
Напишите в чат, если есть проблемы!
Ставьте + если все хорошо
Ставьте - если есть проблемы
Цель вебинара
• Посмотреть что нового и неизведанного в SQL Server
• Экзамен по SQL Server Quering
• Настраиваем среду
Маршрут вебинара
О БД вообще и SQL
Выводы
Server в частности
Экзамен
Что нового? Настраиваем среду
Какие БД бывают и зачем они используются?
Какие БД бывают и зачем они используются?
• Иерархические
• Сетевые
• Реляционные
• Объектно-ориентированные
• NoSQL
• Графовые
• In-Memory
• Колоночные
Иерархические СУБД
• IMS создана для «лунной» программы, чтобы посчитать сколько и куда уходят
деньги
• 1966 год
• До сих пор используется 0,04% рынка СУБД
• Порядка 90% компания из top Fortune
• IMS обрабатывает порядка 50 миллиардов транзакций в день
Реляционные СУБД
Захватили рынок с 1970 и по сегодняшние дни...
Что не устроило в реляционных СУБД?
• Скорость
• Невозможность автоматического разделение
(масштабируемость)
• Сложность
• ...
• Скорость
CAP теорема
Availability
Доступность
Каждый пользователь всегда
может писать и читать
Только 2 одновременно
C P
Consistency Partition Tolerance
Согласованность Устойчивость к разделению
Каждый пользователь всегда системы
может писать и читать Каждый пользователь всегда
может писать и читать
CAP теорема
Исходно SQL Server
• Реляционная СУБД
• Блокировочник
SQL Server в облаках
А что внутри MS SQL
Server?
Компоненты SQL Server
• Пользователи и роли
• Пользовательские таблицы, индексы, статистики
• Представления
• Хранимые процедуры и функции
• Синонимы
• JOBы
• Linked Server
• Очереди
• Репликация\Always On
Что внутри SQL Server?
Из SQL Server Internals
Термины и сокращения
OLTP – On-Line Transaction Processing – характер нагрузки на систему, с большим
количеством коротких транзакций, обычно на внесение данных в систему,
например, платежи от клиентов.
OLAP – On-Line Analytical Processing – характер нагрузки, с длинными
ресурсоемкими транзакциями, много долгих больших запросов на чтение, редкие на
запись\изменение данных, пример, хранилища данных, отчетные системы.
MVCC – MultiVersion Concurrency Control – принцип устранения конфликтов между
разными транзакциями через создания различных версий одних и тех же данных
(оптимистичный сценарий разрешения блокировок) [Link]
Tempdb – (temporary db) - системная БД в SQL Server, которая используется для
хранения временных таблиц, табличных переменных, курсоров, иногда работы с
hash join, промежуточные результаты сортировки
CAP – Consistency Availability Partition tolerance – CAP теорема говорит о том, что
нельзя совместить все 3 свойства в одной системе
Книги, о которых говорили (ссылки есть в материалах):
Основы T-SQL Ицик Бен-Ган
Домашка
1. Установите программы SQL Server 2016\2017
2. Разверните у себя бэкап базы WideWorldImporters
3. Поставьте SQL Sentry Plan Explorer
4. Сделайте проект для курса на github
5. Найдите, какую СУБД использует любимый вами проект
Рефлексия
О чем мы говорили сегодня?
• Какие бывают базы данных?
• Где какой тип лучше использовать?
• CAP?
• Облака
Спасибо
за внимание!
До встречи в Slack и на вебинаре