Заметки о проектировании баз данных сквозь призму идей Глушкова и Гегеля
Почему нужно рассматривать проблему проектирования баз данных (БД), когда речь идет о современном общественном процессе, о его освободительных потребностях? Еще во времена Маркса было известно, что последовательная и длительная демократизация общественной жизни возможна только в результате экономической демократизации, то есть в результате преодоления общественного разделения труда или частной собственности (это почти тождественные понятия). Суть этого процесса преодоления - обобществление знаний и навыков. Также обобществление является специальной программной функцией систем управления базами данных, которая порождает этот класс программ как отдельный. То есть обобществление является сущностью систем управления базами данных. Там где нет обобществления, применение этих программ вряд ли будет очень выгодным (пример: SQLite).
Но если речь идет об освободительной потребности, мы должны рассмотреть именно экономическое обобществление - основу гуманизации всей общественной жизни. Поэтому внимание исследователей должны привлечь именно процессы проектирования экономических баз данных. Потому что эти процессы логически концентрируют в себе много проблем обобществления. Ведь проектирование экономических всеобщих баз данных - это изменение способа изменения экономических процессов. Поэтому начинать надо из способа решения некоторых известных экономических проблем через обобществление информации о них, через обобществление сферы принятия решений по ним.
Еще в советские времена, когда в Госплане СССР сделали первые попытки выработать статические межотраслевые балансы (МОБ), было обращено внимание на то, что некоторые отрасли производства являются наиболее значительными потребителями своих собственных изделий. Например, едва ли не треть металлургического проката какого-то года была употреблена в металлургии. Сейчас уже известно, что такому положению вещей способствовали медленный бумажный документооборот и синхронные алгоритмы планирования, которые хаотизировали плановые задания и усложняли перепланировки, делали их медленными, заставляли придерживаться планов, которые уже расширяли диспропорции через изменение условий вместо их нивелирования. Отображение состояния вещей там происходило достаточно медленно, регулирование - лишь приблизительно. У некоторых это вызывало симпатии к рыночной товарно-денежной регуляции, которая, как ошибочно официально считалось в СССР, быстрее и эффективнее. Но проблема внутреннего потребления непропорциональной части изделий не сводится только к несовершенному синхронному планированию или к рыночным симпатиям политического руководства. Эта проблема в некоторых мере показывает экономический аналог профессионального кретинизма - известного общественного явления, которое порождается общественным разделением труда. Поэтому, хотя сейчас не существует Советского Союза как политического явления, но проблема осталась. Например, почти во всех странах ЕС большинство правительственных решений касается только правительственного аппарата, населения прямо касается меньшая часть официального документооборота. Так же в программировании - только меньшая часть программ используется за пределами профессионального программирования или в т. н. интеграции данных. Чем же является программирование в экономическом смысле?
Программирование несомненно касается автоматизации. Сама автоматизация является лишь наиболее выразительным направлением замены человеческого труда искусственным процессом преобразований одной вещи в другую без человеческого участия. Программирование вырастает на основе наиболее выразительного направлении индустриализации. Оно также принципиально может активно способствовать замене ручного ремесленного труда на промышленный, то есть организованный. Причем не только в каких-то других сферах, но и внутри себя. Например известные АСУ "Львов" и "Кунцево" Глушков рассматривал как типичные. Он считал промышленное совершенствование работы по программированию настолько важными, что оно должно касаться любого употребления кибернетики. Что же мы имеем сейчас? Программирование - это основание кибернетики, ибо оно порождает средство, которое приводит к наиболее выразительной экономии труда по программированию. Это средство - базы данных, которые являются наиболее развитым средством обобществления данных, и построение больших систем согласованных данных, которые имеют даже уже экономическое значение. Обобществление программирования, экономия труда по программированию планировались Глушковым почти в таком виде, как оно сейчас имеется в виде процесса разработки ядра Линукса, то есть в виде общедоступного банка, который позволяет использовать результаты труда других и больше заниматься не самим написанием полных программ, но правильным общим применением готовых элементарных программ, которые уже существуют. Кроме этого, обобществление данных, которые не являются кодом, планировалось Глушковым в виде массивов данных, то есть БД, специальной функцией которых является обобществление.
Между тем, проблемы с обобществлением вообще (не только данных) привели в последние 30 лет к тому, что почти ни одна страна бывшего СЭВ не принимает заметного участия в разработке новых программ управления базами или в совершенствовании старых. Поэтому в смысле употребления БД на территории бывшего СЭВ мы почти повсеместно имеем индивидуально-исследовательскую, реже ремесленную, стадию, если брать по методам труда. Что касается проектирования систем управления базами данных, то здесь и нельзя ожидать промышленного труда. Учитывая достаточно широкую сферу применения программ управления БД, человечество уже сосредоточилось на разработке только нескольких образцов. Но что касается проектирования именно структур данных, то есть БД, мы имеем здесь еще ремесленную стадию, которая напоминает о плохом состоянии типизации и экономии труда в программировании вообще. Никлаус Вирт пишет о кризисе программирования вообще, потому что усовершенствование языков программирвания не приводит к пропорциональному улучшению качества кода1.
Какие факторы препяьтствуют применению промышленных методов проектирования БД? Прежде всего, главные участники рынка проектов БД (корпорации) не заинтересованы в сбережении труда исполнителей разработки БД, так прибыль растет вместе с объемом поглощенного труда. То есть в сфере программирования конфликт возрастания стоимости и технических возможностей тоже имеет явную форму. Он также имеет форму производства вредных и ненужных продуктов, снижения потребительской ценности. Явно проявляется антагонизм интересов "работодателей" и рабочих по разработке БД. Частная собственность никак не может пока (и вряд ли сможет) нивелировать этот конфликт. На конкуренцию и отчетливую тенденцию в пользу массовости и сбережения труда пока рассчитать нельзя, потому что разработка БД в мировом масштабе очень монополизирована несколькими компаниями. Вместе с тем, широкое использование БД и их объединение даже в масштабах, которые достигнуты в рамках капитализма (речь идет в первую очередь о коммерческой тайне), парализуется их лишней трудоемкостью. Но экономические факторы не являются единственными, которые тормозят применение промышленных средств проектирования БД. Кроме них ухудшает универсальность и увеличивает расходы по обслуживанию гносеологический хаос в головах проектировщиков БД. Например, метафизическое понимание общего как «общего всем», чуть ли не как результата операции "⋂", нивелирует возможные решения по оптимизации в сторону снижения трудоемкости структуры БД и сводит их к чисто техническим оптимизациям со времени создания. Узкий спектр сфер применения БД приводит к раздвоению проектов вопреки разуму, потому немногие понимают, что при современных вычислительных ресурсах надо стремиться не столько к экономии машинных ресурсов, сколько к надежности проекта БД, к его универсализации, то есть типизации и снижению расходов на использование. Этот принцип (политехнический, ґумбольдтовсько-макаренковський по происхождению) был у Глушкова - попробовать делать что-то капитальное, и типизировать его, если оно покрывает множество имеющихся мелких сфер. Но это - не принцип нашей поганой современности. Общеизвестно, что в крупных организациях сейчас конечно существуют несколько БД под разными управляющими программами, связь которых затруднена даже если они отдельно более или менее стандартизированы. Различные java-шины - тоже не решение. Эти программы реализуют универсальный обмен сообщениями между различными БД, но, в свою очередь, требуют программирования и построения своих отдельных моделей. То есть, java-шины повторяют хозяйственную партикуляризацию, если искать логический аналог в экономической сфере. Обобществление, наоборот, требует единой БД, с различными типизированными частями которой работают различные программы. То есть современная обычная ситуация, когда нужны различные транзитные программы или java-шины - это лишь внешнее объединение БД, это не настоящее обобществление. Но по своей трудоемкости такое внешнее объединение едва ли не нивелирует экономию труда от автоматизации, что отчетливо наблюдается в Польше и на Украине (думаю, не только в этих двух странах). Внутреннее объединение различных БД (как нп. PostGIS и шаблоны ERP в среде PostgresSQL) при отсутствии необходимости применять различные средства доступа приводит к резкому снижению расходов на применение БД при переносе части расходов на лучшее проектирование. Только этот путь ведет к применению промышленного способа разработки эффективных средств обобществления информации - типичных БД, которые можно тиражировать именно так, как об этом писал Глушков. Это все еще будущее. Но вопреки Глушковским принципам перехода на промышленное проектирование БД невозможно не только формирование более-менее типичной среды с обобществлением информации на уровне государства, но и даже стабильное накопление капитала в современных условиях Польши или Беларуси. Частная собственность оказывается узкой для тех возможностей производства, которые она вызвала приняла или в наследство от советского обобществления. То есть для Польши и Беларуси обобществление информации выступает как один из необходимых способов нормализации экономической жизни, то есть ее демократизации. Это обобществление - еще одна из имеющихся возможностей, которая противостоит частной собственности. Причем это не какая-то рядовая возможность, но возможность контроля экономической жизни, необходимая техническая предпосылка преодоления товарности как способа существования хозяйства.
Поэтому наше поколение исследователей, чтобы внести вклад в подготовку единого информационного пространства, о котором мечтали Китов и Глушков, должно сосредоточиться на исследованиях применения промышленных достижений к проектированию универсальных БД на основе диалектической логики, которая может помочь сделать выводы о технической и общественной специфике нашего времени с точки зрения исторического развития кибернетики с тем, чтобы, исходя из этой специфики, выработать качественные, надежные и экономичные проекты более или менее универсальных БД широкого применения. Иначе быстрая и надежная общественная регуляция невозможна, и каждый кризис финансового механизма (который уже можно заменить на систему нетоварной регуляции через БД) будет кризисом общества в целом. "Software in kürzerer Zeit langsamer wird, als Hardware schneller". Первоисточника и формулировки см. немецком языке https://de.wikipedia.org/wiki/Wirthsches_Gesetz
1"Software in kürzerer Zeit langsamer wird, als Hardware schneller". Первоисточники и формулировки см. на нем. языке https://de.wikipedia.org/wiki/Wirthsches_Gesetz