?

Log in

No account? Create an account

Пт, 14 янв, 2011, 01:54
System R

Читаю про System R и пребываю в тихом шоке. Оказывается, к 1979 году мы имели (в современной терминологии Oracle):

  • полноценный SQL, в том числе поддержку динамических запросов;
  • многопользовательский доступ, обеспечиваемый механизмом транзакций (несколько уровней изоляции) и блокировок (включая латчи);
  • стоимостной оптимизатор с учётом ввода-вывода и процессорного времени (!), работающий на основе собираемой статистики;
  • библиотечный кэш: предварительная компиляция полученного плана выполнения, механизм инвалидации на основе отслеживания зависимостей;
  • восстановление после сбоев на основе журналов отката и повторного выполнения;
  • индексы B-tree, методы соединения nested loops и sort merge join.

Всего добра было порядка 80 тысяч строк кода (PL/I и ассемблер), работала система на одном мегабайте ОЗУ. Признаться, я проникся серьёзным уважением к команде, которая придумала техническую реализацию, актуальную по сей день, и воплотила её. Снова убеждаюсь в том, что всё великое уже было сделано в 60-е и 70-е...