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

       

Родственные исследования


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

В 1987 г. Аткинсон и Бьюнман опубликовали статью [], в которой анализировались ранние исследования в области интеграции языков программирования и баз данных; в своей статье они сосредотачиваются на создании четкой, единой программной модели персистентных данных, обеспечивающей каркас для дальнейших исследований. Дэвид Майер в [] сформулировал ключевое требование для решений проблемы потери соответствия: «Какой бы ни была модель программирования баз данных, она должна допускать вынесение из программ сложных операций над большими объемами данных и их выполнение менеджером памяти, а не принуждать программистов к использованию интерфейса уровня записей». Блюм и Здоник в [] выявили культурные и технические различия между языками программирования и базами данных, включая управление параллелизмом, триггеры, оптимизацию и масштабирование данных. Манифест систем объектно-ориентированных баз данных [] не включал какие-либо требования к интерфейсу ООБД с языками программирования, и производительность не включалась в состав требований верхнего уровня. Десять лет спустя Кэри и Девитт предсказали кончину персистентных языков программирования и объектно-ориентированных баз данных, а также итоговый успех объектно-реляционных баз данных []. Они также идентифицировали в качестве одной из ключевых исследовательских проблем интеграцию баз данных и языков программирования, которую они назвали клиентской интеграцией. Аткинсон в [] анализировал сложность экспериментальной проверки нового подхода к персистентности.

Йордан в [] сравнивает персистентные среды для платформы Java. В [] Йордан характеризует реализацию эталонного тестового набора OO7 как Java-программу, манипулирующую Java-объектами, расположенными в основной памяти. Затем этот тестовый набор используется в качестве стандарта для количественного и качественного сравнения. К сожалению, тестовый набор OO7 моделирует только единственного пользователя, так что не затрагивается важный аспект параллельности. Йордан также предполагает, что все данные могут поместиться в основной памяти. Наконец, тестовый набор OO7 не представляет наиболее распространенные операции в типичных транзакционных/корпоративных приложениях, поскольку фокусируется на обходе иерархических структур. OO7 создавался для тестирования той разновидности специализированных приложений, для которой разрабатывались объектно-ориентированные базы данных. Йордан приводит числовые показатели производительности, но не обобщает свой количественный анализ. В этом обзоре мы не приводим числовые показатели производительности. Вместо этого мы предполагаем, что языки программирования должны давать возможность доступа к оптимизациям базы данных, и приводим качественный анализ того, насколько эффективными они являются при обеспечении этого доступа.



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