1998 г
Воссоединение SQL в 1995 г.: люди, проекты, политика
Под редакцией Пола МакДжонса
Перевод: Сергей Кузнецов
Страницы: назад 1 2 3 4 5 6 7 8 9 10 вперед
Перестрелка в OK Corral
Джим Грей: Я не понимаю ту часть, которая связана с появлением того, что называлось QBE.
Майк Блазген: О, это совсем другая история. Для обсуждения запросов мы имеем целую сессию.
Джим Грей: Нет, это стоит обсудить раньше.
Майк Блазген: OK, давайте займемся этим; это хорошая тема, ты прав.
Джим Грей: Был QBE, потом VS/QUERY и перестрелка в OK Corral; все это предшествует ...
Майк Блазген: OK, давайте это сделаем. Бред, можешь ли ты справиться с QBE?
Бред Вейд: Мне потребуется значительная помощь, поскольку по освященной веками традиции IBM мы имели группу System R, работающую над реляционными системами баз данных в Сан-Хосе, и мы имели Мойше Злуфа (Moshe Zloof), работающего над Query by Example57 - другой реляционной системой баз данных - в Йорктауне. Поэтому возникал вопрос, почему мы имеем в IBM две группы на противоположных побережьях, делающие в точности одно и то же. А точных данных о том, откуда появились Мойше и его группа и как они стартовали, у меня нет.
Майк Блазген: На самом деле, я знаю ответ и расскажу об этом только потому, что это интересно. В Йорктауне была группа, которая работала над некоторым проектом под названием Programming by Example.58 Идея состояла в том, чтобы можно было производить обработку бизнес-данных, таких как платежные ведомости, путем предоставления примера того, что требуется, да, это было нечто вроде получения похожего выходного результата. Если вы показывали системе заготовку программного обеспечения, которое хотели получить на выходе, она определяла, как получить его.
Джим Грей: Модель RPG.
Майк Блазген: Это было так: "Покажи мне, что ты хочешь получить на выходе и я определю, как получить это на основании доступных данных". Это никогда ни к чему не приводило. Знаете, что такое программирование по примеру на самом деле? Это реально произошло; это VisiCalc. Эта вещь наиболее близка к программированию по примеру, она очень близка, это именно то, о чем они думали. Но они никогда этого не получили, они никогда не получили VisiCalc. Но они получили нечто похожее, то, что называлось Query By Example. Это не программирование по примеру, но по крайней мере запросы по примеру. И идея состояла в том, чтобы можно было нарисовать картину ответа и сказать: "Вот ответ, которого я хочу", а затем система определяла как получить это и выдавала ответ. Это был Query By Example; Мойше Злуф был ключевой фигурой, а Петер де Джонг (Peter de Jong) - менеджером.
Бред Вейд: Query By Example был ранним графическим интерфейсом, если хотите, потому что можно было нарисовать картину таблицы на своем экране, и если хотелось "Salary = 10000", то нужно было бы написать "10000" в столбце Salary. И я думаю, что если были нужны люди с зарплатой больше 10000, нужно было бы написать в столбце Salary ">10000". Вместо раздела SELECT языка SQL нужно было написать "P." В столбце, к которому адресовался запрос. Я смутно помню игры в запросы с людьми из штата Злуфа, но по моим ощущениям простые вещи выражались на Query By Example просто, а сложные были невозможны; в то же время их можно было выразить на SQL.
Но в любом случае, в освященных веками традициях IBM мы имели две группы, делающие одно и то же. Вставал вопрос производительности. Выращивание побегов в OK Corral возникло из прямого сравнения производительности.
Джим Грей: Бред, я думаю, что до этого кое-кто полюбил QBE, и они на самом деле поставляли его.
Джим Мехл: Как RPQ или что-то вроде этого.
Джим Грей: Были люди в этой области, которым наравился QBE. Они рассказывали про ленточных библиотекарей, которые автоматизировали свои ленточные библиотеки с помощью этой системы, и Жене Триветт (Gene Trivett) наблюдал за этим и устранял некоторые проблемы, связанные с производительностью, и система получила неожиданное распространение по всей планете. У нее были очень верные приверженцы. Для каждого было очевидно, что система делает нечто замечательное. Это была программа для конечного пользователя. Поэтому возникали вопросы: "А почему бы нам не прекратить проект System R" или "Почему мы не развиваем эту вещь?". Я думаю, что Бобу [Джойллсу] эти вопросы задавались многократно.
Боб Джойллс: Группа VS/QUERY постоянно старалась взять все лучшее и из SQL, и из QBE, и позже это получилось. Но когда я управлял этой группой, нам определенно требовалось урегулировать все это. Но я никогда не участвовал в чем-либо, где QBE рассматривался бы как производственная замена SQL.
Джим Грей: Так в чем же заключалась цель перестрелки?
Пат Селинджер: Я думаю, что это направлялось исследовательским управлением.
Майк Блазген: Я расскажу вам, чем была перестрелка. Это было очень неприятное и интересное противоборство. Гомори беспокоил тот факт, что он серьезно инвестировал два проекта, в которых, как казалось, делаются примерно одинаковые вещи. Одним из наших аргументов было то, что у нас работают все эти сильные люди, такие как Франко и Джим, которые сделали RSS, а RSS был действительно хорошей вещью, действительно хорошим кодом, он до сих пор входит в SQL/DS; тот же самый код.
К. Мохан: Примерно когда это происходило?
Майк Блазген: У меня нет точной даты, но где-то в 1978 г., верно? Когда происходила перестрелка? 1978 г.? Гомори попросил Дика Кейса (Dick Case) произвести проверку работы. Дик Кейс привлек Ашока Чандру, который теперь возглавляет отделение Computer Science - он представлет собой поздний вариант Фрэнка Кинга - и еще одного человека; все они были незаинтересованными, но технически подготовленными людьми. Они поехали в Йорктаун и выучили все насчет QBE, а потом двинулись в Сан-Хосе, чтобы выучить все про System R, и я прочитал им длинную лекцию про то, как работает менеджер блокировок, как могут работать блокировки на основе Compare-and-Swap, как мы все это сделали и как можно реализовать Compare-and-Swap-Double. Дик Кейс был впечатлен, поскольку, видимо, именно он придумал Compare-and-Swap. Присутствовал Ашок, и обсуждался этот вопрос, можно ли реализовать QBE на SQL. Это был другой подход, если хотите, наш подход, который мы хотели применить в VS/QUERY и который заключался бы в том, что не следует писать QBE над интерфейсом RSS. Это означало бы наличие нескольких сред. Мы хотели иметь QBE как графический интерфейс, подчеркивая его сильные стороны - графику - и слабые стороны: XRM, отсутствие многопользовательского режима, плохое управление памятью и плохую производительность. Не было компилятора, только интерпретатор. Поэтому Ирв Трейджер выполнил гигантскую работу, трехмесячную работу, чтобы показать деталь за деталью, как можно отобразить QBE на SQL. Был спор относительного того, является ли язык QBE по-настоящему правильно специфицированным. В языке имелись двусмысленности, и у меня есть записи с собрания, на котором Петер де Джонг сказал: "Да, я не могу доказать, что вы не правы, но я уверен, что вы не правы. Я не приму вашего утверждения о том, что у нас есть двусмысленности, даже если вы задокументируете двусмысленности восемью разными способами". В любом случае, было показано, что это можно сделать. И эти ребята завершили там оценку системы, и одним из вопросом была производительность, поскольку мы утверждали, что наш способ реализации, помимо прочего, обеспечит гораздо лучшую производительность. Люди с дальнего востока сказали: "Нет, это неправильно, потому что речь идет о непредвиденных запросах, а для них больше подходит интерпретация". Они хотели программировать прямо над RSS.
Бред Вейд: Спасибо, Майк. Мои воспоминания далеко не так глубоки. Я помню, что все скатилось к производительности. System R работала на одной из 3270 в терминальном зале. Мы исталлировали QBE под другим идентификатором пользователя и имели доступ к системе с другого терминала в терминальном зале. Мы вставляли запал; мы вводили некоторый SQL-запрос; я не помню, что он должен был делать. Тот же самый запрос задавался с помощью QBE, после чего выполнялась самая сложная часть работы: мы одновременно нажимали на клавиши ENTER и с секундомерами в руках следили за тем, какая система первой выдаст результат. Не помню, через тридцать секунд или через минуту тридцать секунд System R выдала результат, мы повернулись к другому терминалу и - увидели крах системы. После этого звезда System R взошла более высоко.
Майк Блазген: Мы дали им возможность составить некоторые запросы, потому что они пришли ...
Брюс Линдсей: Ты имеешь в виду, что они не могли завершить выполнение никакого запроса?
Майк Блазген: Нет, могли. Имелась большая разница в производительности. Даже при том, что мы компилировали непредвиденные запросы
...
Джим Грей: Наиболее убийственная разница в производительности заключалась в том, что Бред умел вводить текст, а человек, который отвечал на QBE, вводил двумя пальцами и с массой ошибок. [смеется] Так что, когда они говорили: "Следующий запрос", Бред делал "Жжжжж". [смеется]
Майк Блазген: Ну, в любом случае, обнаружилась драматическая разница в производительности, и в наших головах звучали аплодисменты, хотя мы и не слышали их ушами. У всех было очень приподнятое настроение, поскольку разница в производительности была так велика; даже на запросах, которые Ашоку и Кейсу дал де Джонг, потому что он надеялся, что это наше слабое место, даже на этих запросах мы были существенно быстрее, в некоторых случаях, я думаю, на порядок.
???: Это делалось на UFI59?
Майк Блазген: Да, мы использовали UFI против интерфейса QBE.
Джим Грей: А что такое OK Corral?
Майк Блазген: Терминальный зал, в котором была разработана RSS.
Бред Вейд: После того, как все закончилось и наши визитеры уехали, кто-то - я не помню, кто - сделал табличку. Я думаю, на ней было написано "The OK Corral". И кто-то наклеил ее на дверь. Была такая картина, которую я смотрел в десятилетнем возрасте; знаменитый вестерн со стрельбой.
Ирв Трейджер: Wyatt Earp, Doc Holiday и Hirsh Cohen. [смеется]
Джим Грей: High Noon (Высокая луна).
Майк Блазген: Итак, вот что произошло, и это было здорово, и мы всегда потом называли это перестрелкой в OK Corral. Проект QBE был продолжен как IUP60, но эта система реально никогда нигде не работала; она не была существенно усовершенствована. В Санта-Тереза ее взять не захотели. DP, являющееся отделением продаж, которое поддерживало IUP, продолжало продавать ее, но без инвестиций.
Разные участники: QMF61.
Майк Блазген: Прошу прощения. Да.
Роджер Миллер (Roger Miller): Даже в виде QMF это средство не стало слишком популярным.
Роджер Бемфорд (Roger Bamford): Мы клонировали его.
Майк Блазген: Это интересно.
Пол МакДжонс: Теперь это называется Microsoft Access. [смеется]
Майк Блазген: Возможно, некоторая версия одержит победу.
К. Мохан: Но другие компании реализуют это, правда? Paradox и другие ребята выполняют свою реализацию.
Роджер Бемфорд: Я думаю, что исходные цели правильны: недопустимы никакие сложные вещи. Наши заказчики используют операторы SQL размером в страницы. В QBE это поставило бы вас перед стеной??? ... взять хотя бы все эти соединения и тому подобное.
Майк Блазген: Итак, появился отчет. Насколько я помню, в нем содержалось одобрение RSS.
Джим Грей: В особенности компонента индексации. [смеется]
Майк Блазген: Я думаю, что им особенно понравились блокировки; я думаю, что им понравилось использование Compare-And-Swap-Double. [смеется] И там содержалась некоторая неопределенная рекомендация, я не знаю, оказала ли она какое-нибудь влияние, но насколько мне известно, Злуф так никогда и не взял RSS. Петер де Джонг перешел в MIT и до сих пор там работает.
Бред Вейд: А Мойше; где теперь Мойше?
К. Мохан: В HP Labs. Он основал собственную компанию, которая не получилась, потом нанялся в Ashton-Tate; а теперь работает в HP Labs.
Джим Грей: А Петер в Apollo делает транзакции в CORBA; в HP Apollo.
Майк Блазген: С Мойше Злуфом произошло то, что он занялся некоторой вещью под названием Office by Example. На самом деле после того доклада, который я делал про SQL/DS, высупал Мойше с сообщением про Office by Example - OBE. Он получил целую группу из примерно двадцати пяти молодых настоящих программистов - не проектировщиков, он действительно заботился о том, чтобы нанять программистов. Так что у него была куча людей, и он добился того, чтобы ему дали собственное здание - Bernen House в Йорктауне, обустроился там и принялся за разработку продукта для PC. Гомори это полностью поддерживал. А потом в один из дней сменилось руководство - я думаю, что это было связано с уходом Бэнбаума (Birnbaum) и возвращением Херба Шора (Herb Schorr), а затем, возможно, Абе Пеледа (Abe Peled). И в какой-то момент эти люди напали на Мойше и сказали: "Мы не собираемся поддерживать эту работу на том уровне, на котором она поддерживается", а этот уровень составлял по сто тысяч на каждого из тридцати человек - три миллиона долларов в год. И Мойше это не понравилось, и он в конце концов ушел из IBM. Он образовал собственную компанию, которая так и не заработала, перешел в Ashton-Tate; потом компания Ashton-Tate была куплена компанией Borland, и он ушел в HP.
К. Мохан: Теперь он делает Rendering by Example62 - простое для использованию средство программирования по примеру. Так что, возможно, он возвращается к чему-то типа системы автоматизации бизнеса.
Перерыв
Проект System R завершается
Майк Блазген: ... в Eagle, VSS, все эти названия, в DB2, в SQL/DS. Леонард уехал в Нью-Йорк, я переместился в Вашингтон, округ Колумбия, и вы видите, как изменялся размер штата; штат сотрудников начал сокращаться. Образовались новые проекты; мы можем поговорить о новых проектах, но это не относится к теме встречи. Фрэнк [Кинг] - это было за несколько недель до того, как он покинул нас и вернулся на восток, чтобы получить свою работу - устроил обед, чтобы отметить вклад всех участников проекта. И я помню, что я сидел у себя за столом в Вашингтоне, и зазвонил телефон; это был Фрэнк, и он сказал: "Я бы хотел, чтобы ты пришел на этот обед". И я сказал: "Ты имеешь в виду, что это супружеский долг?" Он сказал: "Да", и я сказал: "Ты имеешь в виду, что хочешь отметить наш путь?" И он сказал: "Ну да". И мы все собрались вместе, хотя я находился далеко, и у нас был обед в Ла Хасиенда (La Hacienda), между Лос-Гатосом (Los Gatos) и Сараготой (Saragota).
Дон Чемберлин: Это происходило, когда у IBM были деньги.
Майк Блазген: И это было очень приятное событие; оно было очень хорошо проведено. Я полагаю, что это, вероятно, была работа Бреда Вейда: каждый из нас получил памятную медаль - я думаю, что здесь сегодня имеется три и четыре таких медали - с именами людей, внесших вклад в выполнение проекта; это был символ "соединения" - возможно, соединения в стиле QBE. [смеется]
Дон Чемберлин: Эта лента, которую мы представляли на конференции SIGMOD в 1976 г., демонстрирующая протитип Фазы Ноль, и Бред показывал ее ... и он показывал ее, переводя служащих из Эванстона в Ньюбург. Это была база данных Фазы Ноль.
К. Мохан: Когда был этот обед? В каком году?
Дон Чемберлин: Должно быть весной 1980 г., я полагаю.
Майк Блазген: Немного позже времени действия тех фильмов, которые вы только что видели; на три месяца позже.
К. Мохан: А это было в декабре 1979 г.
Майк Блазген: Между прочим, здесь написано "Дон Розенхайм, директор лаборатории". Я наткнулся на Дона Розенхайма неделю назад в Лос-Гатосе в компьютерном магазине; он торговал. Я сказал: "Привет, Дон; сто лет не виделись". Он сказал: "Ты все еще работаешь?" [смеется] Конечно, я все еще работаю. Его слова заставили меня почувствовать себя старым. На самом деле, я пригласил его зайти, но не настаивал на этом. Я не принуждал его, говоря "Ты должен придти". Я сказал ему, что он мог бы и заглянуть.
В любом случае, это был формальный конец проекта, и многие люди переходили ко все более и более крупным вещам. Возникали новые проекты, и Пол МакДжонс покинул наш насест. Том Прайс ушел. Боб Джойллс, поняв в конце концов, что не хочет жить в Калифорнии и работать на компанию, базирующуюся в Нью-Йорке, сменил место и стал работать на Калифорнийскую компанию. Бред и Дон занялись обработкой текстов63. Я не знаю, что делал Франко.
Франко Путцолу: Я ушел в Tandem.
Майк Блазген: Да, но в каком году? Ведь не сразу.
Франко Путцолу: В начале 1981 г.
Майк Блазген: OK, довольно скоро; вскоре после ухода Джима. Джим, конечно, ушел в Tandem. И немногие стойкие приверженцы остались в IBM: Ирв, я, Брюс Линдсей, Раймонд Лори и Пат Селинджер. И это был конец.
И в это время произошло много событий. На самом деле, они происходили в параллель, но в организационных целях их стоит упорядочить ... Я собираюсь попросить Пат Селинджер быть модератором оставшейся части нашей встречи.
Пат Селинджер: Хочу заметить, что Джим ушел из IBM только потому, что меня не было рядом, чтобы остановить его. В этот день я рожала. Это единственная причина, почему ты ушел.
Майк Блазген: На самом деле, я думаю также, и я говорил это много раз. Я был менеджером Джима и когда был менеджером первого эшелона, и когда был менеджером второго эшелона, и все время, пока я выполнял эту работу, он оставался, хотя говорил, что уж больно далеко ездить. Но он оставался, потому что я ему очень нравился, и когда я ушел, он сказал "Пфффф".
Джим Грей: Это правда; так оно и было64.
(57) M.M. Zloof. "Query by Example". Proc. NCC 44 (1975) pages 431-438
(58) M.M. Zloof and S.P. de Jong. "The System for Business Automation (SBA): Programming Language" CACM 20, 6 (June 1977) pages 385-396.
(59) UFI означает User-Friendly Interface.
(60) IUP означает Installed User Program.
Джим Грей: Разве не была выполнена повторная реализация как часть DB2?
(61) QMF означает Query Management Facility.
(62) R. Krishnamurthy and M.M. Zloof. "RBE: Rendering By Example", Proc. Eleventh International Conference on Data Endineering (March 1995), pages 288-297.
(63) Пол МакДжонс в конце 1976 г. ушел в Xerox. Том Прайс ушел в отделение офисных продуктов IBM в Остине. Боб Джойллс ушел в Tandem. Дон Чемберлин и Бред Вейд начали проект Janus.
(64) Замечание Джима: "Просто смешно. IBM сдвинулась еще дальше на юг в Скай Ренч (Sky Ranch). Тратить три часа в день на дорогу из Сан-Франциско и обратно было плохо и неправильно."
Страницы: назад 1 2 3 4 5 6 7 8 9 10 вперед