Как устроен SQL-сервер? Установка и настройка Microsoft SQL Server

Как устроен SQL-сервер? Установка и настройка Microsoft SQL Server

Тирекс
Тирекс Самый зубастый автор
14 февраля 2024

Рассказываем, как устроены серверы баз данных и самые популярные СУБД на SQL. А также показываем, как настроить Microsoft SQL Server.

Изображение записи

Вспомнить все: главные термины

Перед началом установим основные определения, чтобы не путать понятия вроде БД и СУБД.

База данных (БД) — структурированный набор информации, обеспечивающий удобный доступ к данным и их обработку. В качестве примера можно привести хранилище CRM — базу данных, которую используют для управления взаимодействием с текущими и потенциальными клиентами. В CRM хранится различная информации о пользователях: контактные данные, история покупок, журналы общения и предпочтения.

Система управления базами данных (СУБД) — программный слой, организующий взаимодействие между пользователями, приложениями и самой БД. Этот же слой иногда называют SQL-сервером, если СУБД развернута на виртуальной или физической машине и обрабатывает не только локальные данные.

Один из примеров СУБД — Microsoft SQL Server. В веб-приложениях используют эту систему повсеместно — например, для хранения информации о пользователях, товарах и других данных. Среди популярных альтернативных решений также есть PostgreSQL и MySQL.

Преимущества СУБД на базе SQL

Архитектура клиент-сервер. При данной модели клиенты посылают запросы на сервер для получения или изменения данных. Подобная архитектура гарантирует высокую доступность и оптимизированную производительность.

Эффективность доступа к данным. БД SQL поддерживают свойства ACID, гарантирующие своевременные ответы приложений на запросы пользователей и обработку больших данных без «узких мест» в производительности.

Концепция ACID включает в себя три понятия.

  • Атомарность — свойство транзакции быть либо полностью завершенной, либо полностью прерванной.
  • Изоляция — свойство, которое гарантирует, что параллельные транзакции будут поддерживать согласованность и не допускать повреждения данных.
  • Долговечность — свойство, которое гарантирует, что после фиксации транзакции ее изменения сохраняться навсегда и не будут потеряны даже в случае системных сбоев.
Концепция ACID реализуются с помощью таких механизмов, как управление транзакциями, блокировка и протоколирование. Эти свойства делают СУБД SQL подходящими для транзакционных приложений, таких как банковское дело и электронная коммерция.

Безопасность данных и резервное копирование. Системы на базе SQL обеспечивают надежные средства защиты, включая аутентификацию и авторизацию пользователей. Регулярное бэкапирование гарантирует восстановление данных в случае потери или сбоев.

Простота эксплуатации и администрирования. SQL предлагает интуитивно понятные инструменты для создания, управления и обслуживания БД. Стандартизированный язык запросов облегчает операторам БД и сисадминам оперативные задачи: изменения схем и миграции данных.

Типы SQL-серверов, серверных СУБД

Есть разные СУБД на базе SQL, каждая со специфическими функциями и возможностями. Если вы планируете поднять SQL-сервер, то при выборе СУБД, которая будет лежать в его основе, нужно учесть особенности каждого из вариантов.

Microsoft SQL Server (MS SQL Server) — комплексная СУБД от Microsoft. Она бесшовно интегрируется с Windows и позволяет удаленно работать из любой точки мира. Кроме того, MS SQL Server поддерживает SQL Server Management Studio (SSMS) — инструмент, который позволяет в графическом интерфейсе управлять БД. А вшитые инструменты ML позволяют создавать и развертывать модели прямо в среде БД, что упрощает предиктивную аналитику.

IBM DB2 — семейство продуктов для управления данными, разработанное корпорацией IBM. Эффективно работает с неструктурированной информацией, что позволяет использовать эту СУБД для полуструктурированных и нереляционных типов данных, таких как XML и JSON.

Кроме того, DB2 поддерживает работу с геопространственной информацией. А опции управления данными временных рядов делают СУБД подходящей для приложений, обрабатывающих финансовые транзакции или показания датчиков IoT.

MySQL — СУБД с открытым исходным кодом, наиболее популярное решение в сообществе разработчиков. Подходит для сценариев, в которых простота и экономичность имеют первостепенное значение.

PostgreSQL — СУБД с открытым исходным кодом для «сложного» управления данными. Поддерживает функцию управления параллельными транзакциями — это особенно актуально для приложений, которые работают с большими потоками трафика.

Кроме того, PostgreSQL поддерживает несколько версий каждой записи в БД. Это позволяет эффективно обрабатывать одновременный доступ для пользователей — без ущерба для целостности данных.

Преимущества MS SQL Server

С MS SQL Server могут одновременно работать нескольких пользователей, а ядро системы подходит для приложений с высокой интенсивностью процессов. Расширенные функции резервного копирования обеспечивают защиту критически важных данных.

MS SQL Server обладает рядом мощных инструментов, например SSMS для администрирования с удобным интерфейсом или ML- и BI-инструменты, позволяющие удобно анализировать данные. Также сервер MS SQL выделяется своей производительностью, отказоустойчивостью и системой автоматических обновлений.

Отличия MySQL и MS SQL Server

Что выбрать: простоту MySQL в веб-разработке или возможности MS SQL в корпоративных приложениях? Серебряной пули нет — выбор зависит от вашей инфраструктуры, а также масштаба и сложности проекта.

