Статья опубликована в рамках: LIX Международной научно-практической конференции «Технические науки - от теории к практике» (Россия, г. Новосибирск, 27 июня 2016 г.)
Наука: Технические науки
Секция: Информатика, вычислительная техника и управление
Скачать книгу(-и): Сборник статей конференции
дипломов
ОСОБЕННОСТИ ВЫБОРА ТЕХНОЛОГИИ ДОСТУПА К ДАННЫМ В АВТОМАТИЗИРОВАННОЙ ИНФОРМАЦИОННОЙ СИСТЕМЕ
ISSUES OF THE CHOICE OF DATA ACCESS TECHNOLOGY OF IN THE AUTOMATED INFORMATION SYSTEM
Alexandra Nabatchikova
programmer of LLC “UNIAR”,
Russia, Moscow
АННОТАЦИЯ
При выборе технологии доступа к данным необходимо учитывать, что она должна способствовать расширению функциональности автоматизированной информационной системы без ущерба для ее надежности и быстродействия. В статье приводится обзор преимуществ и недостатков выбранного способа доступа к данным посредством технологии LINQ to SQL. Выбранная технология позволила на примере рассматриваемой системы найти приемлемое соотношение между надежностью, расширяемостью и быстродействием системы.
ABSTRACT
When choosing data access technology it is necessary to consider that it shall promote expansion of functionality of the automated information system without prejudice to its reliability and speed. The overview of benefits and shortcomings of the chosen data access method by means of the LINQ to SQL technology is provided in article. The chosen technology has allowed to find on the example of the considered system an acceptable ratio between reliability, expansibility and speed of system.
Ключевые слова: LINQ to SQL; выбор технологий; база данных.
Keywords: LINQ to SQL; choice of technology; database.
При разработке автоматизированных информационных систем (АИС) с большим количеством разнообразных объектов и значительным числом пользователей требуется учитывать множество различных факторов, влияющих на выбор технологии разработки АИС.
Для того чтобы обеспечить постоянный интерес пользователей, требуется постоянно расширять функциональность, автоматизируя все больше и больше бизнес-процессов, что особенно актуально и выгодно для предприятий, использующих АИС. Выбираемые для проектирования технологии должны обеспечивать легкое расширение функциональных возможностей, а главное – способствовать выявлению ошибок, которые потенциально могут возникнуть при изменении структуры данных в связи с появлением новой функциональности. Кроме этого, система наполняется данными, это приводит к постепенному росту нагрузки, что должно учитываться в требованиях к используемым технологиям.
В данной работе особенности выбора и применения технологии доступа к данным будут показываться на примере АИС «Документарная база знаний» (АИС ДБЗ), которая представляет собой базу данных (БД), заполняемую различными электронными документами и интерактивными материалами, и интерфейс для работы с этой базой данных, предусматривающий возможность получения справочно-аналитической информации по ним. Таким образом, необходимо сформулировать преимущества и недостатки использования выбранной технологии доступа к базе данных для рассматриваемой системы.
Серверная часть анализируемой АИС ДБЗ реализована на языке программирования C# с применением технологии разработки веб-приложений и веб-сервисов ASP.NET. Клиентская часть реализована на сценарном языке программирования JavaScript с применением асинхронных запросов по технологии AJAX (Asynchronous Javascript and XML).
ASP.NET – технология разработки веб-приложений, являющаяся важной составляющей платформы .NET. В отличие от предшествующей версии ASP (Active Server Pages – «Активные страницы сервера»), эта технология предлагает унифицированную платформу, существенно упрощающую построение крупных веб-приложений [2]. Из языков программирования, доступных в платформе .Net, выбор сделан в пользу C#. Этот язык имеет строгую типизацию данных, что исключает возможные ошибки непредсказуемого преобразования типов. Также он полностью объектно-ориентирован, что положительно сказывается на надежности системы. Учитывая большое количество нововведений, этот язык позволяет быстро разрабатывать приложения без ущерба для качества кода приложения, но при этом сохраняет лаконичность, свойственную С-подобным языкам.
В качестве системы управления базами данных (СУБД) используется Microsoft SQL Server (MS SQL). Непосредственно запросы о доступе к данным выполняются не напрямую, посредством запросов на языке SQL, а через технологию LINQ, а именно LINQ to SQL. Такой подход имеет свои преимущества и недостатки. Следует отметить, что аналогичные реализации LINQ существуют и для других СУБД, поэтому выбор MS SQL Server не обусловлен выбором технологии LINQ to SQL.
«LINQ to SQL – это API-интерфейс для работы с базами данных SQL Server. В современном мире, где господствуют объектно-ориентированные языки программирования, существует несоответствие между языком программирования и реляционной базой данных. При написании приложения мы моделируем классы как представления объектов реального мира, таких как заказчики, счета, политики и полеты. Нам нужен способ сохранения этих объектов, чтобы при перезапуске приложения все эти объекты с их данными не были потеряны. Однако большинство баз данных промышленного масштаба остаются реляционными и хранят свою информацию в виде записей в таблицах, а не в виде объектов» [3, с. 359].
Например, полями объекта «Акт» являются категория и набор рубрик, связанных отношением «многие к одному», то есть массив, который является унаследованным свойством родительского класса «Документ». При сохранении такая информация может быть записана, например, в 4 таблицы: «Документы», «Рубрики», «Категории», а также в таблицу дополнительных свойств акта по отношению к обычному документу.
Рисунок 1. Структура базы данных и соответствующие ей классы
Ввиду существенных отличий типов данных, поддерживаемых языком приложения, от используемых в СУБД, при разработке требуется реализовывать специальные конверторы данных, которые выполняют отображение типов, данных приложения на соответствующие поля таблиц реляционной базы данных и обратно при записи и, соответственно, считывании объекта из БД. Это кропотливый и потому подверженный ошибкам этап разработки. Проблема объектно-реляционного отображения (object-relational mapping – ORM) привела к необходимости использования программных ORM-фреймворков [1]. В АИС ДБЗ в качестве такого решения выбрана технология LINQ to SQL – реализация ORM от Microsoft на основе LINQ, предназначенная для работы с SQL Server.
К недостаткам LINQ to SQL можно отнести снижение производительности. Однако стоит отметить, что речь идет о максимальной производительности, которой можно добиться, используя все возможности оптимизации запросов. Это связано с тем, что при использовании LINQ to SQL, как и других ORM, затрачивается дополнительное время на формирование оптимального запроса, плана его выполнения в СУБД, маппинг и компиляцию при том, что формируемый SQL-запрос не всегда оказывается в итоге оптимальным. Разработчику всегда необходимо контролировать, какие именно запросы формируются, например, используя Sql Server Profiler, чтобы обеспечить производительность, приближенную к той, которая может быть получена при использовании чистого T-SQL. Также к недостаткам LINQ to SQL следует отнести отсутствие возможности использования в рамках LINQ-запроса некоторых функций MSSQL, которые при применении чистого T-SQL могут давать существенное увеличение производительности запроса, в частности использование временных таблиц и таблиц переменных. Однако все эти недостатки являются платой за указанные выше возможности контролировать целостность модели данных, что особенно актуально при расширении функциональности, связанной с изменением структуры БД, а также с удобством проецирования объектов на таблицы реляционной БД.
Выбор технологии для реализации программных решений, несомненно, имеет ключевое значение для быстродействия, надежности и расширяемости системы. Выбор LINQ to SQL оправдан в случае ориентации на надежность и расширяемость системы, однако эта технология уступает в быстродействии чистому T-SQL. Рассмотренные преимущества и недостатки в той или иной мере присущи всем ORM, которые в свою очередь развиваются, сглаживая недостатки, связанные с подготовкой и компиляцией запросов. В частности, на данный момент Microsoft на смену LINQ to SQL предлагает Entity Framework. Он имеет лучшие параметры быстродействия, похож по синтаксису на LINQ to SQL, что облегчает переход на эту технологию. Тем не менее следует учитывать, что для крупных систем со значительным количеством функций переход на новую технологию связан с необходимостью дополнительных трудозатрат, что далеко не всегда экономически обосновано в связи с необходимостью последующего тестирования всей системы.
Список литературы:
- Введение в ORM (Object Relational Mapping) – [Электронный ресурс]. – Режим доступа: http://internetka.in.ua/orm-intro/ (Дата обращения: 15.06.16).
- Глава 10. ASP.NET и Web-формы – [Электронный ресурс]. – Режим доступа: http://cpu.h17.ru/net/10/ (Дата обращения: 15.06.16).
- Фримен А., Раттц-мл Д.С. LINQ: язык интегрированных запросов в C# 2010 для профессионалов. – М.: ООО «И.Д. Вильямс», 2011. – С. 656.
дипломов
Оставить комментарий