|
|
|
Автоматизированная банковская система "Сатурн" | |
|
Планируя приступить к разработке АБС четвертого поколения в 1994 году, мы были поставлены перед проблемой выбора системы управления базами данных (СУБД), максимально отвечающей поставленным задачам. Нет необходимости говорить о важности выбора СУБД - от него зависит весь цикл существования и развития информационной системы. Основными критериями, которыми мы руководствовались при этом выборе были:
Оптимальным образом указанным критериям соответствовал набор продуктов фирмы Informix Software, Inc. Informix Online Dynamic Server - мощный и гибкий SQL-сервер, работающий практически на любых реализациях операционной системы UNIX. Для банковских приложений наиболее критичными факторами являются отказоустойчивость сервера баз данных и его способность одновременного выполнения большого числа транзакций, а поскольку Informix Online ориентирован именно на такого уровня приложения, его выбор в качестве базового сервера наиболее естественен. Надежность достигается, во-первых, использованием в качестве операционной системы ОС UNIX, известной своей устойчивостью - одним из следствий продуманной архитектуры, во-вторых, за счет ведения физических и логических журналов (журналов транзакций), позволяющих, даже в случае сбоев оборудования или отключения электропитания во время выполнения транзакций, автоматически (без участия пользователя) полностью восстановить базу данных, какой она была на момент до выполнения незакончившейся транзакции. Для возможности восстановления актуального состояния базы данных в случае необратимого отказа оборудования, к примеру, жесткого диска, предусмотрено онлайновое (в процессе обычной работы сервера) копирование изменений на внешнее устройство. Для дополнительной надежности можно также использовать "зеркальный" диск или "зеркальный" SQL-сервер. Другим немаловажным фактором является способность СУБД справляться с огромными объемами информации, причем представленными весьма сложными выборками и группировками данных, что зачастую применяется в больших отчетах, в том числе при использовании так называемых систем поддержки принятия решений (DSS). Эта возможность достаточно эффективно реализуется благодаря масштабируемости архитектуры SQL-сервера, в частности, за счет многопоточной архитектуры его ядра. Например, когда сервер обнаруживает, что выполняемый запрос будет обрабатывать значительный объем данных, он соответствующим образом предоставляет ему больше ресурсов - формирует дополнительные потоки обработки, причем в ряде случаев исполняемые параллельно, выделяет дополнительную память и так далее. Informix Online достаточно прост в установке и администрировании - на весь процесс установки и настройки сервера уходит не более одного-двух часов, после чего он годами без остановок может работать в режиме online, то есть в режиме обработки запросов. При необходимости ряд изменений в настройке сервера может быть сделан администратором без его остановки, и лишь достаточно радикальные изменения, такие как параметры разделяемой памяти или максимальное число логических журналов, потребуют остановки сервера на несколько минут. Cозданный для работы в архитектуре клиент-сервер, Informix Online поддерживает несколько интерфейсов с программами-клиентами, причем все эти способы могут применяться одновременно. Если клиент исполняется на том же компьютере, что и сервер, наиболее эффективным является использование межпроцессного взаимодействия через разделяемую память (ipcshm), для взаимодействия в сети используются интерфейс tli или сокетов и сетевые протоколы IP или IPX/SPX. При этом клиент может исполняться на другой UNIX-машине, персональном компьютере с ОС Windiws, и так далее. В качестве базового языка программирования для разработки прикладных подсистем АБС "Сатурн" был использован проблемно-ориентированный INFORMIX-4GL (язык четвертого поколения). Этот язык, оперирующий понятиями уровня базы данных и содержащий встроенный SQL, более адекватно подошел для написания функционального ядра "Сатурн", алгоритмов расчетов, нежели универсальные языки программирования, такие как C или PASCAL. Поскольку 4GL содержит прозрачный интерфейс с языком C, в ряде случаев, когда его возможностей или гибкости было недостаточно, применялись модули на C. Informix-4GL позволяет создавать приложения, осуществляющие интерфейс с пользователем на любых типах терминалов, описанных в системе UNIX, используя как termcap, так и terminfo, или с помощью эмуляторов терминалов, выполняемых на персональных компьютерах с процессором начиная от i80286, благодаря чему можно экономить значительные средства на обновлении вычислительного парка.
Мы - партнеры Informix Software GmbH с сентября 1995 года, партнеры основных дистрибьюторов Informix в России - фирм "Терн" и DataXFlorin". Ваши замечания и предложения присылайте на адрес: webmaster@rubtsovsk.ru © Copyright 1999 RSoft |