Дипломная работа: Автоматизация обработки заявок в АО «ТЭК-Торг»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
56
• Firebird (FirebirdSQL) можно назвать компактной,
кроссплатформенной и свободной СУБД, работающей на Linux, Microsoft
Windows и различных Unix платформах;
• PostgreSQL является свободной объектно-реляционной СУБД;
• SQLite позиционируется как компактная встраиваемая реляционная
БД. Исходный код библиотеки является открытым.
Существует большое количество СУБД, написанных для различных ОС и
платформ, к ним можно отнести Oracle, MySQL, mSQL, PostgreSQL, IBM DB2,
SQL Server, Teradata, Interbase, Universe, GNU SQL Server, Sybase, Ingres,
Informix, Empress, LEAP RDBMS, FirstBase, Typhoon, SQL/DS, Daffodil DB,
Cloudscape, Compad Non-Stop SQL MX и SQL/MP, Ocelot, Progress, Linter
RDBMS SQL.
Использование той или иной СУБД часто становится субъективным и
зависит от различных параметров, одним из которых так или иначе становится
стоимость. Язык описания данных (ЯОД) характеризуется средствами описания
данных в БД и их связями друг с другом. При помощи средств языка
определяется структура БД, пароли, форматы записей, защищающие данные.
Язык манипулирования данными (ЯМД) является языком реализации операций
над данными, который также дает возможность изменять их строение.
Для разных СУБД создание этих уровней языков может быть различно. В
одних случаях ЯОД и ЯМД необходимо реализация пользователем программы
только “вручную”, в других (что характерно на сегодняшний день) в СУБД есть
инструменты полностью наглядной разработки программ. Для этого в
современных СУБД есть редакторы экранных форм, отчетов и т.п. Механизмами
(инструментами) таких редакторов становятся различные поля (ввода, вывода и
т.д.), процедуры обработки разных типов (запросы, таблицы, отчеты, формы).
Опираясь на созданные пользователем объекты программы генераторы создают
программный код на языке отдельной машины или на промежуточном языке.
Для примера возьмем три СУБД, среди которых имеются и бесплатные, и
платные: MS SQL Server, MySQL, Oracle. Опишем кратко каждую из трех
систем.
57
MS SQL Server. Исходный код MS SQL Server (до версии 7.0) базировался
на коде Sybase SQL Server, что дало возможность Microsoft выйти на рынок БД
для бизнеса, где конкурировали Oracle, IBM, и затем Sybase. Microsoft, Sybase и
Ashton-Tate сначала совместно создали и выпустили на рынок первую версию
программы, названной SQL Server 1.0 для OS/2 (около 1989 года), которая стала
почти аналогом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft SQL Server
4.2 был полностю готов в 1992 году и входил в состав ОС Microsoft OS/2 версии
1.3. Официально Microsoft SQL Server версии 4.21 для ОС Windows NT
представили одновременно с релизом самой Windows NT (версии 3.1). Microsoft
SQL Server 6.0 стал первой версией SQL Server, разработанной только для
архитектуры NT и без помощи в разработке самой Sybase.
Сервер БД Microsoft SQL Server использует в качестве языка запросов
версию языка SQL, названную Transact-SQL (сокращённо T-SQL). Язык
поддерживал дополнительный синтаксис для хранимых процедур и реализует
поддержку транзакций (непосредственное взаимодействие БД с управляющим
ПО).
В момент взаимодействия с сетью Microsoft SQL Server и Sybase ASE
применяется протокол уровня приложения, названный Tabular Data Stream (TDS,
протокол передачи табличных данных). Протокол TDS также был создан в
проекте FreeTDS для обеспечения некоторым приложениям стабильного
взаимодействия с БД Microsoft SQL Server и Sybase.
Для доступа к данным Microsoft SQL Server имеет поддержку Open
Database Connectivity (ODBC) – это интерфейс для работы предложения с СУБД.
Версия SQL Server 2005 позволяет подключаться пользователям через веб-
сервисы, которые работают на протоколе SOAP. Это дало возможность
клиентским программам, выпущенным не для использования в среде Windows,
без проблем соединяться с SQL Server. Microsoft также создала и опубликовала
сертифицированный драйвер JDBC, дающий возможность приложениям под
управлением Java (например, BEA и IBM WebSphere) без проблем
взаимодействовать с Microsoft SQL Server 2000 и 2005.
SQL Server также имеет возможность зеркалирования и кластеризации БД.
Кластер сервера SQL является некоторой совокупностью одинаково
58
составленных серверов; эта схема упрощает распределение рабочей нагрузки
между двумя и более серверами. Все сервера содержат одно виртуальное имя, и
данные отправляются по IP-адресам машин кластера во время рабочего цикла. В
случае отказа или сбоя на одном из серверов кластера имеется автоматический
перенос всего потока данных на рабочий сервер.
SQL Server поддерживает избыточное дублирование данных, описанное в
3 сценариях:
• Снимок: делается «снимок» БД, который сервер пересылает
получателям;
• Журнал изменений: все изменения БД всегда передаются
пользователям;
• Синхронизация с другими серверами: БД двух и более серверов
синхронизируются между собой. Изменения всех БД протекают независимо друг
от друга на всех серверах, в момент синхронизации идет сверка данных. Такой
тип дублирования поддерживает возможность разрешения противоречий между
БД;
В SQL Server 2005 имеет встроенную поддержку .NET Framework, что
позволяет написать хранимые процедуры БД на любом языке платформы.NET,
применяя весь набор библиотек, доступных для.NET Framework вместе с
Common Type System (система обращения с типами данных в Microsoft.NET
Framework). Но в отличии от других процессов, .NET Framework, выступающий
как базисная системой SQL Server 2005, требует дополнительную память и
выстраивает механизмы управления SQL Server и не использует встроенные
средства Windows. Такой подход дает дополнительную производительность в
сравнении с общими алгоритмами Windows, поскольку алгоритмы
распределения ресурсов точно настроены для использования в структурах SQL
Server.
MYSQL. MySQL появилась в виде попыткы применить mSQL к
собственным разработкам компании: таблицам, для которых применялись ISAM
- подпрограммы низкого уровня. В итоге был создан новый SQL-интерфейс, но
API-интерфейс остался прежний от mSQL.
59
MySQL стал решением для малых и средних приложений. Вошел в состав
серверов WAMP, LAMP и в компактные сборки серверов Денвер, XAMPP.
Зачастую MySQL применяется в качестве сервера, к которому имеют доступ
удаленные или локальные клиенты, но в дистрибутиве находится библиотека
внутреннего сервера, что дает возможность включать MySQL в автономные
программы.
Гибкость СУБД MySQL реализуется поддержкой огромного количества
типов таблиц: пользователи выбирают как таблицы типа MyISAM, имеющие
полнотекстовый поиск, так и таблицы InnoDB, имеющие транзакции на уровне
отдельных записей. Также СУБД MySQL уже включает специальный тип таблиц
EXAMPLE, которые показывают принципы разработки новых типов таблиц. А
открытая архитектура и GPL-лицензирование позволяют добавлять в СУБД
MySQL новые типы таблиц.
В 2008 году Sun Microsystems купила MySQL AB за 1 миллиард долларов.
В 2010 году Oracle Corporation купил Sun Microsystems и поставил MySQL
в собственную линейку СУБД.
Группой разработчиков MySQL реализованы разные ответвления кода,
такие как Drizzle, OurDelta, Percona Server, и MariaDB. Все они уже
существовали уже в тот момент, когда компании Sun и MySQL AB были
куплены Oracle.
Нынешние версии MYSQL включают в себя следующие возможности:
• Сегментирование - это возможность разделения одной большой
таблицы на несколько частей, помещенных в разные файловые системы,
руководствуясь определенной пользователем функции. При некоторых условиях
это может хорошо увеличить производительность и уменьшить
масштабирование таблиц;
• Изменение поведения ряда операторов для реализации большей
совместимости со стандартом SQL 2003;
• Построчная синхронизация, при которой в бинарный лог
записывается только информация о реально отредактированных строках
таблицы вместо оригинального (и чаще более медленного) текста запроса.
Построчную репликацию лучше применять только для определенных типов sql-
60
запросов, а говоря терминологией MySQL – реализовывать смешанную
репликацию;
• Встроенный планировщик периодически выполняемых работ. По
синтаксису добавление задачи схоже с добавлением триггера к таблице, по
идеологии - на crontab;
• Включенный набор функций для обработки XML, реализация
поддержки XPath;
• Удобные средства диагностики проблем и утилиты для подсчета
производительности. Увеличены возможности по управлению содержимым лог-
файлов, логи теперь сохраняются и в таблицах general_log и slow_log.
Инструмент mysqlslap дает возможность провести нагрузочное тестирование БД
и указать время реакции на каждый запрос;
• Встроенная утилита mysql_upgrade, которая перед обновлением
выполняет проверку всех существующих таблиц на возможность совместимости
с новой версией, и если нужно сделает все корректировки;
• MySQL Cluster теперь используется как отдельный продукт,
основанный на MySQL 5.1 и хранилище NDBCLUSTER;
• MySQL Cluster претерпело изменения в специфике работы, теперь
есть возможность хранения табличных данных на диске;
• Применение встроенной библиотеки libmysqld, отсутствовавшей в
MySQL 5.0;
• API для плагинов, позволяющее загружать сторонние модули,
увеличивающее функциональность (например, полнотекстовый поиск) без
перезагрузи сервера;
• Создание парсера полнотекстового поиска в виде plug-in;
Oracle. СУБД Oracle можно назвать ветераном рынка реляционных СУБД.
Создание этой системы началось в то же время, что и IBM DB2, и даже сейчас
эти системы остаются главными конкурентами.
Oracle имеет лидирующие позиции на рынке СУБД и главное, лидирует на
платформах Unix и Windows. В России это лидерство также ощутимо, особенно
в области крупномасштабных ИС. Фактически у нас СУБД Oracle стала
стандартом государственных ИС.
Источник: https://baza.diplomsite.ru/previewfile/1859