Система автоматизированного разделения кода прикладных программ
Способы и средства для оптимизации работы с базами данных. Программные продукты для улучшения производительности. Генерация удаленного вызова методов интерфейса, клиентской и серверной частей. Выявление большего количества кандидатов для переноса.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | русский |
Дата добавления | 27.04.2016 |
Размер файла | 107,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
В созданной модели присутствовал ряд существенных ограничений на исходный код разделяемого приложения. Для того, чтобы система могла полноценно применяться к реально работающим программам, необходимо провести дальнейшие исследования способов сокращения времени выполнения клиентских запросов.
4.4 Дальнейшие исследования: синхронизация
Возможен способ синхронизации программ на клиенте и сервере целиком. Для этого необходимо будет внести некоторые модификации в JVM и передавать между частями системы локальные стек и кучу.
4.5 Дальнейшие исследования: хранимые процедуры
Первоначально в рамках данного исследования предполагалось использование процедур на Java вызываемых из PostgreSQL.
PL/Java позволяет выполнять процедуры, написанные на Java, как функции в СУБД PostgreSQL. Для этого необходимо зарегистрировать данную функцию в базе, указав возвращаемый результат, имя и путь к Jar-файлу, класс и название метода в этом классе.
В процессе исследования от применения этой технологии пришлось отказаться по следующей причине:
PostgreSQL запускает отдельную копию JVM, в которой выполняется содержимое архива. Осталось непонятным, как и возможно ли получить доступ к выполняющемуся там извне. Подгружать функции из архива означает, что данные в них будут не синхронизированы.
Также для параметров функции необходимо указывать тип в терминах SQL, то есть сложные объекты, возможно, придётся передавать списком их полей.
Такая возможность была бы полезна для методов или фрагментов методов, которые высчитывают какие-либо показатели и при этом не изменяют никаких полей объектов.
В данном исследовании представлялось необходимым использовать или удалённый вызов методов, или вызов хранимых процедур на Java. При этом первый способ оставляет больше возможностей по синхронизации и манипулированию с данными.
4.6 Выделение менее крупных единиц переноса
В данной системе единицей переноса был метод целиком, однако в методах кроме обращений к БД могут выполняться какие-то дополнительные функции, вычисление которых можно не переносить на сервер БД, а оставить в текущем методе. В таком случае, необходимо перенести только отдельные выражения из метода. Для этого надо проанализировать зависимости по управлению и по данным, чтобы выявить необходимые для корректного выполнения запроса переменные.
4.7 Выявление большего количества кандидатов для переноса
На данном этапе система рассматривает только методы, содержащие в себе какие-то части из определённого набора выражений, связанные с обращением к БД по JDBC. Однако, если выделить методы, занимающиеся только работой с базой и добавить их вызов в группу конструкций, которые являются индикаторами взаимодействия с БД, то количество методов-кандидатов увеличится.
Однако, если давать методу статус работающего с базой по наличию только 1 выражения, то таким способом в списке могут оказаться все методы исходной программы.
Следовательно, необходимо будет разработать критерий причисления метода, к группе работающих с БД, а затем анализировать выражения вокруг вызова этого метода, с помощью графа зависимостей программы [5] дабы выявить целесообразность переноса данных конструкций на другой сервер.
Использованные источники
1. Cheung, A., Automatic Partitioning of Database Applications. Cheung, A., Aurden, O., Madden, S., Myers, A.C. The VLDB Journal, vol 5, 2012
2. Cheung, A., StatusQuo: Making Familiar Abstractions Perform using Program Analysis / Cheung, A., Madden, S., Myers, A.C., Solar-Lezama, A, 2012.
MIT's Computer Science and Artificial Intelligence Laboratory (CSAIL)
3. Nevarez, B. The SQL Server Query Optimizer.
4. Swaminathan, G. Strategies for Partitioning Relational Data Warehouses in Microsoft SQL Server.
5. Horwitz, S. Interprocedural Slicing Using Dependence Graphs / Horwitz, S., Reps, T., Binkley, D. ACM Transactions on Programming Languages and Systems, Vol. 12, No. 1, 1990 .
Размещено на Allbest.ru
Подобные документы
Классификация баз данных. Использование пакета прикладных программ. Основные функции всех систем управления базами данных. Настольная система управления базами данных реляционного типа Microsoft Access. Хранение и извлечение электронных данных.
курсовая работа [962,4 K], добавлен 23.04.2013Особенности работы с SQL-базами данных. Установка и настройка локального сервера СУБД Interbase. Создание приложения "Торговая фирма", состоящее из серверной части и клиентской. Разработка спецификаций и описание интерфейса пользователя программы.
курсовая работа [634,5 K], добавлен 14.07.2012Процесс разработки базы данных для хранения и обработки информации. Ключи, индексы, триггеры, хранимые процедуры. Разработка пользовательского интерфейса и базы данных. Основные инструментальные средства для разработки клиентской и серверной частей.
дипломная работа [225,0 K], добавлен 18.05.2013Программные продукты компании Microsoft: Access, Visual FoxPro7.0, dBASE. Возможности интеграции, совместной работы и использования данных. Системы управления базами данных (СУБД), их основные функции и компоненты. Работа с данными в режиме таблицы.
курсовая работа [805,5 K], добавлен 15.12.2010Программные средства, обеспечивающие функционирование аппаратных средств ЭВМ. Характеристики пакетов прикладных программ и их классификация. Оформление программных модулей в виде библиотек. Средства доступа к данным. Системы искусственного интеллекта.
курсовая работа [163,3 K], добавлен 23.04.2013Использование различных программ Microsoft Office для создания таблиц. Системы управления базами данных (СУБД) как специальные программные средства, предназначенные для работы с файлами баз данных. Возможности работы с табличными данными в Excel.
контрольная работа [21,6 K], добавлен 20.02.2010Понятие и назначение, принципы построения и внутренняя структура системы управления базами данных, их функциональные особенности и возможности, критерии оценки эффективности. Языковые и программные средства. Использование SQL, типы и модели данных.
презентация [677,3 K], добавлен 18.03.2015Создание специализированных пакетов прикладных программ как условие эффективного внедрения вычислительной техники в практику. Текстовые, графические и музыкальные редакторы, электронные таблицы. Системы управления базами данных и программы архиваторы.
курсовая работа [114,7 K], добавлен 14.04.2009Среды передачи данных, топологии локальных сетей. Сравнение средств разработки Microsoft, выбор системы управления базами данных. Описание серверной и клиентской части приложения. Внедрение системы оперативного документооборота на данное предприятие.
дипломная работа [3,5 M], добавлен 12.01.2012Автоматизация сбора и обработки данных. Основы, таблицы и средства для работы с базами данных. Инструментальные средства и компоненты. Технология создания приложения. Работа с псевдонимами и со связанными таблицами. Система управления базами данных.
методичка [1,5 M], добавлен 06.07.2009