1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /120, 1995 г./ | Бонус | Поиск  

Обзоры

Загадка S.A.S.

Георгий Кузнецов


© 2004, Еженедельник «Компьютерра» | http://www.computerra.ru/offline
Этого материала на сайте "Компьютерры", к сожалению, нет

Интервью с руководителем фирмы "БиоСтат" Евгением Гришенковым проливает свет на происхождение и природу загадочной программной формации.

 – …ваша критика Oracle не для печати. Но Oracle и вообще реляционные СУБД по крайней мере близко знакомы многим. Что же такое S.A.S? Техническое существо решений непонятно, и вы его не раскрываете!

 – Ну почему же, пожалуйста. В течение двадцати лет подразделения информационных технологий создают системы для накопления оперативных данных. И в то же время системы не обеспечивают руководителей информацией. Потому, что там данные в жесткую схему заложены и <руководители и аналитики> не могут пользоваться информацией так, как они хотят. Не так, как хочет конструктор Oracle, или как удобно операционистке, а...

Там все зашито в CASE-технологию, которая сама по себе определяет наличие жесткой схемы. Для исследования данных нормальное дело – перестраивать схему, соединять данные в разных комбинациях. При этом убираются все связи, которые существуют в этих жестких системах, транзакционных. Те связи между данными, которые гарантируют целостность и сохранность.

 – Но там же не существует таких связей, о которых вы говорите... Там нельзя вводить данные произвольным образом. В системе SAS это можно...

 – Там нет связей. Связи в ER модели В самой БД, физически, есть отношения, а у них одинаковые по семантике поля, по которым их можно соединять, можно не соединять, а можно соединять так, как проектом не предусматривалось. Связи есть в сетевых СУБД. Другое дело, индексы, интерфейсы пользователя...

Елки зеленые, я пришел взять интервью и вовсе не собирался выступать на какие-либо темы. Но как направить дискуссию на SAS, если собеседник хочет говорить только об Oracle? Вот, наконец-то...

...Мне бы хотелось больше говорить о SAS, а не о таких вещах.

 – Да, и мне бы хотелось слушать o SAS.

 – Как написано в этой статье, ключевые компоненты – управление, организация, эксплуатация. Под управлением понимается организация конвертирования данных из транзакционных систем. Для этого нужны возможности на уровне мощного языка программирования, которые в SAS изначально присутствовали.

 – Что это за язык? На что он похож?

 – Сейчас его называют 4GL SAS (аббревиатура 4GL означает графический язык четвертого поколения; истинный смысл этого словосочетания давно забыт, а по назначению 4GL были предшественниками современных RAD – Г.К.) Но он отсутствовал в SAS пятнадцать лет назад, и тогда назывался язык запросов... язык высокого уровня. Процедурный язык, который выглядит примерно так... могу показать. Здесь многие примеры сохранились еще с тех времен, когда были перфокарты.

Действительно, текст, который мой собеседник показывает на экране, носит явно перфокар-точный характер. Впрочем, вид интерфейса говорит даже больше. SAS под Windows выглядит аскетично, то и дело мелькают окошки с белыми буквами – верный признак того, что разработчики не склонны приносить истинные программистские ценности в жертву бесполезным украшениям.

 

 Язык состоит из шагов DATA и шагов PROC. В шаге DATA создается набор данных, база данных, а в шаге PROC снимается справка с этой базы данных... Здесь развитые средства программирования на уровне языка PL/1, но более лаконичные. Я перешел в SAS с PL/1 на мэйнфреймах, и SAS мне больше нравится.

 – А база данных что собою представляет?

 – База данных – прямоугольная таблица. Вот, можно посмотреть...

 – Вы описываете что-то вроде dBase.

 – Эта идеология была в SAS 1972 году, когда дибейса не было в помине. Тогда язык SAS назывался языком сверхвысокого уровня, в него интегрированы многочисленные аналитические средства.

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

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

