System R
Майк Блазген
: Итак, мы затронули вспомогательные, периферийные предметы и теперь можем приступить к началу System R, уже представленной Доном вместе с этой оперативной группой и другими случившимися событиями, которых я не знал. Моей исходной идеей было то, что эта двадцатилетняя годовщина должна быть годовщиной некоторого конкретного события, происшедшего в один из дней. Я собирался представить в качестве такого дня тот, в который проект стал именоваться System R. К этому времени проект полностью оперился; существовала представленная здесь мною схема. Некогда была System R; все прочие названия отпали: RDS, RSS. В действительности, исторически это могло произойти другим образом: возможно, эти названия привели к имени System R. Я думаю, что это произошло в конце 1974 г., почти на Рождество. Помнит ли кто-нибудь более точную дату? Ирв, я знаю, что ты принимал в этом участие. Я помню, как вы с Фрэнком ходили по холлу, разговаривая про название.
Ирв Трейджер
: Леонард наказал, чтобы мы все искали имя для проекта. Мы только пожимали плечами: "Это неважно". Он сказал: "Важно иметь имя для целей опознания". В течении недель мы пытались подобрать имя. Одно было Rufus, имя собаки Франко.
Франко Путцолу
: Rufus было бы более хорошим названием. Оно означает Relational User Friendly Universal System.
Майк Блазген
: Это было бы более хорошим названием.
К. Мохан
: Позже у нас действительно был проект под названием Rufus. Курт Шоунс (Kurt Shoens) ...
Ирв Трейджер
: Это было действительно трудно.
Майк Блазген
: Так проект получил название приблизительно в конце 1974 г.?
Ирв Трейджер
: Не помню.
Том Прайс
: Это было в то время, когда Леонард заставил вас всех работать на Рождество? Как-то я слышал историю про то, как он не разрешил никому отсутствовать во время праздника Christmas Eve.
Дон Чемберлин
: Это было в Йорктауне; да, я помню это. [смеется] Это было в пятницу перед Рождеством, и в лаборатории была вечеринка с явствами, Санта Клаусом, музыкой и всем остальным в кафетерии, а Леонард хотел в то же время техническое собрание. Леонард ожидал многих своих людей, и им от него хорошо досталось.
Майк Блазген
: Леонард был оригинальным человеком: много огня и серы, энергии и силы и прочие такие пары слов. Я помню, как в году 1975-м мы сбежали на пляж в Пайаро Дюнс, и Леонард встал и сказал: "OK, и что плохого происходит в отделе? Что плохое делаю я?" И он заставил говорить каждого. Каждый из нас жаловался. А он записывал этот список жалоб. Он ничего не говорил. Он только записывал жалобы. И потом он сказал: "OK, замолчите" и проговорил два часа без перерыва, объясняя нам, главным образом, то, что все наши жалобы были некорректны. [смеется]
Управление на основе консенсуса: я решил; вы соглашаетесь. [смеется] Это было поразительно; он совершенно не обращал внимание на то, что он поступает таким образом. И это работало; у него это очень хорошо работало. На случай, если вы этого не знаете, теперь он является COO (Chief Operating Officer) компании Cadence. IBM - заказчик номер один этой компании. Они продают средства проектирования электроники для размещения наших схем на чипах.
Кстати, эта штука с System R заставила меня показать вот эту картинку. Я не знаю, когда она была нарисована, но это моя любимая картинка. На ней разговаривают кролик и бобер, а за ними вы можете видеть Hoover Dam. Бобер говорит кролику: "На самом деле, я ее не строил, но она основана на моей идее." [смеется] Так вот, это маленький бобер - это System R, поскольку я не думаю, что продолжает использоваться большая часть кода System R; я полагаю, что кое-что - в SQL/DS.
К. Мохан
: Действительно, кое-что используется; главным образом, RSS.
Майк Блазген
: Замечательно, компонент индексации по-прежнему жив. [смеется] Это то, что я писал, и компонент индексации по-прежнему входит в продукт SQL/DS.
К. Мохан
: И все, что связано с теневыми страницами.
Майк Блазген
: О, теневые страницы тоже там? Это штучки Раймонда Лори.
К. Мохан
: И все вещи, относящиеся к управлению записями.
Брюс Линдсей
: Пул памяти.
Брэд Вейд (Brad Wade)
: Хотелось бы знать, может ли кто-нибудь сейчас понять это.
Пат Селинджер (Pat Selinger)
: Мохан по-прежнему читает об этом лекции.
Майк Блазген
: Вам не нужно все это понимать; от вас требуются только обеспечивать оборот и доход. Это то, что нужно сегодня.
???
: Многие из нас живут этим.
Майк Блазген
: Верно. Итак ...
Брэд Вейд
: Прежде, чем мы оставим разговор о названиях, напомню, что были еще имена RDS и RSS. Конечно, Дон был менеджером RDS до того, как это стали называть RDS; Ирв был менеджером RSS до того, как это стали называть RSS. У них был общий автомобиль, и однажды они пришли и сказали: "OK, вот вам названия: Don и Irv - Data Organized Naturally (Естественно Организованные Данные)". А как расшифровывался Irv, я забыл. Что-то вроде Intermediate или Interactive Relational ...
Майк Блазген
: Intermediate Retrieval Vehicle (Промежуточное Устройство Выборки)? Как насчет этого? Звучит хорошо. Нет, существовало Peterlee Relational Test Vehicle, так что буква V уже использовалась как приемлемый термин в Реляционной терминологии. Так что придется использовать Vehicle где-нибудь еще.
Итак, как насчет того, что происходило с System R? Ирв и Дон были менеджерами проекта. Почему бы одному из вас не повести нас по истории System R?
Дон Чемберлин
: Я думаю, что для этого потребуемся мы оба. Я начну.
Это не должен быть монолог; пожалуйста, вставайте и помогайте мне. Как сказал Ирв, в течение долгого времени после прибытия Фрэнка в Калифорнию у нас было много собраний, много обсуждений и оперативных групп; мы старались организовать подход к выполнению этой работы. Что довольно интересно, Тед Кодд не принимал в этом такого участия, которого следовало ожидать. Он занялся обработкой естественных языков и написал очень большую программу на APL под названием Rendezvous,. Он действительно не слишком влезал в болты и гайки System R. Я думаю, что он, возможно, хотел сохранить дистанцию между собой и System R на тот случай, если бы мы не справились с работой. А я думаю, что он сказал бы, что мы и не справились.
Майк Блазген
: О, он говорил это много раз.
Дон Чемберлин
: В результате получилось, что мы организовались в две группы: группу верхнего уровня, которую в конце концов назвали RDS и интересы которой относились главным образом к языковым вопросам, и группа нижнего уровня под названием Research Storage System, которую больше интересовали вопросы физического управления данными. Я в основном могу рассказать о том, что происходило в дни в верхней половинке проекта и я надеюсь, что Ирв и, может быть, кто-нибудь еще - Джим - расскажут о том, что делалось в нижней половинке.
Что действительно произошло в эти ранние дни, это то, что группа Ирва начала разработку нового интерфейса управления данными с поддержкой индексов, блокировок, журнализации, мультидоступа и транзакций и подобного рода вещей. Тем временем языковые ребята хотели построить прототип своего языка и нуждались в базе, а RSS была не готова. Единственно, чем мы могли воспользоваться, - это нечто под названием XRM, разработанное Раймондом Лори в Научном центре Кембриджа. Поэтому в начальные дни мы построили прототип языка над XRM; мы назвали это Фазой Ноль. У Брэда есть замечательная лента, которую многие из вас видели вчера вечером, представляющая полный работающий прототип SEQUEL в 1976 г. В прототипе были реализованы утверждения целостности, которые только сейчас появились в продуктах, спустя двадцать лет. [смеется] И мы продемонстрировали это, по крайней мере, показали ленту на конференции SIGMOD. Это было в 1976 г.?
Брэд Вейд
: В 1976 г.
Дон Чемберлин
: Надеюсь, что сегодня мы сможем увидеть эту ленту снова. Это замечательная лента; вы сможете увидеть Брэда с усами размером в велосипедный руль. Хорошее дело.
Фрэнко Путцолу
: Дон, а у вас был заказчик в Новой Англии?
Дон Чемберлин
: Да, на самом деле, как мне кажется, это было самым высшим достижением Фазы Ноль. Это интересная история. В те дни была куча проблем с дефицитом горючего; организация OPEC только что подняла цены на нефть, бензиновые компании экономили ее, и на заправочных станциях стояли очереди. В Школе управления MIT (MIT Sloan School of Management) имелись некоторые планы в Новой Англии, где они получили грант для производства нечто под названием New England Energy Management Information System, NEMIS, и им была нужна база данных для отслеживания того, насколько полны нефтяные цистерны, и подобных вещей. Научный центр Кембриджа был довольно близко связан с San Jose Research, и они взяли это прототип Фаза Ноль и работали с ним в Школе управления над этой энергетической системой управления. Кстати, одним из студентов MIT, привлеченным к этой работе, был некто по имени Боб Селинджер. Боб, не совал ли ты свои руки в Фазу Ноль и не использовал ли ты ее немножко кое для чего? В результате Боб приехал в Сан-Хосе как летний студент, поскольку у него был опыт обращения с прототипом Фазы Ноль. Когда он приехал в Сан-Хосе, то познакомился с некой особой по имени Пат Гриффитс (Pat Griffits). Вот как Боб попал в IBM.
Так что я думаю, что высшим достижением Фазы Ноль было ... [смеется]
Пат Селинджер
: А эта энергетическая система управления когда-нибудь использовалась?
Боб Селинджер
: В ней были базы данных. Я не уверен, что они широко использовались. Реально они использовали систему как базу данных для разработки проектов. Сохранялись площадь, число окон, а надо всем этим запускались какие-то программы на Фортране. Для извлечения данных существовал мост между Фортраном и, по-моему, PL/1. Это был хороший хоккей.
Дон Чемберлин
: Итак, вот чего хотела делать языковая группа, когда мы первый раз организовались: мы начали с основы SQUARE, но мы были не слишком удовлетворены этим. Прежде всего, было невозможно вводить текст с помощью клавиатуры, поскольку в языке использовалась куча забавных символов. Поэтому мы начали с разговоров, что нужно адаптировать идеи SQUARE к подходу с применением англоязычных ключевых слов. Такой текст было легче вводить, поскольку он основывался на структурах английского языка. Мы назвали этот язык Structured English Query Language (структурированный англоязычный язык запросов) и использовали акроним SEQUEL. И мы приступили к построению прототипа SEQUEL на основе метода доступа Раймонда Лори под названием XRM.
В это время нам захотелось выяснить, годится ли этот синтаксис для чего-либо, а в нашем штате, по непонятным причинам, имелся лингвист. Ее звали Филлипс Райзнер (Phyllips Reisner), и ее любимым делом было проведение экспериментов, связанных с человеческим фактором. И она отправилась в университет Сан-Хосе (Sun Jose State University) и подрядила группу студентов для обучения их языку SEQUEL, чтобы посмотреть, смогут ли они ему научиться. Она занималась этим несколько месяцев и написала об этом статью, получив признание за свою работу в сообществе человеческого фактора,. Я не уверен, что результаты были очень убедительны; они показали, что если достаточно усердно трудиться, то можно обучить SQL студентов колледжа. [смеется] Большее число ошибок, которые они делали, реально не имели никакого отношения к синтаксису. Они делали множество ошибок - они не умели правильно писать печатными буквами и т.п.
Глядя назад, я не думаю, что проблема, которую, как нам казалось, мы решали, была настолько важной. Мы думали, что мы даем возможность взаимодействовать с базами данных непрограммистам. Мы думали, что открываем доступ к данным целому новому классу людей, которые могли бы что-то сделать, но не имели такой возможности, поскольку не умеют программировать. Это происходило до наступления эпохи графических пользовательских интерфейсов, которые, в конечном счете, произвели своего рода революцию; но мы ничего не знали об этом и думали, что мы обогащаем мир, делая данные доступными для непрограммистов. Все это выеденного яйца не стоит. Реальная проблема, над которой мы не думали - или, по крайней мере, которой не уделяли достаточного внимания, состояла в том, как встраивать языки запросов в языки программирования и как сделать язык, который служил бы средством обмена между разными системами. Именно в таких применениях язык SQL добился наибольшего успеха, а совсем не как язык конечных незапланированных пользователей. Так что проблема, которую мы решили, была совсем не той, про которую мы думали, что ее решаем.
Так или иначе, мы работали над этим языком, переделывая для этого SQUARE и подлаживая его к английскому языку, а затем мы начали добавлять к языку кучу вещей типа GROUP BY, которые совсем не были унаследованы от SQUARE. Так что нельзя сказать, что мы были очень удовлетворены SQUARE. Мы написали две статьи: одну про SEQUEL/DML и другую про SEQUEL/DDL. Мы очень тесно сотрудничали в этом. Авторами статьи про DML были Чемберлин и Бойс, авторами статьи про DDL были Бойс и Чемберлин безо всяких на то причин; мы всего лишь хотели их разделить. В тот год мы хотели поехать в Стокгольм, поскольку там проходил конгресс IFIP. У меня был билет до Стокгольма в связи с одной работой, которую я делал в Йорктауне, поэтому Рей представил статью про DDL на конгресс IFIP в Стокгольме, а статью про DML мы представили в SIGMOD. Вот первая страница статьи про SEQUEL/DML. Всего в ней 24 страницы. Мы считали, что это статьи-близнецы. Мы писали их вместе и думали, что они равнозначны. Но с ними обошлись по-разному. Статья про DDL была отклонена конгрессом IFIP; Рей не поехал в Стокгольм. Я все еще храню эту статью у себя в ящике; она никогда не была напечатана. Статью про DML приняли в SIGMOD. Несколько лет спустя мне позвонил парень по имени Ларри Эллисон (Larry Ellison), который читал эту статью; он выгодно использовал некоторые идеи этой статьи. [смеется] Последнее воплощение этих идей подлиннее 24 страниц; это стандарт ISO языка SQL, который описывался на прошлой неделе Нельсоном Маттосом (Nelson Mattos) на конференции SIGMOD. В нем теперь около 1600 страниц.
Джим Грей
: Вон там [ на столе артифактов] лежат две большие папки.
Марио Школьник
: Дон, я помню, ты рассказывал, что Ларри Эллисон позвонил и спросил про коды ошибок; какие коды ошибок будут использоваться в IBM. Ему хотелось быть совместимым.
Дон Чемберлин
: Ларри звонил. В то время его компания не называлась Oracle. Его компания два раза меняла название. Исходным названием было Software Development Laboratories. Он услышал про прототип System R и захотел добиться того, чтобы его продукт был полностью совместим с System R, вплоть до значений кодов ошибок. Он пришел и спросил Фрэнка: "Вы можете дать ваши коды ошибок этому парню Эллисону?", и Фрэнк ответил: "Нет - это конфиденциальная информация IBM".
Франко Путцолу
: Это была единственная конфиденциальная часть.
Майк Блазген
: Знаете, интересна вся история. Когда мы представили статью в TODS, один из рецензентов сказал, что мы должны включить в статью BNF языка SEQUEL, что мы и сделали; но в исходном варианте статьи этого не было. На этом включении настаивал рецензент и этого требовал редактор, и мы его вставили, хотя думали, что было ... что-то не так. Я думаю, что по соображениям человеческого здравого смысла нам не следовало этого делать; нам не следовало включать это дополнение, потому что оно было слишком детальным, облегчая желающим процесс воспроизведения. Я не уверен, что это так, но ...
Джим Грей
: А что вы туда вставили?
Майк Блазген
: BNF - синтаксис. Нет, семантика в статье содержалась; она не менялась, мы всегда ее описывали. Но детали синтаксиса ... Леонард, например, много лет спустя ощущал, что это была большая ошибка; мы никогда не должны были этого делать.
Франко Путцолу
: Еще позже я подумал, что публикация чего-либо была большой ошибкой.
Жозефин Ченг (Josephine Cheng)
: Просто нужно запатентовать материал, прежде чем его публиковать.
Майк Блазген
: Люди должны знать, что патенты были в основном запрещены. В то время патенты были запрещены компанией и Верховным судом. Патенты на программное обеспечение.
Франко Путцолу
: Я помню, что до 1979 г. мы публиковали все, что приходило в голову, независимо от того, было это реализовано или нет, или мы только мечтали об этом; а затем внезапно появился барьер.
Майк Блазген
: Да, в один прекрасный момент мы решили, что могли бы сделать на этом деньги. Ведь это был комплимент, не так ли?
В 1975 г. или около того мы подготовили большой пресс-релиз в связи с началом этого дела. И он был запрещен GPD. Они не разрешили нам публиковать пресс-релиз, вы помните об этом?
Ирв Трейджер
: Я не помню.
Майк Блазген
: У нас было работы со статьями. На самом деле, в этом участвовала Шарон. [смеется] Моя жена была юристом, и она помогала им запрещать публикацию.
Боб Йост
: Вы думаете, что могло бы получиться что-нибудь удачное, если бы IBM держало все закрытым? Я так не думаю. Я не думаю, что в этом случае получилось бы что-нибудь близкое по успеху.
Франко Путцолу
: Я думаю, что решающим является тот факт, что прототип был использован в SQL/DS и DB2, а не то, что он был популярен в университетах.
Майк Блазген
: Обычно я много говорю об этом. В течение долгого времени я был чем-то вроде штатного рассказчика про System R, и многие люди в IBM задавали мне этот вопрос. Мой ответ в точности совпадал с тем, что сказал Йост: если бы мы не опубликовали эти статьи, ничего бы не получилось. И причиной провала было бы то, что IBM проигнорировала бы эту работу.
Все
: Да.
Майк Блазген
: Нет, понятно, что если бы мы могли изменить историю и не публиковать эти статьи, и при этом знать, что появятся SQL/DS и DB2, то было бы лучше, если бы эти ранние статьи не были опубликованы. Но я убежден, что единственное, чем каждый был озабочен ... Джоллс скажет что-нибудь по этому поводу. На самом деле, в то время это было слишком рано; время должно было наступить. Но я убежден, что публикация была правильным делом. Я много знаю об этом, потому что я работал на RISC. Я был и менеджером проекта 801. По поводу этого проекта вообще ничего не публиковалось, и было гораздо труднее его раскрутить. Было гораздо труднее заставить IBM делать что-нибудь по этому поводу. Мы передали разработку компании Sun. SPARC был первым популярным RISC-процессором, и только после того, как компания Sun перешла к применению RISC, нам удалось заставить IBM проснуться.
Том Прайс
: DB2 началась только после того, как Эллисон начал делать Oracle?
Майк Блазген
: Нет, Эллисон не являлся фактором SQL/DS, а насчет DB2 я не знаю.
К. Мохан
: Нет, я говорил, что SQL/DS появилась после появления Oracle.
Майк Блазген
: О, это так, но это только показывает, сколько времени требуется IBM, чтобы что-нибудь сделать.
Ирв Трейджер
: Итак, если вернуться ко времени оперативных групп System R, которая еще так не называлась, существовало это мнение о запуске прототипа Фаза Ноль, о котором говорил Дон. Было понятно, что GAMMA-0, XRM и другие системы не обеспечивают правильную платформу. Все они обладали странной особенностью - каждая из них. Ни одна из них не хранила значения в кортеже. Они сохраняли 32-битовые штуки, которые ссылались на значения. Это было время маленьких дисков и маленькой памяти. Считалось, что если кто-либо был программистом или жил в Пафкипси (Poughkeepsie), нежелательно хранить значения "programmer" и "Poughkeepsie" больше, чем в одном экземпляре. Вы должны были иметь эти классы имен, таких как названия городов, наименования должностей и тому подобное - имена людей. Вы должны были хранить ссылки на элементы этих классов для доступа к строкам переменного размера. Все они делали именно так; все они. RAM была бинарной; идентификатор кортежа, ссылка на одно значение и ссылка на другое значение. Если этого достаточно, прекрасно, но этого оказывается достаточно очень, очень редко. Но что происходит, когда вы ищите всего-навсего один кортеж? Например, "Расскажите-ка мне про Мохана из файла Employee". Накладные расходы могут быть невероятными, поскольку нужно пройти по этому указателю и пройти по тому указателю, и почему бы не хранить все значения вместе, как это в некотором роде делалось в VSAM, IMS и DBTG.
Так что мы быстро пришли к этой реализации, а затем, опять же в режиме оперативной группы, который со временем утомляет, мы пришли к понятию промежуточного уровня, названного SLI - System Logical Interface. Он должен был обеспечить возможность выполнения запросов над множествами, но, насколько я помню, с одним индексом, одним полем и одной таблицей. SEQUEL должен был каким-то образом транслироваться в эти более мелкие штучки, и нужно было склеивать сложные запросы. Над этой идеей приступила работать моя группа, в то время как Дон, Рей, Пол Фехдер (Paul Fehder) и Мортон Астрахан работали над прототипом Фазы Ноль. Но в действительности никому из нас не нравился SLI, поэтому работа постепенно истощалась.
Происходило еще кое-что, что способствовало сворачиванию этой работы: мы вступили в заговорщические отношения с Франко. Франко был отозван из Йорктауна на основе соглашения Леонарда Лью и Гомори (Gomory) о том, кто должен переехать. Он не планировал работать над System R. Эд Альтман (Ed Altman) был одним из руководителей проекта DIAM в отделе Майка Сенко и занимал менее ответственные должности в разных других группах Computer Science. Я думаю, что Франко был вызван для того, чтобы разрабатывать с Альтманов средства физического проектирования баз данных ...
Франко Путцолу
: Да, что-то вроде этого; я никогда не выяснял.
Ирв Трейджер
: ... возможно, этим руководил пришедший из группы Сенко К.П. Ванг (C.P. Wang). Очень деликатным вопросом было то, как Леонард будет балансировать разделение мозгов между ветвями Альтмана и Фрэнка Кинга, поскольку ему не хотелось создавать впечатления, что он отбирает преимущества старой группы DIAM и покровительствует Фрэнку Кингу. Поэтому некоторые пребывающие сильные люди направлялись к Альтману, в том числе и Франко. Как-то днем Леонард сказал мне, чтобы я поговорил с Франко, я не знаю, почему он хотел, чтобы это сделал я; он был застенчивым человеком. И было ясно, что Франко весьма и весьма перспективный парень. Он знал, что делалось в области баз данных раньше, и он беспокоился о приложениях. Он читал эти непонятные небольшие статьи про ...
Франко Путцолу
: Помимо прочего, я изучал IMS; я даже однажды инсталлировал IMS в Йорктауне.
Ирв Трейджер
: Итак, мне пришло в голову, что SLI - это плохая идея и что нам нужен кто-нибудь с более практическим пониманием; я поговорил с Франко и сказал Фрэнку Кингу, что мы должны взять Франко. Но Фрэнк Кинг не хотел касаться этой ситуации по причине этого баланса сил. Каким-то образом нам удалось добиться своего.
Примерно в это время была принята на работу Кепэли Эсваран (Kapali Eswaran), которая, как помню, отчитывалась передо мной, но помогала ребятам, работающим над прототипом Фазы Ноль, в реализации ограничений целостности и триггеров, которые, как отмечалось выше, только сейчас внедрены в линию продуктов IBM. Делались и другие вещи. Мы работали над мультидоступом, стараясь обеспечить эту возможность, поскольку ни в одной из ранних систем она не поддерживалась. А если эта возможность и реализовывалась, то случайным образом. Я сделал кое-какие ранние вещи в GAMMA-0, Джим Грей был очень заинтересован, и он делал некоторые вещи, и Раймонд пришел со вспышкой этой идеи, которая стала называться предикатными блокировками. Смысл идеи был в том, что если запрашиваются множества, то почему бы и не блокировать множества: наиболее естественная вещь, какую только можно представить. И это согласовалось с тем, что мы в конце концов поняли по поводу авторизации и представлений. Вместо того, чтобы авторизовать столбцы таблицы, создайте представление этих столбцов и авторизуйте его. Кепэли услышала про эти предикатные штучки и стала работать и над предикатными блокировками, и мы также начали понимать, что транзакции подобны логическим единицам "все или ничего".
Брюс Линдсей
: В статье о предикатных блокировках, которую я нашел я ящике Джима, есть отличная строка. В небольшом параграфе говорится: "Накладные расходы и сложность конструирования предиката, проверки предиката и планирования предиката ужасают и Мортона, и Франко. Остальных это только пугает." [смеется]
Ирв Трейджер
: Был короткий период, когда мы думали, что предикатные блокировки являются правильным подходом и, хотя мы этого не говорили, можно было бы получить возможность сериального плана, который как вы знаете, представляет логический эквивалент однопользовательской системы. Но это еще не было настоящей картошкой-фри. Я помню другой день, когда я сидел в кресле Джима Грея, похожем на мешок с фасолью. У него был маленький кабинет и это громадное неудобное кресло в качестве обычного сидения. Мы говорили обо всем, что произошло. В этот день в гостях был Марк Ауслэндер (Mark Auslander). Он относился к числу блуждающих людей, любящих заглядывать вам за плечо, и вдруг Джим начал лучше понимать, что означает сериальный план, почему это важно и почему предикатные блокировки, возможно, ничем не смогут помочь. Но они помогли нам это понять. Он ссылался на статью Донована (Donovan), которому пришлось кое-что делать с сериализуемостью операций над кэшем. В статье имелись некоторые натяжки, но, насколько я помню, согласованность и сериализуемость обеспечивались. Это там было. Не прозвонил ли тогда звоночек, Джим?
Джим Грей
: Да. И еще асинхронные коммуникации Карпа & Миллера. Их интересовали вопросы детерминированности, а нас только блокировки для согласованности. Мы хотели какого-нибудь ответа, им был нужен правильный ответ.
Ирв Трейджер
: Вот что было дальше. Насколько я помню, поддержка версий... теневого механизма была очень сильной идеей в системе XRM, которую Раймонд привез нам из Кембриджа. Он перевелся достаточно близко к началу процесса. Поэтому мог ли я думать о чем нибудь еше? Восстановление, журнализация, мы хотели перейти к блокировкам на уровне записей, и мы поняли, что теневой механизм этому не противоречит и ввели запутанную комбинацию блокировок уровня записей, журнализации и теневого механизма, которая действительно работала.
Франко Путцолу
: Вроде того. [смеется]
Ирв Трейджер
: Одна из сильных идей состояла в том, что мы хотели поддерживать все модели данных, поэтому в RSS поддерживались связи, фактически, цепочки указателей, и идея состояла в том, чтобы поддерживать иерархические, сетевые и реляционные структуры данных. Со временем мы отказались от этой благородной цели, но она снова воскресла в Санта-Барбара. Это было очень интересно; мы не хотели знать, куда пойдут данные, nтремясь построить универсальную вещь низкого уровня, независимую от того, что находится на верхнем уровне.
Франко Путцолу
: Да, я бы сказал, что было два важных момента. Первое - это то, что RSS существовала. Мы воспринимаем как данность, что нужно расщепить систему на компонент низкого уровня и компонент высокого уровня. Но только в системах, происходящих от System R, имеется такое явное расщепление. Во многих системах этого нет, и я думаю, что это им вредит.
Ирв Трейджер
: Да, не было очевидно, что следует расщеплять систему и как ее расщеплять. Как я говорил, мы боролись с SLI, которая представляла собой что-то вроде среднего уровня.
Франко Путцолу
: Расщепление было сделано на правильном уровне. И другим важным моментом был упор на то, чтобы многочисленные подсистемы верхнего уровня могли использовать общее ядро нижнего уровня. Такие попытки предпринимались во всех системах, которые появились после System R, и все эти попытки провалились.
Пат Селинджер
: Я помню, Франко, что ты вел по крайней мере одно исследование по поводу того, как отобразить IMS - все конструкции: логические удаления, разреженную индексацию и все такое прочее - на уровень RSS.
Франко Путцолу
: Да, это была потеря времени. [смеется]
Джон Науман (John Nauman)
: Но ты упорно этим занимался, Франко.
Джим Грей
: Следует понимать, что все это происходило на фоне нечто, называемого FS41 - Future System, и люди в FS думали, что работа над реляционной базой данных - это немыслимая растрата исследовательской энергии. Они работали над GRID или каким-то другим проектом, который был гораздо более замысловатым и продвинутым, чем все, что делали мы - там был GUI, и был замечательным.
Джон Науман
: В действительности было три системы: предполагалась поддержка реляционных и сетевых (CODASYL) вещей, а также плоских файлов - должно было делаться все. Но эта работа была прекращена.
К. Мохан
: Но часть этого вошла в System/38, не так ли? По отношению к одним и тем же данным они допустили доступ на уровне файловой системы и с использованием высокоуровневых запросов, что до сих пор поддерживается в AS/400.
Утренний перерыв
(23) K. Shoens, A.Luniewski, P. Schwarz, J. Stamos, J. Thomas. "The Rufus System: Information Organization for Semi-Structured Data" Proc. VLDB, Dublin, Ireland (1993).
(i) Cadence Design Systems. В настоящее время Леонард Лью - президент и CEO компании Walker Interactive Systems. (Прим. переводчика.)
(ii) Hoover Dam - грандиозная плотина на реке Колорадо, построенная около 60 лет тому назад. Окрестности Hoover Dam являются национальным парком. (Прим. переводчика.)
(24) E.F. Codd. "Seven Steps to Rendezvous with the Casual User" Proc. IFIP-TC2 Conference on Data Base Management, Cargese, Corsica (April 1-5, 1974) pages 179-200.
(25) E.F. Codd, R.S. Arnold, J-M. Cadiou, C.L. Chang, N. Roussopoulos. RENDEZVOUS Version 1: An Experimental English Language Query Formulation System for Casual Users of Relational Data Bases. IBM Research Report RJ 2144, San Jose, California (January 1978)
(26) RDS означает Relational Data System.
(27) M.M. Astrahan and D.D. Chamberlin. "Implementation of a structured English query language" CACM, 18, 10 (October 1975), pages 580-588
(28) J.J. Donovan, L.M. Gutentag, S.E. Madnick, and G.N. Smith. "An Application of a Generalized Management Information System to Energy Policy and Decision Making - The User's View" Proc. NCC, AFIPS Vol. 44 (1975), pages 681-686.
(29) Теперь Пат Селинджер.
(30) P. Reisner, R.F. Boyce, and D.D. Chamberlin. "Human Factors Evaluation of Two Data Base Query Languages -- SQUARE and SEQUEL" Proceedings of the AFIPS National Computer Conference, Anaheim, CA (May 1975) page 447.
(31) P. Reisner. " Use of Psychological Experementation as an Aid to Development of a Query Language" IEEE Transactions on Software Engineering, Vol. SE-3 (May 1977) page 218.
(32) D.D. Chamberlin and R.F. Boyce. "SEQUEL: A Structured English Query Language" Proc. ACM SIGMOD Workshop on Data Description, Access and Control, Ann Arbor, Michigan (May 1974), pages 249-264. Обратите внимание статья в TODS35 содержит ссылку, в которой вместо SIGMOD указано SIGFIDET.
(33) R.F. Boyce and D.D. Chamberlin. "Using a structured English query language as a data definition language" IBM Research Report RJ1318. San Jose, California (December 1973).
(iii) Ларри Эллисон основал компанию в 1977 г. (Прим. переводчика.)
(34) Nelson Mattos. "A Overview of the Emerging Third-Generation SQL Standard" SIGMOD'95 Tutorial.
(35) M.M. Astrahan, M.W. Blasgen, D.D. Chamberlin, K.P. Eswaran, J.N. Gray, P.P. Griffiths, W.F. King, R.A. Lorie, P.R. McJones, J.W. Mehl, G.R. Putzolu, I.L. Traiger, B.W. Wade, and V. Watson. "System R: Relational Approach to Database Management" ACM TODS 1, 2 (June 1976), pages 97-137.
(36) GPD означает General Products Division, отделение, под управлением которого находится исследовательская лаборатория в Сан-Хосе.
(iv) Poughkeepsipsie Ошибка! Источник ссылки не найден. небольшой город в штате Нью-Йорк с большой историей. Неподалеку от него находится завод компании IBM по производству мейнфреймов. (Прим. переводчика.)
(v) RAM - Random Access Memory (память с произвольным доступом). (Прим. перводчика.)
(37) VSAM означает Virtual Sequential Access Method.
(38) Ральф Е. Гонори (Ralph E. Gonory) был директором IBM Research с 1970 по 1986 г.
(39) R.M. Karp and R.E. Miller. "Properties of a Model for Parallel Computation: Determinacy, Termination, and Queuing" SIAM JAM 14, 6 (June 1966), pages 1390-1411.
(40) J. Gray, P. McJones, M. Blasgen, R. Lorie, B. Lindsay, T. Price, F. Putzolu, I. Traiger. "The Recovery Manager of the System R Database Manager" ACM Computing Surveys 13, 2 (June 1981), pages 223-242.
Страницы: 3