Введениенаверх

За последние 30 лет в области теории систем баз данных был проведен ряд исключительно продуктивных исследований. Полученные результаты вполне можно считать наиболее важным достижением информатики за этот период. Базы данных стали основой информационных систем и в корне изменили методы работы многих организаций. В частности, в последние годы развитие технологии баз данных привело к созданию весьма мощных и удобных в эксплуатации систем. Благодаря этому системы баз данных стали доступными широкому кругу пользователей. Но, к сожалению, кажущаяся простота таких систем способствовала тому, что пользователи стали самостоятельно создавать базы данных и приложения, не имея достаточных знаний о методах проектирования эффективно работающих систем, что часто приводило к непроизводительным затратам ресурсов и некачественным результатам.

Объём данных ежегодно возрастает с невероятной скоростью. Сейчас очень актуальным является вопрос о хранении видео- и фотосъёмки из космоса. Такая информация требует вместительных хранилищ данных, а также высокую скорость доступа к ним.

Применительно к Microsoft SQL Server методы доступа к данным постоянно эволюционируют. За последние 20 лет развития баз данных сменились 7 методов доступа к данным. Последним из них является Microsoft ADO.NET.

При наличии широкого выбора доступных источников данных ADO.NET должна иметь возможность поддерживать множество источников данных. Каждый такой источник данных может иметь свои особенности или набор возможностей. Поэтому ADO.NET поддерживает модель поставщиков (provider). Поставщик для конкретного источника данных в ADO.NET можно определить как набор классов в пространстве имён, созданных специально для работы с этим конкретным источником данных. Значит, для каждого конкретного источника данных нужен специальный поставщик данных .NET.

Поставщики данных .NET
Рисунок 1. Программа, ADO.NET, несколько источников данных и несколько поставщиков данных.
(Анимация. Количество кадров - 17, циклов повторения - бесконечно, размер - 10 726 байт)

База данных Microsoft SQL Server поддерживает несколько поставщиков данных .NET: SQL Client .NET Data Provider, OLE DB .NET Data Provider, ODBC .NET Data Provider и SQL XML .NET Data Provider (для работы с XML-данными):

Поставщики данных, поддерживаемые MS SQL Server
Рисунок 2. Поставщики данных, поддерживаемые MS SQL Server.

Актуальностьнаверх

Поскольку MS SQL Server поддерживает несколько провайдеров данных, то возникает закономерный вопрос: какой из них эффективнее или предпочтительнее? Ведь обеспечение высокой скорости доступа к данным является одной из важнейших характеристик конкретного поставщика данных. Поэтому в данной магистерской работе будут проведены различные эксперименты над поставщиками данных SQL, OLE DВ и ODBC с целью выявления их преимуществ и недостатков. Проведенные эксперименты позволят определить зависимости для производительности, скорости доступа и скорости подключения к БД SQL Server.

Цели и задачинаверх

Исследование методов доступа к данным БД Microsoft SQL Server ставит следующую цель: определение и обоснование оптимального по скорости подключения и скорости доступа провайдера данных базы данных MS SQL Server.

Для достижения поставленной цели в магистерской работе предполагается решить такие задачи как:

  1. Изучение характеристик и свойств существующих поставщиков данных БД Microsoft SQL Server.
  2. Анализ технологии кэширования данных.
  3. Постановка экспериментов для исследования поставщиков данных.
  4. Исследование провайдеров данных MS SQL Server в подключённом и разъединённом состоянии БД.
  5. Анализ полученных результатов экспериментов и определение зависимостей.
  6. Выбор оптимального провайдера данных по заданным критериям.

Исследование поставщиков данных планируется проводить с использованием программной тестирующей оболочки, которая будет разрабатываться на языке программирования Microsoft Visual C# совместно с технологией Microsoft .NET Framework. Обоснование выбора этих технологий состоит в следующем: т.к. MS SQL Server является разработкой компании Microsoft, то максимальной производительности можно достичь при использовании “родных” технологий (CLR, Common Language Runtime – общеязыковая среда выполнения .NET). CLR позволяет уменьшить время на преобразование типов, а также убирает все промежуточные уровни между программой и базой данных.

Для написания и отладки приложения будет использоваться бесплатная среда разработки Microsoft Visual Studio 2008 Express, с которой поставляется база данных Microsoft SQL Server 2008 Express.

Предполагаемая научная новизнанаверх

Научная новизна данной магистерской работы состоит в исследовании провайдеров данных БД MS SQL Server на скорость доступа к записям таблиц различного объёма: 10 записей, 1`000 записей, 50`000 записей и 1`000`000 записей. При дальнейшем исследовании возможны также и другие варианты запросов. Данные эксперименты позволят определить оптимальных поставщиков данных для баз данных различного объёма, что поможет в проектировании эффективных приложений для работы с БД, т.к. ещё перед запросом данных от базы уже будет известен оптимальный алгоритм доступа. Также планируется исследование скорости подключения к базе данных MS SQL Server с целью выявления эффективности работы с БД в отключённом или подключённом состояниях, для чего предполагается изучение пула соединений.

Обзор состояния исследований и разработокнаверх

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

Ведущими исследователями и непосредственными разработчиками методов доступа к данным базы данных Microsoft SQL Server являются:

Описание результатовнаверх

В данный момент магистерская работа находится на начальном этапе – ведётся поиск и изучение материала, а также разрабатываются описания экспериментов и их анализ. Предварительный анализ показал, что поставщик данных OLE DB .NET Data Provider имеет более высокую производительность с таблицами небольшого объёма (до 10`000 записей), чем SQL Client .NET Data Provider. А доступ к данным таблиц с большим числом записей (1`000`000 и более) эффективнее осуществлять при помощи SQL Client .NET Data Provider. Окончательные результаты исследования провайдеров данных MS SQL Server будут получены осенью 2008 года. Если данная работа заинтересовала читателя, то за дополнительной информацией можно обратиться к её автору по E-mail или ICQ    .

Перечень использованных источниковнаверх

  1. Hamilton, Bill. ADO.NET 3.5 Cookbook, 2nd Edition, Updated for .NET 3.5, LINQ, and SQL Server 2008. O’Reilly, March 15, 2008. Pages: 980. ISBN-13: 978-0-596-10140-4.
  2. Браст Эндрю Дж., Форте Стивен. Разработка приложений на основе Microsoft® SQL Server™ 2005. Мастер-класс. / Пер. с англ. – М.: Издательство «Русская Редакция», 2007. – 880 стр.: ил.
  3. Вилдермьюс, Шон. Практическое использование ADO.NET. Доступ к данным в Internet. : Пер. с англ. – М. : Издательский дом “Вильямс”, 2003. – 288 с. : ил. – Парал. тит. англ.
  4. Малик, Сахил. Microsoft® ADO.NET 2.0 для профессионалов.: Пер. с англ. – М.: ООО «И.Д. Вильямс», 2006. – 560 с.: ил. – Парал. тит. англ.
  5. Сеппа Д. Программирование на Microsoft® ADO.NET 2.0 Мастер-класс. / Пер. с англ. – М.: Издательство «Русская Редакция»; СПб.: Питер, 2007. – 784 стр.: ил.
  6. http://rsdn.ru/?article/db/DBSpeed.xml – Сравнение скорости доступа к данным (ADO.NET, ADO, ascDB). Автор: Станислав Михаилов, http://www.optim.su/.