SAS начинался, как система анализа. Очень быстро поняли, что для анализа данными надо манипулировать, поэтому стали развивать средства управления данными, подготовки данных к анализу. Данные лежат в прямоугольных таблицах. Можно считать, что это файлы. Таблицы можно слить, объединить. В общем виде допускается теоретико-множественное объединение. Можно выбрать подмножество строк и столбцов, создать новую таблицу

 – Все то же делает SQL...

 – Да. На самом деле SQL появился позднее и язык SAS его в себя включил. Сейчас SAS полностью поддерживает SQL Но SQL не все возможности поддерживает должным образом и нужным образом. Есть фанатики SQL, считающие, что на нем можно делать все, но 4GL SAS доказал, что он необходим. Пользователям SAS дается возможность выбора, всегда. Это очень большая система – 6,5 миллионов команд исходного текста, и все это поддерживается, сопровождается.

Какие недостатки SQL? Например, при работе в системе "клиент-сервер" SQL там, на том конце, может суммировать, но только в отдельных группах. Для того, чтобы выдать нормальный отчет из многих групп, к файлу надо обращаться много раз. Язык 4GL SAS делает это эффективно. А на SQL они делают форматированный отчет...

 – Я понял. Давайте оставим это. Я не принадлежу к числу фанатиков SQL. У него есть хорошо известные слабости, есть вещи, которые он делает удивительно плохо, и нетрудно привести пример, когда процедурное вычисление будет эффективнее на порядок. Для хорош, для чего служит SQL тоже понятно. Его почти всегда дополняют процедурным языком, отсюда весь известный букет проблем: логика приложений размазывается между хорошо формализованными обращениями к СУБД и текстами на обычных языках, и так далее. Так что же, SAS – это как обычная СУБД с языком программирования, просто из одних рук? И это все о нем?

 – В SAS есть три языка. Просто 4GL, затем 4GL плюс SQL с интегрированными средствами анализа, что очень важно. Еще есть screen control language для управления транзакциями. И еще интерактивный матричный язык IML, интегрированный в 4GL.

 – Как APL?

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

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

 – Но вы описали очень сложную, богатую возможностями среду, которая, видимо, требует от пользователя высокой квалификации. Почему же вы изображаете систему SAS как легкую, удобную для непрофессионалов?

 – Язык 4GL проще BASIC. Да и SQL не сложнее Кстати, над этим всем хозяйством есть еще объектно-ориентированная надстройка типа RAD. В ней есть среда для разработчиков-программ истов, где они могут даже имитировать Visual Basic, и среда для тех, кто не хочет программировать. Есть набор готовых объектов, из которых строится приложение. Работать с ними не сложнее, чем с электронными таблицами

За сведениями об этой части SAS г-н Гришенков направил меня к своему заместителю, а я решил отложить рассказ до будущего обзора по RAD. Пока рад сообщить вам, что SAS котируется на уровне PowerBuilder и NewEra, более того, выигрывает у них конкурсы.

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

SAS, оказывается, значит Statistical Analysis System. Такова была ее первоначальная миссия. Поэтому здравомыслящих читателей, если им нужны программные средства в этом роде, я бы просил обратить внимание на то, что SAS правильно начинает. Как устроена система данных DWH, это ведь внутренний вопрос. Полезный эффект достигается при анализе этих данных.

По словам г-на Гришенкова, у "БиоСтат" около сотни клиентов. Правда, больше половины лицензий для DOS, a SAS решил не заниматься больше этим направлением. Однако в "БиоСтат" полагают, что и у ведущих, самых шумных поставщиков реляционных СУБД "живых", эксплуатируемых систем немногим больше.

 


1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | Оглавление текущего номера /120, 1995 г./ | Бонус | Поиск  

© 2004, Издательский дом «Компьютерра» | http://www.computerra.ru
Телефон редакции: (095) 232-22-61
E-mail редакции: inform@computerra.ru