Написать пост

Стоит прочитать: обзор книги Дмитрия Короткевича «Pro SQL Server Internals»

Аватар Типичный программист

В книге очень подробно и детально рассмотрены внутренности работы MS SQL Server.

Если вы являетесь администратором баз данных – DBA, интересуетесь этой ролью и работаете с СУБД MS SQL Server, то данную книгу можно назвать обязательной к прочтению. В ней очень подробно и детально рассмотрены внутренности работы SQL Server. При этом материал очень хорошо структурирован и изложен. Книгу не обязательно сразу читать от корки до корки, можно использовать её как справочник и изучать выборочно интересующие темы. Но всё же я советую читать её последовательно, т.к. встречаются отсылки на другие главы. На текущий момент актуальным является второе издание книги, вышедшее в 2016 году, в котором дополнительно рассмотрены изменения и новые возможности, появившиеся в SQL Server 2016.

Книга состоит из нескольких крупных блоков. В первой части автор рассматривает, как SQL Server работает с данными. Здесь вы найдёте объяснение внутреннего устройства таблиц в базе данных, обсуждения того, как и когда SQL Server использует индексы, а также получите рекомендации по их проектированию и обслуживанию.

Вторая часть содержит обзор различных T-SQL объектов, их слабые и сильные стороны. Кроме того, рассматриваются конкретные случаи, когда следует и не следует использовать те или иные объекты. Эта часть также включает блок, посвященный секционированию данных. Ещё одна глава посвящена работе с JSON, поддержка которого появилась начиная с версии SQL Server 2016.

В третьей части автор рассказывает о модели параллелизма в SQL Server. Здесь описаны основные причины различных проблем с блокировками в SQL Server и показано, как их выявлять и устранять. Подробно рассматриваются различные типы блокировок, их совместимость. Конечно, блокировки нельзя понять в отрыве от уровней изоляции транзакций. Поэтому в этой главе также рассматриваются доступные в SQL Server уровни изоляции транзакций: как пессимистичные, так и оптимистичные. И наконец, в этой части вы найдёте ряд рекомендаций о том, как разработать стратегии работы с транзакциями таким образом, чтобы улучшить параллелизм в системах.

Четвертая часть сосредоточена на жизненном цикле запроса в SQL Server. В ней обсуждается оптимизация и выполнение запросов в SQL Server. Также в ней объясняется, как SQL Server кеширует планы выполнения, и демонстрируются некоторые проблемы, связанные с кешированием планов, которые обычно встречаются в системах.

Пятая часть книги рассказывает о том, как на практике обнаружить и устранить неполадки и проблемы в работе SQL Server. Здесь даётся обзор модели выполнения SQL Server и объясняется, как можно быстро диагностировать состояние системы и определить первопричину проблемы. И наконец, рассмотрена новая интересная функция Query Store, появившаяся в SQL Server 2016, и то, как она облегчает процессы диагностики и устранения неполадок, а также оптимизации запросов.

В шестой части книги подробно объясняется, как SQL Server работает с транзакционным логом, и дается ряд рекомендаций по проектированию стратегий резервного копирования и высокой доступности в системах.

В седьмой главе автор поднимает тему columnstore индексов. Рассматривается, как они могут значительно повысить производительность в DWH системах.  В SQL Server 2016 было сделано довольно много улучшений в этой области, включая использование индексов columnstore в сценариях оперативной аналитики. Всё это также рассматривается в этой главе.

И наконец, в последней главе описана реализация In-Memory OLTP в SQL Server 2014 и 2016. Эта технология может значительно улучшить производительность обработки транзакций, а также оптимизировать сценарии с использованием временных данных за счёт того, что данные хранятся в памяти и устраняется медленное звено в виде дисковой подсистемы.

Книга освещает не только теорию, но и практику, содержит огромное количество примеров кода для каждой рассматриваемой темы. Из-за этого воспринимать и усваивать материал становится намного легче. Поэтому «Pro SQL Server Internals» Дмитрия Короткевича по праву может стать настольной книгой каждого DBA SQL Server.

Следите за новыми постами
Следите за новыми постами по любимым темам
2К открытий2К показов