Ключевые слова: база данных, СУБД, загрузка данных, обработка данных, тендеры, распределенные запросы
Хоть тендеры существуют уже не одно десятилетие, они все так же актуальны для фирм, которые хотят стать более узнаваемыми на рынке, увеличить свой доход или базу. Выигрыш в тендере позволяет наиболее эффективно заключать контракты с партнерами. Как правило, такие контракты более стабильны и долгосрочны. Из-за свободной конкуренции есть возможность подбора исполнителя, который выполнит работу наиболее качественно. Для тех же, кто предоставляет услуги — это неизменный способ получения заказов и доходов.
В настоящее время фирмам и предприятиям приходится постоянно сталкиваться с конкуренцией. Как правило, она характеризуется высокой интенсивностью, а порой и жестокостью. Чтобы поддерживать такой высокий темп компаниям приходятся быть изобретательными и находчивыми, чтобы продвигать свои товары и услуги, а также для получения новых заказов и клиентов. Фирмы, специализируемые на сфере медикаментов и лекарственных препаратов, это также не обошло стороной. Ведь с развитием человечества, вирусы и бактерии тоже эволюционируют, что приводит к тому, что с каждым годом изобретаются всё новые и новые препараты, улучшается действие старых и нельзя упускать из вида ни один из них. Участие в тендерах как раз позволяет следить за всеми новинками и выбирать наиболее выгодные.
Для использования и хранения информации по тендерам нужно использовать базы данных, потому, что именно они позволяют хранить и обрабатывать большие объемы информации. Базы данных являются неизменным инструментом для деятельности, связанной с любой информацией или данными.
При загрузке и обработке данных для тендеров возникают стоит использовать такие методы:
– Работа со справочными данными (названиями городов, препаратов, компаний и прочим)
Во внешней системе отличаются от того, с чем должны работать люди, которые участвуют в тендерах. Сразу встает вопрос, как это обрабатывать. Внешняя система обычно отдаёт названия справочных данных, и они могут отличаться. Можно использовать два типовых решения:
- Использовать некие таблицы соответствий, которые заполняются вручную пользователями и ставят в соответствие значениям исходной внешней системы значения целевой системы заказчика.
- Реализовывать алгоритмы, которые подбирают соответствия справочных элементов.
Кроме того, названия во внешней системе могут немного отличаться, хотя по сути означают одно и то же. Например, «Москва» и «москва» — две разных строки, которые означают одно и то же. Нужно трактовать их как одно и то же. Для этого применяется так называемая «нормализация» — привод строк к единому формату. Он заключается в обрезании пробелов, переводу в один регистр букв, некоторым заменам символов.
– Взаимодействие со сторонней системой почти всегда сопряжено с основной сложностью: производительность.
Для корректной обработки данных надо выбрать данные из представления, и в том же запросе обрабатывать данные из своей БД, такие как соответствия, проверки наличия уже загруженных аукционов и прочее. Получается распределённый запрос, а его выполнять существенно сложнее, чем запрос к локальной БД.
Распределенным называется запрос, которые обращается не к одному узлу базы данных, а к нескольким, двум или более. Обновление данных происходить не должно. При выполнении такого запроса запрашивающий узел определяет обращение к другому узлу, т. е. происходит обращение к другим данным, замет выделяется подзапрос к другому удаленно расположенному узлу и уже происходит само перенаправление.
Основной проблемой таких запросов является оптимизация, т. е. составление алгоритма выполнения запроса. При выборе конкретного центрального узла теряется свойство автономности из-за того, что центральный узел будет собирать всю информацию и уже сам строить оптимальный план выполнения запроса. Для предотвращения таких ситуация выполнение распределенных запросов разбивается на следующие этапы:
– Выполняются подзапросы;
– Сбор данных от подзапросов запрашиваемым узлом;
– Соединение или объединение полученных данных.
Последний этап может занимать достаточно много времени, поэтому составление распределенных запросов является более трудным делом, по сравнению с обычными запросами.
При использовании SQL Server распределенные запросы выполняются пользователями для доступа к данным, которые нужно получить в следующих ситуациях:
– Получение разнородных данных, которые могут храниться в разных реляционных или нереляционных источниках хранения данных;
– Получение распределенных данных, которые могут храниться в нескольких разных экземплярах SQL Server.
Из этого следуют другие трудности. Например, то, что простейший запрос иногда может выполняться очень долго. И приходится переписывать его по-другому, интуитивно пытаясь найти вариант запроса, который выполнится быстро. Кроме того, обычную оптимизацию запросов никто не отменял, потому что данных очень много и с ними сложно работать.
Вопрос оптимизации обработки данных и их загрузки выбора стоит перед всеми, кто когда-либо работал с базами данных. Работа с данными по тендерам по лекарственным препаратам с использованием представленных методов оптимизировать время и ресурсы для выполнения других важных задач, поставленных перед компаниями, специализируемыми на лекарственных препаратах.
Литература:
- Роберт Вьейра Программирование баз данных Microsoft SQL Server 2008. Базовый курс
- Как обеспечить надежное хранение больших объемов данных Server [электронный ресурс] URL:https://habrahabr.ru/company/acronis/blog/215007/ (дата обращения 28.06.2017)
- Дейт К. Дж. Введение в системы баз данных. Издательство — «Вильямс» 2006
- Натан Марц, Джеймс Уоррен. Большие данные. Принципы и практика построения масштабируемых систем обработки данных в реальном времени Издательство — «Вильямс» 2016
- Робин Никсон Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript и CSS Издательство — Питер