SQL Server Дайджест #9: SQLSaturday Kyiv, механизмы защиты данных в БД, инструменты для параллельного запуска запросов
Здравствуйте, друзья! Давно не писал, и материала накопилось овермного:)
В этом выпуске: PPDT for SQL Server 2016, Пол Рендалл на встрече UDCK и другие весенние мероприятия в Украине и ближнем зарубежье. Разбор почему Task Manager не показывает память, которую скушал SQL Server, изменения в рекомендациях Майкрософт относительно установки Cumulative Updates, зачётная книга по R, новая информация по Query Store и много других полезных и интересных вещей.
Конференции и Встречи Сообщества
SQLSaturday Kyiv: главное событие 2016 года в SQL сообществе Украины! 5 параллельных треков докладов, классные спикеры, сильные технические доклады и как всегда непринуждённая атмосфера конференции ждёт вас 21 мая. Многие из вас были на SQLSaturday в прошлые годы и знают, как это было классно. Если вы ещё не были и хотите получить представление, как это было, перед тем, как регистрироваться, можете посмотреть фото предыдущих мероприятий: SQLSaturday Kiev 2015, SQLSaturday Kiev 2014, SQLSaturday Kyiv 2013. Что новенького ждёт вас в этом году? Помещение, способное принять более 500 участников. Большое количество иностранных специалистов: лучшие специалисты из более чем 10 стран мира приезжают в роли докладчиков! Среди тех, кто уже подтвердил своё участие: Деян Сарка, Эрланд Соммарског, Александр Каленик, Уве Рикен, Тобиаш Копровски, Михаил Матеев, Марчин Шелига и многие другие. При всём при том, что SQL Server остаётся центральной темой конференции, в этом году будет представлено много альтернативных докладов: Machine Learning, R, PostgreSQL, NoSQL, Big Data и другие. Как всегда, участие в конференции бесплатно. Пора регистрироваться! Ведь количество мест ограничено.
24 Hours of PASS Russian Edition:16-17 марта пройдёт ежегодная онлайн конференция 24 hours of PASS. На ней вас традиционно ждёт 24 часа (разбито на 2 дня по 12) докладов по SQL Server на русском языке. Как всегда, будет очень интересно и познавательно. Сюда тоже пора регистрироваться:)
Premier Power Data Day for SQL 2016: март будет очень богат на события:) 18 марта пройдет конференция, посвящённая SQL Server 2016. Докладчики — Александр Каленик и его команда Premier Field инженеров. Не маркетинг, а глубокие технические доклады, посвящённые разным компонентам SQL Server. По ссылке можно ознакомиться с программой конференции, местом проведения и зарегистрироваться. Сам иду и вам советую. Увидимся!
SQL Day:
Мартовская Встреча Ukrainian Data Community Kyiv: 19 марта в Киеве пройдёт очередная встреча сообщества. Тема встречи — Microsoft Analytics Platform System c точки зрения применения технологии конечным клиентом и решаемых задач. Деталей самого доклада у меня пока нет, но надеюсь, что в технических деталях мы опустимся вплоть до изучения распределённого плана запроса:) Следите за анонсами на странице встречи. Детали и форма регистрации будут добавлены в течение недели.
Вторая Мартовская Встреча Ukrainian Data Community Kyiv: 29 марта. Пол Рэндалл выступит онлайн на встрече сообщества — этого уже достаточно, чтобы прийти, но добавлю немного деталей: доклад будет по Фрагментации индексов. И это будет очень интересно:) Следите за анонсами на странице встречи. Детали и форма регистрации будут добавлены в течение недели.
Мартовская встреча Dnepr SQL Server User Group: пройдет во второй половине марта. Даты и детали встречи скоро будут анонсированы, следите за анонсами в группе.
Мартовская встреча Vinnitsa Data Platform User Group: пройдёт 19 марта, и на ней точно будет один крутой доклад по PostgreSQL. Детали и анонс встречи вскоре будет анонсирован в группе.
Первая встреча Uzhgorod SQL Server User Group: 2 апреля состоится открытие и первая встреча SQL Server юзер-группы в Ужгороде. Билеты брать не спешите, следите за анонсами в группе. Как только появится анонс встречи, можно покупать билеты:) Я еду.
SQL Server 2016
SQL Server 2016 CTP 3.3: последний на сегодняшний день СTP, который содержит много улучшений существующих фич: Stretch Databases, In-Memory OLTP, изменение алгоритма запуска пересчёта статистики (детали пока не видел), улучшения SSAS и MDS, новый веб-портал для SSRS. И, похоже, этот CTP может стать последней ступенью перед Release Candidate.
Use Dynamic Data Masking to obfuscate your sensitive data: описание механизма Dynamic Data Masking, и как с помощью него защитить данные в базе.
Limiting access to data using Row-Level Security: ещё один механизм защиты данных в SQL Server 2016 — Row-Level Security — объясняется в блоге команды разработки.
Effortlessly Analyze Data History Using Temporal Tables: объяснение того, зачем нужны Temporal Tables, в блоге команды разработки SQL Server.
JSON in SQL Server 2016: Part 1 of 4: серия из четырёх постов о том, какие механизмы по работе с джейсончиком предоставляет SQL Server 2016.
Инструменты
SQLQueryStress: The Source Code: Адам Маканик выложил исходники своей тулы для запуска параллельных запросов к сиквелу. Энтузиасты уже залили её на GitHub. Есть, конечно, альтернатива — утилита командной строки ostress, но при определённой активности сообщества SqlQueryStress может стать более функциональной. Присодиняйтесь и контрибьютьте!
Книги
SQL Select: Eight Great (and Free) SQL Server eBooks: просто 8 бесплатных электронных книг по SQL Server. Листаем дальше:)
Using R for Introductory Statistics, Second Edition (Chapman & Hall/CRC The R Series) 2nd Edition: про эту книжку в своём блоге недавно написал Грант Фритчи. Да так её описал, что я уже захотел купить. Я себе заказываю, и если вы начинаете изучать R, то и вам советую.
Полезное чтиво
Stop using Task Manager to check SQL’s memory usage! Прекрасное название и хороший разбор того, почему Task Manager может показывать использование памяти совсем не такое, какое использует SQL Server по факту.
Cursor Statistics Are Missing in dm_exec_query_stats: «Когда кто-то пишет курсор, где-то далеко, в страшных муках умирает маленький котёнок» © Алексей Ковалёв. Что да, то да, курсоры в сиквеле — это практически чистое зло. И ещё один злостный момент, связанный с ними, — dm_exec_query_stats не трекает запрос курсора. Подробнее в статье.
How to pollute your Plan Cache with parameterized SQL statements: отличный пост о том, как забить кеш планов запроса парамеризованными(!) запросами из кода (Entity Framework). Может, у вас в коде такой проблемы и нет, но провериться стоит:)
SQL Server 2016 CTP3 In-Memory OLTP Internals Whitepaper: просто Whitepaper от Kalen Delaney о In-Memory OLTP в последнем CTP SQL Server 2016.
The SQL Server 2016 Query Store: Accessing Query Store Information Using DMVs: краткий мануал на тему того, какую информацию можно получить из Query Store и какие динамические представления дают эту информацию.
SQL GROUP BY Basics: статья ветерана и одного из наиболее авторитетных специалистов в области SQL — Joe Celko о.. группировках! Казалось бы, теме сто лет в обед, и все мы это используем (конечно, в статье больше, чем мы обычно используем + небольшой экскурс в историю создания SQL), но интересно. Прочитал статью с удовольствием.
On the addition of useless where clauses и And other pointless query rewrites: две отличные заметки Gail Shaw о том, что не каждая оптимизация является таковой. Оптимизация — это когда запрос выполняется быстрее, требует меньше ресурсов и т.д. Изменение формы запроса и плана запроса не всегда есть оптимизацией. Все изменения надо проверять. Собственно, об этом и заметки.
Does an index scan always read the entire index? Ещё одна заметка Gail Shaw, которую нельзя не включить в дайджест. Очень просто и доступно объясняется принцип операции Index Scan и того, сколько данных она читает.
Soften the RBAR impact with Native Compiled UDFs in SQL Server 2016: а вот это очень круто — ускорение скалярных функций за счёт механизма Native Compile. Но не подумайте, что от этого они перестали быть злом, просто теперь они «Sucks Less» ©, то бишь стали быстрее до двух раз в некоторых сценариях.
Logical Query Processing: The FROM Clause and Joins: ещё один автор, которого всегда приятно читать — Ицик Бен Ган. И тема, про которую он любит рассказывать — логическое представление и процессинг запроса. В общем, рекомендую к прочтению.
Changing to simple recovery to clear the log: периодически сталкиваюсь с подобным кодом в разных контекстах. Важно понимать, к чему ведёт переключение моделей восстановления базы данных и как это правильно делать. Кто это делает на регулярной основе и уже сомневается, что всё делает правильно, тому обязательно нужно прочесть статью.
Start SQL Server without tempdb: редчайший кейс, но всё же. Пост о том, как запустить сервер без tempdb. Это просто, но в критической ситуации гуглить может быть слишком долго. Лучше знать сразу.
Data Mining Algorithms — Neural Network: простое описание от Деяна Сарки того, что такое нейронная сеть. Data Science и Machine Learning становятся всё ближе к SQL Server, пора приобщаться к этим знаниям и вспоминать, что рассказывали нам в институте.
We are now recommended to install cumulative updates: вот это очень интересно. Всегда был ярым сторонником того, что нельзя ставить Cumulative Update без нужды, а SP ставить нужно. Аргументация такая: SP тестируется по полной, CU — срочная заплатка на какие-то насущные далеко не для всех клиентов проблемы. Из чего собственно вытекало, что CU не такие стабильные, как SP. Теперь это, похоже, меняется, Сumulative Update становится таким же стабильным, как и Service Pack, соответственное его тоже безопасно ставить, и Майкрософт рекомендует это делать.
Stack Overflow: The Architecture — 2016 Edition: Stack Overflow — наверное, самый высоконагруженный проект, который работает на SQL Server. И всегда интересно почитать про архитектуру такого сервиса и как они справляются с сумасшедшей нагрузкой.
Query Plan on a Busy Server: насколько я знаю, это первый пост в сети, который показывает, что генерация плана запроса зависит от доступных серверу ресурсов. Я тоже чувствовал, что влияние должно быть:) Но теперь знаю наверняка. И вы узнаете, если прочтёте этот пост Дмитрия Пилюгина.
Видео
SQLCAT @PASS Summit 2015: представители команда SQL Customer Advisory Team в этом году читали 6 докладов на PASS Summit. И все эти 6 докладов сейчас выложены с общий доступ. Welcome:)
SqlSentry.tv: не помню, публиковал или нет ещё этот ресурс, но похоже здесь можно посмотреть качественные видео по SQL Server.
Coursera: Machine Learning (Stanford University): Machine Learning горячая тема сейчас, и, даже если у вас сейчас нет рабочих задач, связанных с этой тематикой, курс будет полезным как для общего развития, так и для возможностей в будущем. Курс большой — 11 недель, поэтому придётся запастись терпением чтобы пройти. Но он того стоит. Рекомендую:)
← Предыдущий выпуск: SQL Server дайджест #8