Идеи В. М. Глушкова и современные базы данных
2020-01-30 Доминик Ярошкевич, перевод с украинского (Dominik Jaroszkiewicz)
Самые разнообразные общественные обстоятельства формируют то, что Гегель называл духом эпохи. Долгосрочные хозяйственные факторы отвечают на вопрос, будет ли он духом мечты, или духом реальных событий. Когда наступает хозяйственный кризис или катастрофа, получается, что идеи и надежды прошлого изображают пути решения будущих проблем. Нет сомнения, что это точная характеристика на только украинской, но и литовской, румынской, молдавской и т.д. жизни. Поэтому будущие проблемы выживания названных народов и их соседей будут безусловно связаны с технической ревизией идей В.М. Глушкова вместе с полным сохранением их политической, общественной и экономической сущности. Но чтобы сделать даже попытку такой ревизии, надо понимать технические условия, в которых Глушков вырабатывал проект конкретной реализации ОГАС.
Идея ГСВЦ - Государственной Сети Вычислительных Центров была предложена Анатолием Китовым в конце 1950-х гг. Среду вычислений он представлял как предварительно закодированные через перфокарты массивы, которые оставляют результат в устройстве оперативной памяти. Что касается смысла и контекста операций, то они остаются команде операторов и тем, кто готовит перфокарты. Машина занимается только формальными операциями и не хранит явных намёков на то, что именно что значит. Осмысление, то есть перевод на предметный «язык» делает тоже человек. В конце 1970-х годов подобную, в то время устаревшую, архитектуру получила АСПР СССР (Автоматизированная Система плановых расчетов), которая была наиболее известной попыткой фрагментарной (поэтому в главном неудачной) автоматизации хозяйственных вычислений, и которая скорее увеличивала хаотизацию хозяйственных процессов, чем её ликвидировала.
Во времена, когда Глушков делал первые эскизные проекты ОГАС, ситуация несколько изменилась. Одним из главных языков программирования для ОГАС предлагался язык ПЛ/1. Концепция вычислительных массивов к тому времени уже приближалась к современной концепции файлов. Понятно, что в новых обстоятельствах работа по адресации в программах была в значительной мере переведена на машины, но, вместе с тем, работа по адресации в массивах данных ещё оставалась преимущественно людям. Обобществление данных в то время блокировалось узкими каналами электрической и радиосвязи между различными городами. Каналочас и вычислительный час были в то время официальным организационно-экономическими показателями, поэтому рассчитывать на широкое распространение знаний о вычислительных операциях в публичных частях ОГАС было невозможно. Это означает, что проблема экономии труда персонала вычислительных средств не стояла на повестке дня. Что касается осмысления отдельных объектов в среде языка программирования ПЛ/1, она предлагала довольствоваться где шестью десятками символов, которые составляли меньшую часть «советской печатной азбуки». Эта азбука была одной из поздних (1980-е гг.) попыток стандартизировать печатные буквы под все печатные языки советских стран. То, что ПЛ/1 в названиях объектов игнорирует большинство символов не только большинства советских языков, но и официально международного русского языка, говорит в пользу того, что и здесь должен был существовать и оплачиваться некий "переводчик".
Ко времени смерти Глушкова известный математик Эдгар Кодд уже сформулировал большинство тезисов реляционного исчисления и уже происходило начальное развитие языка SQL, который изначально пытались приблизить к построению фраз на английском языке. В чисто техническом смысле на момент смерти Глушкова считалась передовой идея транзакционной базы данных. Через несколько лет её сочетают с реляционной моделью данных. Но в СССР (в сфере хозяйственных рассчётов) царили преимущественно иерархические базы данных. Интересный и печальный парадокс заключается в том, что идея типизированных (то есть равноструктурных) таблиц с одним уровнем именования была порождена в очень иерархическом обществе США и Великобритании, в то время как в СССР господство иерархических БД (под управлением программ вроде СУБД "OKA") в хозяйственных расчётах было почти полным.
Когда мы оглянемся на современность и попытаемся увидеть развитие технических тенденций, которые попытался использовать Глушков в эскизах реализации ОГАС, мы увидим их невероятное развитие и невероятную демократизацию. Медленная связь настолько в техническом смысле останавливала общегосударственную автоматизацию в СССР, что Глушков предложил сделать министерство связи СССР ответственным за инфраструктуру, которая физически объединяет различные организации. Сегодня к базе данных в Польше можно за несколько минут подключиться из Австралии, если знать только четыре параметра: адрес базы данных, её порт, имя для входа и пароль. Это невероятное качественное упрощения транспорта и обобществления данных, потому что сейчас подобное обобществление доступно для большинства школьников к концу основной школы, не говоря о гимназистах. Надо добавить, что и количественное упрощения транспорта и обобществления данных со времен смерти Глушкова невероятное. Одна из самых протяжённых возможных линий маршрутизации в ЕГСВЦ (Единой Государственной Сети Вычислительных Центров) позволяла создать канал передачи данных из Риги в Ленинабад. Сейчас полную оригинальную форму хранилища республиканской автоматизированной системы управления Лат ССР (несколько мегабайт) можно транспортировать в город у хребтов Памира менее чем за полминуты. Гораздо сложнее будет понять, что, зачем и когда транспортируется. Поэтому навыки манипулирования данными становятся второстепенными после того, как их место занимают навыки понимания того, что именно имеется «под рукой». Это понемногу переносит акцент со специфических отраслевых обозначений для программистов на орфографические и грамматические названия на местных языках даже в условиях международной монополизации многих отраслей материального и идеального производства.
Большой прогресс относительно 1980-х гг. претерпела символика вычислительных процессов. Объекты внутри промышленных баз данных уже несколько лет можно называть не только символами средневековой латыни, но и всеми европейскими латино-диакритическими языках. Даже больше - символами кириллической, греческой, арабской, китайской, деванагари письменности и т.п., не говоря о грузинских, тайских и других менее распространенных системах. Подобная тенденция существует также в языках программирования, которые понемногу отказываются от ограничения названий объектов только символами средневековой латыни. Распространённые компиляторы, стандарты в языках C ++, Java и JavaScript уже позволяют использовать европейскую диакритику для обозначения специфических местных реалий, а также греческие символы в математическом и национальном контексте для Греции, не говоря уже о кириллице. Таким образом, некоторые наиболее распространенные и наиболее известные языки программирования, а также наиболее развитые промышленные реляционные базы данных уже поддерживают именования объектов как всеми европейскими языками, так и специфическими международными языками вроде эсперанто. В комплексе с невероятным количественным и качественным упрощением обобществления данных это закладывает предпосылки широкой демократизации работ в области баз данных и элементарных программ, что, в свою очередь, создает предпосылки всемирной автоматизации нетоварных вычислений.
Тенденция к распространению нереляционных хранилищ данных (NoSQL), которая действовала несколько лет назад, сейчас уже претерпевает обратное движение. Что это значит и как это касается технического будущего идей Глушкова? Известно, что среднее NoSQL хранилище требует больше труда программистов, чем обычная реляционная база данных, поскольку в NoSQL операциях приходится программировать то, что в реляционных базах данных имеет стандартную реализацию. Также известно, что передовые ограничения твёрдых дисков и устройств оперативной памяти по скорости уже превышают 10 гигабайт в секунду. Это превышает в тысячи раз реальный информационный размер статистических архивов СССР вместе с предполагаемыми хранилищами данных для ОГАС. В подобных технических условиях тенденция к экономии труда программистов и к преобладанию осмысления текущих данных над манипулированием ими побеждает. Плохая структуризация уже несколько лет считается самой большой угрозой доступности хранимых данных. Речь идёт не только о коммерческой тайне, но и о том, что даже в публичных данных поиск связей и зависимостей составляет всё более отчетливую проблему. Популяризация SQL встаёт на повестке дня именно так, как когда-то появилась популяризация письменности. Иначе преодолеть ресурсные дисбалансы, коммерческую тайну и товарность не удастся. Насколько сейчас упрощена техническая реализация идей ОГАС, настолько сейчас она невозможна из-за общественных факторов. Вместе с тем, трудно не заметить, что идея ОГАС составляет единственную альтернативу большим шпионским базам данных, которые уже реализованы. Также трудно не заметить то, что она связана с гуманистической идеей господства человека над общественными силами путём постижения текущего состояния хозяйства страны и мира. Такая перспектива требует невероятной демократизации общества, ставится на повестке дня как вопрос физического выживания целых народов мира, как вопрос выхода из-под господства прибыльности и чрезмерной абсолютизации экономической деятельности в ущерб всем другим формам человеческой деятельности. Реализация идей Глушкова меньше всего является технической проблемой, она связана с главными жизненными требованиями всё большего количества людей, но её реализация ещё невозможна из-за общественных факторов. В то время как в упорной борьбе миллионов экономическая необходимость преодолеет препятствия на пути общегосударственной автоматизации, надо будет понимать, что именно составляет корпус идей Глушкова и как осуществить его современную техническую реализацию.