Классика баз данных - статьи

       

Замечание относительно автоматического распределения программ


Замечание относительно автоматического распределения программ и данных между разными уровнями многозвенной архитектуры мне кажется очень важным. Безусловно, этим нужно заниматься, хотя пока не очень понятно, как.

Непривычно видеть колоссальную энергию, которая окружает разработку новых методов программирования, ориентированных на данные, но вместе с новыми возможностями приходят и новые проблемы. Перед исследователями встают вопросы разработки языков, эффективных компиляторов и систем поддержки времени выполнения, а также методов автоматической оптимизации кода при его горизонтальном разделении между параллельными процессами и вертикальном разделении между звеньями. Кажется естественным, что методы организации параллельных и распределенных баз данных (разделенные потоки данных, оценочная оптимизация запросов) следует расширить применительно к новым средам. Однако для достижения успеха эти языки должны обладать должной выразительностью, превышающей возможности простых подходов Map-Reduce и Select-Project-Join-Aggregate. Здесь требуется работа по «синтезу» для подбора полезных методов на основе литературы по базам данных, языкам логического программирования и оптимизации, а также по расширению этих методов для новых программных сред.

Для усиления воздействия на практику в предлагаемых методах требуется также обращать внимание на более тонкие аспекты, пленяющие сердца и умы программистов, такие как привлекательный синтаксис, типизация и модульность, средства разработки и простота взаимодействий с другими компонентами компьютерной экосистемы (сети, файлы, пользовательские интерфейсы, Web-сервисы, другие языки и т.д.).

Для выполнения этой программы требуется, чтобы исследования баз данных вышли за пределы своих традиционных границ и были объединены с исследованиями в других областях применения компьютеров. Возникает уникальная возможность фундаментального «реформирования» понятия управления данными: от службы хранения данных к широко применимой парадигме программирования.

Для решения этой проблемы требуется, прежде всего, достичь полного взаимопонимания между сообществами баз данных и языков программирования. До сих пор это не удавалось.


Содержание  Назад  Вперед