НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ «МОСКОВСКИЙ ЭНЕРГЕТИЧЕСКИЙ ИНСТИТУТ» Реферат на тему: Задачи и средства администрирования в СУБД Microsoft SQL Server. Выполнил студент группы А-13-08 кафедры Прикладной Математики Захаров Антон Преподаватель Сидорова Наталья Петровна
Москва, 2011 г.
Введение . | 2 |
Администратор базы данных . | 3 |
Основные типы администраторов баз данных . | 4 |
Задачи администрирования баз данных . | 5 |
Средства администрирования SQL Server . | 8 |
Management Studio . | 8 |
Business Intelligence Development Studio . | 9 |
Configuration Manager . | 10 |
Reporting Services . | 11 |
Dedicated Administrator Connection . | 12 |
Surface Area Configuration . | 13 |
Profiler . | 13 |
Прочие утилиты SQL Server . | 15 |
Заключение . | 17 |
Список литературы . | 18 |
1
SQL Server Management Studio Intro
Современные базы данных – это сложные многофункциональные программные системы, работающие в открытой распределѐнной среде. Они уже сегодня доступны для использования в деловой сфере и выступают не просто в качестве технических и научных решений, но как завершѐнные продукты, предоставляющие разработчикам мощные средства управления данными и богатый инструментарий для создания прикладных программ и систем.
С появлением и развитие современных СУБД вопросу администрирования баз данных уделяется всѐ большее внимание. В данной работе постараемся ответить на следующие вопросы: что представляет собой администрирование базы данных, в чем заключаются его основные функции и задачи. Кроме того, опишем основные средства администрирования баз данных в СУБД Microsoft SQL Server и Oracle. В заключение, постараемся сравнить возможности администрирования этих систем. 2
Администратор базы данных.
Функционирование базы данных невозможно без участия специалистов, обеспечивающих создание, функционирование и развитие базы данных. Такие специалисты называется администраторами базы данных . Нельзя рассматривать администратора баз данных только как квалифицированного технического специалиста, так как это не соответствует целям администрирования.
Очень тесная связь у администратора на всех этапах жизненного цикла базы данных наблюдается с конечными пользователями. Это взаимодействие начинается на начальных стадиях проектирования системы, когда изучаются потребности пользователей, уточняются особенности предметной области, и постоянно поддерживается как на протяжении процесса проектирования, так и функционирования системы. В определѐнном смысле администраторов можно считается составной частью базы данных. В зависимости от сложности и объѐма банка данных, от особенностей используемой СУБД, служба администрации базы данных может различаться по составу и квалификации специалистов. 3
How to install SQL server setup with SSMS software || #data #database #sqlserver #sql
Основные типы администраторов баз данных. Системный администратор отвечает за резервирование и восстановление данных, осуществляет контроль производительности системы, поиск и устранение неисправностей. Как правило, данный специалист в курсе текущего состояния, а также нынешних и будущих потребностей базы данных в плане ѐмкости.
Архитектор баз данных занимается разработкой, построением и оптимизацией конфигурации баз данных, разработкой интерфейсов взаимодействия базы данных с различными приложениями. Также может отвечать за разработку документации.
Аналитик баз данных занимается проведением исследований, составлением прогнозов, анализом результативности использования базы данных и поиском путей еѐ повышения. В отдельных случаях может заниматься сбором и обработкой информации, загрузкой данных в базу. Администратор хранилища данных осуществляет контроль корректности расчѐтов, производящихся в хранилище данных, предоставление доступа к хранилищу, ведение работы по сохранению истории запросов, консультирование сотрудников по вопросам логики работы хранилища данных. Другие типы администраторов баз данных: программист баз данных, разработчик моделей данных, администратор web-узла, проблемно- ориентированный администратор базы данных, аналитик производительности. 4
Задачи администрирования баз данных.
Перечислим основные задачи администрирования баз данных: Анализ предметно й област и включает описание предметной области, определение статуса информации, определение потребностей пользователей и объѐмно- временных характеристик обработки данных. Проектирование структуры базы данных заключается в определении состава и структуры информационных единиц, составляющих базу данных, задании связей между ними, выборе методов упорядочения данных и методов доступа к информации, а так же описании структуры базы данных. З а дание ограничений целостности : определение ограничений целостности, вызванных особенностями предметной области и структурой базы данных, разработка процедур обеспечения целостности базы данных при вводе и корректировке данных, обеспечение ограничений целостности при параллельной работе пользователей в многопользовательском режиме. Первоначальна я загрузка и ведени е базы данных : разработка технологии первоначальной загрузки и ведения (изменения, добавления, удаления записей) базы данных, проектирование форм ввода, создание программных модулей, подготовка исходных данных, ввод и контроль ввода. З а щита данных от несанкционированного доступа : обеспечение парольного входа в систему (регистрация пользователей, назначение и изменение паролей); обеспечение защиты конкретных данных (определение прав доступа групп пользователей и отдельных пользователей, определение допустимых операций над данными для отдельных пользователей, выбор/создание 5
программно-технологических средств защиты данных; шифрование информации с целью защиты данных от несанкционированного использования); тестирование средств защиты данных; фиксация попыток несанкционированного доступа к информации; исследование возникающих случаев нарушения защиты данных и проведение мероприятий по их предотвращению. З а щита баз от потери данных.
Одним из способов защиты от потери данных является резервирование. Используется как при физической порче файла, так и в случае, если в БД внесены нежелательные необратимые изменения. Обеспечение восстановления базы данных заключается в разработке программно- технологических средств восстановления базы данных, организации ведения системных журналов.
Анализ обращений по л ьзователей к базе д а нных : сбор статистики обращений пользователей к базе данных, еѐ хранение и анализ. Анализ эффективности функционирования базы данных и развитие системы : анализ показателей функционирования системы (время обработки, объем памяти, стоимостные показатели), реорганизация и реструктуризация баз данных, изменение состава баз данных, развитие программных и технических средств. Работа с пользователям и : сбор информации об изменениях в предметной области, об оценке пользователями работы базы данных, определение регламента работы пользователей с базой данных, обучение и консультирование пользователей. Подготовка и поддержание системны х программных средст в : сбор и анализ информации о СУБД и других прикладных программ, приобретение программных 6
средств, их установка, проверка работоспособности, поддержание системных библиотек, развитие программных средств. Организационн о -методическа я работа : выбор или создание методики проектирования базы данных, определение целей и направлений развития системы, планирование этапов развития базы данных, разработка и выпуск организационно-методических материалов. 7
Средства администрирования Microsoft SQL Server
Средства администрирования включены в состав всех СУБД. Особенно развиты эти средства в корпоративных СУБД. В данном разделе подробно рассмотрим основные средства администрирования Microsoft SQL Server 2008. Большинство этих средств доступно и в более ранних версиях SQL Server. Management Studio.
Программы Microsoft SQL Server 2008 SQL Server Management Studio SQL Server Management Studio – это главный рабочий инструмент администратора в SQL Server. В основу SQL Server Management Studio легла среда разработки Visual Studio, что хорошо видно по структуре его окон.
В первых бета-версиях SQL Server 2005 вместо SQL Server Management Studio использовалось название «SQL Workbench», что осталось в названии исполняемого файла (sqlwb.exe) и в некоторых служебных сообщениях. Рассмотрим ещѐ несколько моментов, связанных с применением Management Studio. Любому администратору и разработчику приходилось писать сотни скриптов SQL.
В SQL Server Management Studio появились новые возможности в этой области. Первое, о чем необходимо сказать, – что часто совершенно нет необходимости создавать скрипт с нуля. Можно сэкономить время, если воспользоваться средствами автоматической генерации кода скриптов. Template Explore r Первая возможность – воспользоваться готовыми шаблонами (встроенными или добавленными вами) при помощи Template Explorer. Во 8
встроенной библиотеке шаблонов предусмотрены запросы для самых разных ситуаций. Автоматическа я генерация запросо в Второй вариант – воспользоваться средствами автоматической генерации скриптов из Object Explorer.
Например, для таблицы можно сгенерировать скрипты на еѐ создание (для создания похожей таблицы), удаление, выборку данных (будут перечислены все столбцы таблицы), добавление новых данных, изменение существующих записей и удаление старых. Если столбцов в таблице много и вы не помните наизусть все их имена, такой подход может сэкономить много времени.
Query Designer Третий вариант – воспользоваться графическим построителем запросов Query Designer в SQL Server Management Studio. Это средство особенно удобно в тех ситуациях, когда вам нужно создать большой запрос, со множеством соединений, условий и сортировок. С его помощью можно создавать очень сложные запросы, вообще не имея никакого представления о синтаксисе языка Transact-SQL. Business Intelligence Development Studio.
Программы Microsoft SQL Server 2008 SQL Server Business Intelligence Development Studio Business Intelligence Development Studio – это второе важнейшее графическое средство для работы с SQL Server. Business Intelligence дословно переводится как «бизнес-разведка», и, вообще говоря, этот термин традиционно относится к технологии Data Mining – добычи данных. Business Intelligence Development Studio, как и SQL Server Management Studio, объединяет в себе возможности сразу нескольких программных средств, 9
Источник: studfile.net
Часть 2. Инструменты для Microsoft SQL Server и MSDE
В первой части данной статьи (см. № 3’2005) мы рассмотрели некоторые популярные инструменты, предназначенные для самых разных манипуляций с базами данных Oracle, которые выполняются при создании части серверного кода, внесении незначительных изменений в структуру данных с целью исправления недочетов проектирования, заполнении данными части таблиц (например, справочников, а также при выполнении ряда других операций. Сегодня мы расскажем о подобных инструментах для Microsoft SQL Server и MSDE.
Инструменты для авторов решений на основе Microsoft SQL Server и MSDE
тилита администрирования SQL Server Enterprise Manager, входящая в состав Microsoft SQL Server, достаточно удобна в применении, и во многих случаях оказывается вполне достаточной для решения большинства задач, стоящих перед разработчиками серверного кода. Однако существует довольно много задач, в которых в качестве серверной СУБД применяется Microsoft Desktop Engine (MSDE), обладающая базовыми возможностями SQL Server, но имеющая ограничения на число одновременно обрабатываемых запросов и на объем базы данных.
Правила лицензирования этого продукта весьма привлекательны: он доступен для бесплатной загрузки с Web-сайта компании Microsoft, а в составе собственных решений этот сервер можно поставлять без лицензионных отчислений производителю продукта. Существуют и средства включения этого продукта в состав дистрибутива такого решения, и даже средства сокрытия установленной копии MSDE от конечного пользователя в диалоге «Установка и удаление программ» во избежание случайного удаления.
При этом в составе данного продукта нет никаких административных утилит вроде Enterprise Manager. Не исключено, что подобными утилитами будет комплектоваться ожидаемая в этом году версия СУБД SQL Server 2005 Express Edition (наследница MSDE), но на момент написания настоящей статьи окончательная версия указанного продукта еще не выпущена. И если конечным пользователям будет достаточно самой СУБД, то разработчикам решений на ее основе наверняка потребуются утилиты, позволяющие внести изменения в структуру или отредактировать данные. Некоторые из таких утилит будут рассмотрены ниже.
Apex SQL Studio (ApexSQL)
Apex SQL Studio (ApexSQL) представляет собой набор из нескольких продуктов (доступных также и по отдельности), представляющих собой различные инструменты для разработчиков приложений средства редактирования данных и метаданных, генераторы запросов, средства создания серверного кода, сравнения баз данных, аудита данных и даже генерации кода клиентских приложений на различных языках программирования, включая C#, Visual Basic .NET, AsP, Visual Basic, SQL, Delphi.
В Apex SQL Studio можно найти инструменты, охватывающие почти все задачи, которые приходится решать на этапе разработки приложений. Правда, и цена этого продукта весьма высока лицензия на набор из девяти разных продуктов (редакция Apex SQL Studio Professional) стоит более 2 тыс. долл., а на набор из шести продуктов (редакция Apex SQL Studio Standard) около 1,5 тыс.
Database Manager и SQL Query (Teratrax)
Утилита компании Teratrax Database Manager представляет собой инструмент администрирования, предназначенный для авторов решений на основе MSDE и SQL Server и для специалистов по сопровождению подобных решений. Данный продукт позволяет решать самые распространенные задачи администрирования, в том числе к удаленному управлению сервером через Интернет, что удобно при сопровождении решений, использующих услуги хостинга. К числу поддерживаемых данным продуктом операций относятся удаленное резервное копирование и восстановление, выполнение заданий по расписанию, создание, присоединение и сжатие баз данных, поиск объектов, перестройка индексов, управление доступом к данным, выполнение запросов и редактирование данных. Цена данной утилиты составляет около 70 долл.
Утилита SQL Query от того же производителя позволяет выполнять запросы к MSDE и SQL Server (включая SQL Server 2005 и SQL Server 2005 Express), в том числе к удаленным серверам через Интернет. Этот продукт обладает средствами завершения фрагментов кода, цветового выделения синтаксических конструкций, отображения всплывающих подсказок, выполнения нескольких запросов, экспорта результатов запросов в различные форматы. Цена примерно 50 долл.
MSDE Manager (Vale software)
MSDE Manager (Vale software) это инструмент, ориентированный в первую очередь на разработчиков серверного кода. Он позволяет выполнять основные операции, необходимые для разработки решений на основе MSDE, создание новых баз данных, редактирование данных и метаданных, экспорт данных. Из инструментов администрирования здесь имеются средства резервного копирования, выполнения пакетов Data Transformation Services, выполнения заданий по расписанию.
Возможности данного продукта невелики, но и его цена не слишком обременительна менее 100 долл., так что его вполне можно порекомендовать компаниям, поставляющим решения на основе MSDE и SQL Server.
MSDE Admin (MSDE.biz)
Утилита MSDE Admin от компании MSDE.biz представляет собой несложный инструмент администрирования MSDE и SQL Server, поддерживающий такой стандартный набор операций, как создание и удаление новых баз данных, редактирование данных и метаданных, управление файлами, резервное копирование и восстановление, управление заданиями, выполнение запросов.
Данная утилита стоит чуть более 20 долл. Помимо MSDE Admin, разработчикам доступно бесплатное средство MSDE Query для построения запросов к MSDE и SQL Server того же производителя.
TOAD for SQL Server (Quest Software)
Бесплатная утилита TOAD for SQL Server, как и аналогичный инструмент для Oracle, рассмотренный в первой части этой статьи, предназначена для разработчиков и администраторов баз данных. Продукт позволяет создавать серверный код, модифицировать данные и метаданные, экспортировать данные в различные форматы, управлять файлами баз данных.
Хотя функциональные возможности TOAD for SQL Server заметно уступают возможностям аналогичного инструмента для Oracle, не будем забывать, что это продукт бесплатный.
Конечно, список доступных утилит не ограничивается теми, что вошли в этот обзор подобных инструментов существует немало. К тому же их ассортимент весьма широк и разнообразен от несложных бесплатных утилит для выполнения простейших операций до многофункциональных инструментов администрирования, позволяющих управлять множеством баз данных. Последней категории продуктов, то есть многофункциональным инструментам, предназначенным для разработки и сопровождения решений с использованием баз данных разных производителей, в том числе и инструментам таких производителей, как BMC Software и Embarcadero Technologies, будет посвящена завершающая часть этой статьи.
- ПК и комплектующие
- Настольные ПК и моноблоки
- Портативные ПК
- Серверы
- Материнские платы
- Корпуса
- Блоки питания
- Оперативная память
- Процессоры
- Графические адаптеры
- Жесткие диски и SSD
- Оптические приводы и носители
- Звуковые карты
- ТВ-тюнеры
- Контроллеры
- Системы охлаждения ПК
- Моддинг
- Аксессуары для ноутбуков
- Принтеры, сканеры, МФУ
- Мониторы и проекторы
- Устройства ввода
- Внешние накопители
- Акустические системы, гарнитуры, наушники
- ИБП
- Веб-камеры
- KVM-оборудование
- Сетевые медиаплееры
- HTPC и мини-компьютеры
- ТВ и системы домашнего кинотеатра
- Технология DLNA
- Средства управления домашней техникой
- Планшеты
- Смартфоны
- Портативные накопители
- Электронные ридеры
- Портативные медиаплееры
- GPS-навигаторы и трекеры
- Носимые гаджеты
- Автомобильные информационно-развлекательные системы
- Зарядные устройства
- Аксессуары для мобильных устройств
- Цифровые фотоаппараты и оптика
- Видеокамеры
- Фотоаксессуары
- Обработка фотографий
- Монтаж видео
- Операционные системы
- Средства разработки
- Офисные программы
- Средства тестирования, мониторинга и диагностики
- Полезные утилиты
- Графические редакторы
- Средства 3D-моделирования
- Веб-браузеры
- Поисковые системы
- Социальные сети
- «Облачные» сервисы
- Сервисы для обмена сообщениями и конференц-связи
- Разработка веб-сайтов
- Мобильный интернет
- Полезные инструменты
- Средства защиты от вредоносного ПО
- Средства управления доступом
- Защита данных
- Проводные сети
- Беспроводные сети
- Сетевая инфраструктура
- Сотовая связь
- IP-телефония
- NAS-накопители
- Средства управления сетями
- Средства удаленного доступа
- Системная интеграция
- Проекты в области образования
- Электронный документооборот
- «Облачные» сервисы для бизнеса
- Технологии виртуализации
1999 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2000 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2001 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2002 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2012 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
2013 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Источник: compress.ru
База данных MS SQL Server: что это, зачем нужна, как появилась и чем хороша
Изучаем, что под капотом у классической СУБД от Microsoft, постигаем азы реляционности и закрепляем нюансы хранения данных в вебе.
Иллюстрация: Doug Wilson / Corbis Historical / Getty Images/ Colowgee для Skillbox Media
Максим Сафронов
Автор, редактор, IT-журналист. Рассказывает о новых технологиях, цифровых профессиях и полезных инструментах для разработчиков. Любит играть на электрогитаре и программировать на Swift.
MS SQL Server появилась ещё в конце 1980-х и с тех пор держится в топе самых популярных СУБД в мире. Она быстрая, удобная и подходит почти для всего: от небольших сайтов до высоконагруженных веб-приложений. Да и вообще, база данных от Microsoft — должна же быть хорошая? Будем разбираться.
Это четвёртая статья в цикле о СУБД. Ранее мы рассказывали, что это такое, как они устроены, и даже разобрали пару известных решений — от Oracle и MongoDB. Сегодня на очереди MS SQL Server.
Из этой статьи вы узнаете:
- БД и СУБД: в чём разница
- Что такое MS SQL Server
- Как Билл Гейтс базу данных создавал
- Как устроен язык запросов T-SQL
- Как работает SQL Server
- Ещё несколько фишек системы
- Выводы: кому и для чего нужен SQL Server
Коротко о базах данных и СУБД
Для начала — повторим основные моменты из предыдущих статей:
- Повсюду в интернете нас окружают данные: текст, картинки, посты, товары, нейронные арты с енотами, новые серии «Короля и Шута» и так далее. Чтобы как-то упорядочить весь этот хаос, придумали базы данных.
- Но сама по себе база — это просто способ организовать данные, и она мало что умеет: например, она может знать, что в магазине есть белые «найки», но не способна сама обновить остатки, если их кто-то купит.
- Чтобы проводить сложные манипуляции с данными, используют системы управления базами данных — СУБД.
- Они заточены на то, чтобы искать, добавлять и менять данные по запросу, защищать их от кражи и взлома. Это такая софтовая обёртка для данных, чтобы люди могли использовать их для своих нужд, не мешая друг другу.
- Можно сравнить СУБД со школьным библиотекарем Зинаидой, которая следит за состоянием книг, обновляет их когда нужно и выдаёт только приличным детям, а тем, кто рисует ручкой в учебниках, кричит в библиотеке и вообще задолжал кучу литературы, — не выдаёт.
А теперь перейдём непосредственно к детищу Microsoft.
Что такое MS SQL Server
MS SQL Server — это система управления реляционными базами данных, работающая по клиент-серверной модели. Прозвучало много новых слов — сейчас разберём по порядку, что это всё значит.
Реляционные базы — это такие базы, где все данные хранятся в виде таблиц, и эти таблицы связаны между собой: одна с другой, другая — с третьей и так далее. Вот упрощённый пример такой базы данных в онлайн-кинотеатре — у нас есть три таблицы, которые отвечают за фильмы, пользователей и отзывы:
Реляционный подход хорош тем, что позволяет СУБД избежать массы лишней работы. Например, если какой-то пользователь решит обновить, скажем, фото или никнейм, системе будет достаточно поменять это только в одной таблице — «Пользователи». А остальные базы сами подтянут эти данные по запросу.
«Клиент-серверная» означает, что вся логика работы с данными вынесена на сервер, а пользователи подключаются к нему через приложения-клиенты. Идея в том, что нам не надо хранить полную версию базы данных у себя на компьютере — достаточно просто иметь хороший интернет.
Более того, экосистему SQL Server можно развернуть и в облаке: в этом случае обслуживание базы данных берут на себя дата-центры Microsoft, а вы можете сосредоточиться на разработке клиентских приложений. Версия SQL Server, которая позволяет так делать, называется Azure SQL.
Так как SQL Server — это СУБД от Microsoft, она заточена в основном на работу с Windows, хотя частично поддерживает и Linux. Частично — потому что в версии для этой системы нет некоторых важных функций. Поэтому, если ищете СУБД для Linux-машины, лучше дополнительно поизучать конкурентов.
Как Билл Гейтс базу данных создавал
К началу 1980-х реляционные базы уже вовсю правили бал в энтерпрайзе. На этом рынке выросло сразу много крупных игроков, включая Oracle, Sybase, IBM и Ashton-Tate. И, конечно, Microsoft не могла не подвизаться на этой ниве:
- с одной стороны, потому, что тогда, как и сейчас, пылесосила рынок в поиске перспективных технологий (привет, Bing AI);
- с другой — потому, что делала совместную с IBM операционку OS/2, которая нуждалась во встроенной базе данных.
Основная задача была в том, чтобы создать СУБД, которая может запускаться на маломощных домашних и рабочих станциях — что неудивительно, ведь «майки» на то и «майки», чтобы пилить софт для компактных машин. В то время же большинство СУБД работали на «тучных» серваках и мейнфреймах.
Чтобы реализовать такой подход, Microsoft выбрали набирающую тогда популярность клиент-серверную технологию. Идея в том, чтобы перенести все сложные вычисления на сервер, а пользователям дать доступ к «плодам» этих вычислений через клиентские приложения, запущенные на рабочих станциях.
Тут важно отметить, что сама Microsoft ещё не умела делать такие системы, поэтому обратилась за помощью к компании Sybase, автору платформы DataServer, код которой и лёг в основу первых версий SQL Server. Ещё один партнёр по разработке — компания Ashton-Tate — помог Microsoft по части дистрибуции и создания клиентских приложений.
Сохранился даже рекламный ролик из махровых 1980-х, где Билл Гейтс вместе с главой Ashton-Tate Эдом Эсбером рассуждает о возможностях SQL Server:
Стоит отметить, что совместный бизнес «майков» с Ashton-Tate и Sybase закончился ещё в конце 1990-х. Первая обанкротилась, а вторая вышла из предприятия и стала пилить собственный форк SQL Server под названием Adaptive Server Enterprise. Ну а сама Microsoft сосредоточилась на выпуске SQL Server под Windows — и по сей день она многими воспринимается именно как часть «оконной» экосистемы.
Язык запросов Transact-SQL
С «сервером» вроде разобрались, теперь поговорим об SQL. Многие из вас знают, что это специальный язык запросов к базе данных. И что он умеет делать с данными по запросу что угодно: извлекать, загружать, группировать, настраивать права доступа и так далее.
Но мало кто говорит о Transact-SQL — диалекте SQL, который Microsoft и Sybase создали специально для SQL Server. Главная его фишка в том, что это не только язык запросов, но и полноценный язык программирования — то есть в нём есть переменные, циклы, условные конструкции if-else и другие атрибуты.
С помощью T-SQL можно создавать небольшие программки для обработки данных и запускать их прямо на сервере — называются хранимые процедуры. Это удобно, если у вас есть набор повторяющихся действий к базе и вам нужно его автоматизировать — например, добавление товара в корзину.
Теперь заберёмся чуть поглубже и посмотрим, как именно SQL Server работает с клиентскими запросами. Допустим, мы зашли на маркетплейс, чтобы купить футболку — но не простую, а поло 48 размера бренда «Школьный вальс». Выставляем фильтры, нажимаем «Применить», а дальше — следим за руками:
- Браузер превращает наши фильтры в запрос и отправляет на сервер.
- Там наш запрос встречает движок SQL Server, создаёт на его основе новую задачу (task) и переводит её в режим ожидания.
- Далее задачу подхватывает рабочий поток (worker), анализирует содержимое запроса и составляет план: как его выполнить максимально быстро и не затратно по ресурсам.
- Потом в игру вступает планировщик задач (task scheduler) — он следит за тем, чтобы рабочие потоки эффективно расходовали ресурсы процессора и не мешали друг другу.
- Только на этом этапе запрос начинает по-настоящему выполняться — операторы SQL работают с базой данных и извлекают из неё нужные данные.
- Сервер пуляет данные обратно в браузер, и вот мы видим список нужных футболок — прошла всего секунда, а сколько всего случилось 🙂
Конечно, это очень упрощённая схема — она не учитывает, например, обработку HTTP-запросов на веб-сервере и некоторые аспекты архитектуры SQL Server. Если хотите лучше в этом разобраться, можете почитать хорошую статью по этой теме на «Хабре» или документацию по SQL Server от Microsoft.
Ещё несколько киллер-фич SQL Server
Разберём несколько приятных фишек, за которые SQL Server ценят компании и разработчики:
Отказоустойчивость. Например, в SQL Server можно создавать кластеры серверов, которые будут работать с одним экземпляром СУБД. Если какая-то машина вдруг выйдет из строя, её работу сразу перехватит другая, и всё это случится абсолютно бесшовно и незаметно для пользователя. Эта технология называется кластеризацией.
А ещё SQL Server постоянно создаёт контрольные точки, из которых можно восстановить базу данных в случае сбоя или повреждения данных.
Совместимость с Microsoft. Естественно, SQL Server тесно интегрирован в экосистему «оконных» приложений — например, с помощью расширения mssql можно управлять базами данных из IDE Visual Studio.
Машинное обучение. С помощью SQL Server можно обучать ML-модели прямо внутри базы данных. Для этого там есть специальная служба, которая умеет выполнять скрипты для работы с big data на Python и R. А если к этому делу подключить какой-нибудь TensorFlow, то там и до своего ChatGPT недалеко 🙂
Бизнес-аналитика. Можно делать интерактивные дашборды на основе данных с помощью встроенной службы отчётов, а можно выгрузить начинку базы данных в сторонний сервис — тот же майкрософтовский PowerBI.
Удобная студия управления. Считается, что SQL Server Management Studio — это одна из лучших сред разработки баз данных из существующих. Мы не будем спорить, просто добавим, что скоро про неё у нас выйдет отдельная статья.
Большое сообщество. SQL Server — вторая по популярности СУБД в мире, и в интернете по ней море учебных материалов, блогов и сообществ. Энтузиасты даже собрали все обучающие ресурсы в один большой гайд. Похожий, кстати, есть на «Хабре» — довольно старый, но с основами разобраться поможет.
Кому и для чего нужен SQL Server
SQL Server можно использовать в любых проектах, где нужно управлять данными: контентом на сайтах, отчётностью, ресурсами предприятия, зарплатами сотрудников, цепочками поставок, проектами, торговлей, документами — да в целом чем угодно.
Так как это продукт Microsoft, стоит он недёшево — около 4000 долларов в год за стандартную лицензию на два ядра. И это не считая затрат на поддержку обслуживание и серверную версию Windows, ибо только с ней SQL Server работает нормально — вариант для Linux сильно урезан по функциям.
Подводя итог, можно сказать, что SQL Server — это хороший вариант для больших или средних проектов с прицелом на рост в будущем. Во всех остальных случаях лучше присмотреться к open-source-решениям вроде PostgreSQL — для большинства задач их возможностей вполне хватит.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!
Источник: skillbox.ru