Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

СУБД Progress




СУБД Progress имеет, как преимущества, так и отрицательные стороны (содержание данного пункта является полной копией работы Оксаны Фещенко, Информационные системы, КУА Алматы, 2011 http://bourabai.kz/dbt/servers/Progress.htm ). Очень легко и удобно настраивается для многопользовательского режима, в отличие от MS Access или элементов ADO в Borland C и Visual C. Имеет очень удобную функцию "buffer" для любой таблички. Это позволяет вдвое быстрее обрабатывать поиск по таблице с разными значениями. Имеет возможность работы с неограниченным числом индексов. Индексы отличаются от ключей в других БД тем, что по индексам производится более быстрый поиск по большому количеству записей.

Один из отрицательных моментов заключается в том, что явных заданий ключевых полей и связей между таблицами нет. Это сильно усложняет работу с БД, и разработчикам приходится либо полагаться на память, либо вести для себя заметки. Когда табличек очень много и разработчик не один, а несколько, появляется острая необходимость в архитектурном построении таблиц, на что уходит очень много времени.

Стандартизация внутри БД требует постоянного анализа всей структуры данных.

В Progress имеется прямая и обратная сортировка содержимого таблиц. Сортировку можно использовать, как по одному полю, так и по нескольким (хоть по всем), что позволяет более быстрым способом собирать данные для тех или иных отчетов.

В СУБД Progress очень удобно делать выгрузку табличек и содержимого табличек, в отличие от остальных систем управления базами данных, работает с файлами *.d (содержимое таблички) и *.df (структура таблички, включая индексы). Так же имеются "сиквенсы". В стандартных БД данные поля считаются счетчиками. Но в Progress нет возможности создания подобных полей, можно пользоваться только отдельными элементами "sequens", максимальное значение 999 999.

Progress имеет возможность работать сразу с несколькими базами данных, при этом дополнительные базы никак не влияют на скорость и производительность обработки данных.

Обычно нет необходимости указывать имена баз используемых табличек. Это необходимо только в тех случаях, когда таблички имеют одинаковые названия в нескольких базах.

Так же можно указывать часть имени таблицы и если только одна таблица соответствует данной части названия, то будет обрабатываться именно та табличка, если имеется несколько таблиц с таким началом названия, то буде необходимость уточнения наименования таблицы.

На таблички можно создавать триггеры. Как целиком на всю табличку, так и на отдельные поля. Триггеры можно использовать в качестве своеобразных внешних ключей, на которые можно подвязать определенные действия на создание или модификацию записи или поля.

Например, синхронизировать обновления и в другую табличку, которая имеет отношение к изменяемой таблице, в автоматическом режиме.

Progress это полнофункциональная система управления базами данных. В ней имеются средства работы с БД - язык программирования Progress ABL 4PL. Имеются, как консольный режим, так и визуальный. Консольный режим аналогичен консольному языку "foxpro".

Progress имеет свой собственный язык программирования обработки данных, но помимо стандартного, можно пользоваться SQL-запросами. Не во всех случаях конечно, но стандартные функции типа "Select" отрабатывают корректно.

Ни об одной СУБД нельзя сказать твердо - хороша она или плоха. В разных сферах деятельности эффективны разные СУБД. При переходе к иной сфере может появиться необходимость пересмотреть свои взгляды и взглянуть на новую проблему под другим углом. Тогда, казавшееся ранее неприменимое и неудобное, может оказаться совершенно другим и более удобным. Кроме того, есть такой фактор, как желание заказчика, что тоже играет немаловажную роль при выборе системы проектирования и программирования.

Технические характеристики СУБД Progress

Система управления базами данных PROGRESS способна решать информационные задачи корпоративного масштаба (мощные ЭВМ под управлением ОС UNIX или AS/400, сотни гигабайт распределенных данных, тысячи пользователей и т.д.), но благодаря разумным требованиям к вычислительным ресурсам и гибкой ценовой политике широко используется и для построения информационных систем "клиент/сервер" масштаба подразделения (локальные сети с серверами Windows 2000 Windows 2003 и даже автономных системах основе персональных компьютеров (Windows XP).

Наряду со стандартным набором возможностей, характерным для всех СУБД корпоративного класса: язык SQL, триггеры, транзакции (в т.ч. распределенные с двухфазной фиксацией), автоматическое восстановление после любых сбоев, поддержка различных операционных систем, поддержка многопроцессорных архитектур, многопоточность,
защита от несанкционированного доступа и др.

СУБД PROGRESS обладает также рядом уникальных особенностей, например:

1. развитый словарь данных (сколь угодно сложные правила обеспечения целостности, форматы представления данных по умолчанию ит.д.);

2. блокировка на уровне записей;

3. возможность не блокирующего доступа приложений "только для чтения";

4. возможность индексной навигации по выборке вверх и вниз (для быстрого перемещения в конец длинной выборки не требуется считывать всювыборку);

5. регистронезависимые индексы (возможен поиск по индексу без учета регистра букв);

6. пословная индексация (позволяет осуществлять мгновенный поиск слов и фраз в массивах неструктурированного текста);

7. упаковка индексов (сокращает их размер в 2-3 раза и, следовательно, увеличивает скорость доступа);

8. полная функциональная совместимость баз данных всех уровней (от Personal до Enterprise);

9. корректная работа с любыми национальными алфавитами, кодировками (включая двухбайтовые) и сортировками; начиная с версии 9 поддерживается также UNICODE;

10. разумные требования к вычислительным ресурсам (в 2-3 раза ниже, чем Oracle при прочих равных условиях).

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

Средства разработки PROGRESS

Язык четвертого поколения PROGRESS 4GL зарекомендовал себя, как высокоэффективный инструмент разработки профессиональных распределенных приложений корпоративного масштаба от начала и до конца.

Он обладает рядом уникальных достоинств перед аналогичными средствами разработки.

Язык включает в себя одинаково развитые средства манипуляции данными, - описания бизнес-логики и пользовательского интерфейса, что позволяет создавать полностью законченные приложения от графического интерфейса до триггеров базы данных на одном языке. Это позволяет значительно снизить затраты на обучение разработчиков и ускорить разработку приложений;

Язык 4GL, начиная с версии 10 он носит название ABL поддерживает разработку как графических (Windows 2000, Windows XP, Windows Vista), так и символьных (UNIX terminal, Windows NT console) пользовательских интерфейсов, а также процедур, вовсе не имеющих пользовательского интерфейса(бизнес-логика, триггеры базы данных);до версии 10 Progress не являясь "каноническим" объектно-ориентированным языком, таким как C++ или Java, PROGRESS 4GL тем не менее позволяет создавать так называемые бизнес-компоненты высокого уровня или SmartObjects, инкапсулирующие элементы данных, объекты пользовательского интерфейса и логику их обработки (методы).

PROGRESS SmartObjects могут включать в себя другие SmartObjects, обрабатывать и генерировать события, а также обмениваться сообщениями, что позволяет собирать из них сложные многооконные приложения. Начиная с версии 10 в нем реализована полная поддержка ООП.

В качестве объектов Windows-приложений могут использоваться также компоненты ActiveX, что делает возможности построения графического интерфейса практически безграничными.

Приложения на языке PROGRESS 4GL могут работать как с локальными (архитектуры"single user" и "host-terminal"), так и с удаленными (архитектура "клиент-сервер") базами данных PROGRESS, а также взаимодействовать с приложениями PROGRESS на удаленных ЭВМ с помощью технологии сервера приложений AppServer (многоуровневая архитектура "клиент-сервер");WebClient позволяет организовать доступ через Web к процедурам, написанным на языке 4GL, что значительно расширяет возможности доступа через протокол HTTP.

Средства разработки PROGRESS позволяют обращаться и к базам данных третьих фирм напрямую (Oracle, DB2/400) или через интерфейс ODBC.

Приложения, написанные на других языках (Java, C, C++, Visual Basic, Delphi и др.) могут не только обращаться к базам данных PROGRESS через интерфейсы ODBC/JDBC, но и вызывать процедуры, написанные на языке PROGRESS 4GL, через интерфейсы ActiveX и Java RMI, что позволяет легко интегрировать базы данных и приложения PROGRESS в существующие гетерогенные информационные системы, а также комбинировать различные технологии при разработке новых приложений. Отвечая требованиям стандарта ANSI SQL92, сервер СУБД PROGRESS может использоваться с любыми ODBC- и JDBC-совместимыми средствами разработки и приложениями, но для достижения максимальной эффективности и доступа ко всему спектру уникальных возможностей сервера (в частности, навигационного доступа к данным и пословной индексации) рекомендуется пользоваться средствами разработки PROGRESS.

Поддержка описанных выше технологий позволяет успешно интегрировать СУБД Progress с различными другими приложениями, например с Microsoft Office, используя последний для представления конечных отчетов.

Набор средств визуального программирования ProVISION позволяет создавать сложные многооконные PROGRESS-приложения, не снимая руки с мыши и не имея никакого представления о языке PROGRESS 4GL. Основной компонент ProVISION - AppBuilder - позволяет как создавать новые бизнес- приложения путем выбора компонентов из "палитры" и размещения их в рабочем поле AppBuilder. Эти компоненты представляют собой не просто экранные примитивы, но и наборы триггеров и методов, связанных с ними, что позволяет строить не просто красивые интерфейсы, а полнофункциональные приложения.

Кроме того, он позволяет, проводить разработку текстового приложения, ориентированного на эксплуатацию в среде UNIX, имеет возможность запуска разрабатываемого приложения в консольном окне и пошаговой его отладки с помощью графического отладчика PROGRESS Debugger.

ProVISION включает также средство визуального партиционирования сложных приложений, позволяя динамически определять, где должны исполняться те или иные части бизнес-логики приложения - на клиенте или на сервере.

Средство разработки Internet-приложений WebSpeed позволяет использовать Web-браузер в качестве пользовательского интерфейса к приложениям онлайновой обработки транзакций. Бизнес-логика приложений пишется на языке PROGRESS 4GL, пользовательский интерфейс строится в виде HTML-страниц, либо создаваемых с помощью любого HTML-редактора, либо динамически генерируемых PROGRESS - процедурами.

В процессе эксплуатации на клиентском месте нужен лишь обычный Internet-browser, через который пользователь работает с Progress-приложением совершенно не зная и не задумываясь о его существовании.

Краткий обзор особенностей СУБД Progress.

Поддерживаемые архитектуры СУБД: настольная, клиент/сервер, хост-терминал, Internet/Intranet.

Сетевые протоколы - любые.

Интерфейсные средства интеграции с другими, не Progress, приложениями: HDC, DDE, - ODBC, JDBC, DLL, Gateway, Socket, ANSI SQL92, XML, OLE, COM, ActivX, Java RMI, Case Bridges.

Поддержка целостности: блокировка записей, встроенные механизмы транзакций, транзакции с двухфазной фиксацией, триггеры, разграничение прав доступа на нескольких уровнях, использование средств для сбора статистики

Возможности администрирования: легкая масштабируемость незаметная для пользователя, многоступенчатый backup, журналирование транзакций, before-imaging и after-imaging, roll-back recovery и roll-forward recovery, автоматическое восстановление после любых сбоев.

Поддержка всех современных методик программирования:

модульно-процедурной, событийной, объектно-ориентированной (ООП), компонентно-ориентированной.

Поддержка аппаратных платформ: Windows XP/2000/2003/Vista, SCO, UnixWare, SCO OpenServer, Sun Solaris Intel & Sparc, IBM AIX, HP-UX, Linux Intel, Compaq Tru64, DG/UX Intel.

Возможна работа в гетерогенной сети очень сложной конфигурации. Приложения, разработанные на Progress, могут работать без переписывания на более чем 160-ти программно-аппаратных платформах.

Поддержка кодировок национальных языков: Windows - 1251, КОИ-8,- ISO 8859-5, ISO 866, UNICODE.

Характеристики и ограничения СУБД Progress

- Областей размещения для базы данных 1 000
- Таблиц в базе 32 000
- Записей в таблице 2 109
- Максимальный размер файлов журналирования 32 Тб
- Индексов в базе 32 000
- Полей в таблице 32 000
- Пользователей 10 000
- Одновременных транзакций 10 000
- Пул буферов 500,000 блоков 4 Гбайт
- транзакций в минуту 600 000 (IBM RS/6000)
- Максимальный размер записи 32 Кб
- Максимальный размер области размещения 16 Тб
- Максимальный размер таблицы 16 Тб
- Максимальный размер БД 80 Петабайт (1015)

Сегодня к современным информационным системам уровня предприятия предъявляются очень высокие требования производительности, надежности, обеспечения целостности и безопасности данных, защиты от системных и аппаратных сбоев, масштабируемости, возможности взаимодействия с другими системами, работы в гетерогенных распределенных вычислительных сетях, в том числе и глобальных. В немногочисленном семействе промышленных СУБД, отвечающих всем предъявленным требованиям, СУБД Progress является своего рода Золушкой, незаслуженно недооцениваемой широкой общественностью, но меж тем эксплуатируемой на многих российских промышленных предприятиях, в банках, государственных учреждениях и коммерческих структурах. В данной статье мы остановимся на обзоре архитектуры и возможностей СУБД Progress, являющейся частью интегрированной системы разработки критически важных (mission-critical) приложений, включающей в себя также средства визуального программирования на основе компонентно-ориентированного подхода, средства разработки приложений для Internet/intranet и компонентный сервер приложений.

СУБД Progress - это SQL-совместимая реляционная система управления базами данных, поддерживающая многосерверную и многопоточную организацию доступа к данным. СУБД имеет шлюзовую архитектуру.

Приложения Progress могут работать с данными из базы данных Progress, любой базы данных, для которой есть Progress DataServer или их комбинации, причем тип источника данных определяется только на этапе инсталляции и не требует изменений в приложении. Для доступа к своей базе данных Progress предоставляет ODBC Driver.

DataServer - шлюз нижнего уровня для доступа к другим источникам данных, в том числе и к распределенным.

При работе приложения через DataServer можно использовать специфические для конкретного сервера СУБД возможности, синтаксис и команды (например, использовать преимущества хранимых процедур Oracle, синтаксис PL-SQL, интерфейс SQL*Net) и/или расширять функциональность, используя специфические средства Progress, например триггеры.




Поделиться с друзьями:


Дата добавления: 2014-12-10; Просмотров: 1084; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.038 сек.