Сторона MySQL

MySQL поддерживает разные механизмы хранения данных, в том числе для приложений с интенсивным чтением. СУБД с открытым исходным кодом гарантирует хорошую производительность при выполнении простых и умеренно сложных запросов. Она хорошо оптимизирована для веб-приложений и небольших БД.

Разрабатывает и поддерживает MySQL компания Oracle. Кроссплатформенная совместимость СУБД позволяет развертывать системы на различных ОС. Кроме того, MySQL поддерживает горизонтальное масштабирование, что позволяет использовать ее для распределенных архитектур.

Сторона MS SQL Server

MS SQL предоставляет расширенные возможности аналитики, хранения данных и средств бизнес-анализа. СУБД безотказно работает в сценариях со сложными запросами и транзакциями, поскольку разработана для крупномасштабных корпоративных приложений с большими транзакционными нагрузками.

MS SQL обеспечивает высокую производительность при операциях чтения и записи, также подходит для приложений, требующих значительных ресурсов на одном сервере. Бесшовная интеграция с приложениями .NET и другими инструментами Microsoft делает эту СУБД популярной среди организаций, работающих в экосистеме корпорации Билла Гейтса.

Установка MS SQL Server

Рассмотрим основные шаги установки Microsoft SQL Server.

1. Убедитесь, что целевая система соответствует указанным требованиям версии MS SQL Server. Проверьте аппаратные характеристики, совместимость с ОС и версию .NET Framework. На сайте выберите подходящий загрузчик и установите его.

Виды загрузчиков на сайте Microsoft.

2. Диалоговое окно предлагает несколько вариантов установки — выбор зависит от существующей инфраструктуры и предполагаемого сценария использования. Подробнее о каждом из них можно прочитать в официальной документации.

3. Далее необходимо выбрать модель безопасности: аутентификацию Windows или смешанный режим. Первая модель полагается на ОС Microsoft: пользователи проходят проверку подлинности, используя свои учетные данные Windows, а для подключения к экземпляру SQL Server не нужно указывать отдельное имя пользователя и пароль.

В смешанном режиме пользователи подключаются с помощью имени пользователя и пароля, хранящихся в системе SQL Server. Смешанная аутентификация полезна при подключении из систем, отличных от Windows, или когда требуется вход независимо от учетных данных ОС Microsoft.

Установка MS SQL Server, Database Engine Configuration.
Установка MS SQL Server, Database Engine Configuration.

4. Пользователи могут настроить установку в соответствии с конкретными требованиями: указать каталоги установки, настроить имена экземпляров и функции сервера. Конфигурирование гарантирует, что развертывание SQL Server будет точно соответствовать потребностям организации.

Установка MS SQL Server, Instance Configuration.
Установка MS SQL Server, Instance Configuration.

5. После успешной установки пользователь получает сводный отчет, позволяющий просмотреть компоненты и конфигурации.

Настройка и работа с MS SQL Server

Далее для работы с MS SQL Server будем использовать графический интерфейс SSMS. О том, как его установить, можно узнать по ссылке.

Создание базы данных

1. Откройте SSMS и подключитесь к экземпляру SQL Server.

2. Выберите узел Базы данных в проводнике объектов и создайте новую БД.

3. Следуйте указаниям мастера, чтобы задать имя БД, файловые группы и другие свойства.

Создание базы данных.
Создание базы данных.
Первичная настройка новой базы данных.
Первичная настройка новой базы данных.

Создание таблиц

1. Перейдите к только что созданной БД и выберите пункт Новая таблица.

2. Определите столбцы таблицы, типы данных и ограничения, используя графический интерфейс.

Определение столбцов таблицы.
Определение столбцов таблицы.

Встраивание строк в таблицу

1. Перейдите к целевой таблице и выберите пункт Редактировать 200 верхних строк, чтобы открыть сетку ввода данных.

2. Вставьте данные в сетку и сохраните изменения.

Другие запросы к базе данных

Для работы с базами данных необязательно использовать только графический интерфейс SSMS. Вы можете писать запросы на диалекте SQL — T-SQL. Для этого нужно кликнуть по кнопке Создать запрос на панели инструментов и ввести нужно инструкцию. Например, для создания базы данных достаточно написать такую команду:


    create database nameDB

В целом, T-SQL поддерживает основные конструкции из языка SQL. Но если будут возникать трудности, можно обратиться к документации. Единственное, что важно запомнить: при работе с запросами в MS SQL важно помнить про параметр MAXDOP.

Что такое MAXDOP

Maximum Degree of Parallelism (MAXDOP) — параметр, который определяет максимальное количество процессоров, которые SQL Server может задействовать для параллельного выполнения одного запроса или операции. 

Этот параметр регулирует степень, в которой оптимизатор запросов сервера SQL распараллеливает выполнение запроса. По умолчанию MS SQL Server динамически регулирует степень параллелизма в зависимости от характеристик системы и рабочей нагрузки.

Оптимизация параллельного выполнения запросов важна для достижения сбалансированной производительности системы и эффективного использования ресурсов. Контроль степени параллелизма гарантирует, что система не будет выделять чрезмерные ресурсы для параллельных операций.

Заключение

Microsoft SQL Server — один из самых популярных, производительных и простых в использовании типов СУБД. Знание этого инструмента — ценный актив на рынке трудоустройства и IT в целом.