Актуальность разработки - Система автоматизированного разделения кода прикладных программ

В большинстве современных систем, работающих с БД, набор параметров к запросам не фиксирован, а потенциально создаваемая избыточность негативно повлияет на производительность системы в целом. Для больших таблиц выигрыш, полученный за счет использование статического SQL может стать несущественным из-за обработки лишних данных.

Также стоит отметить, что для pureQuery разработчикам придется переделывать код программы, чтобы система смогла получить данные об отправленных запросах.

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

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

Разрабатываться данная система будет на Java и для этого же языка программирования. Во-первых, некоторые СУБД поддерживают технологию написания хранимых процедур на Java. Во-вторых, данный язык программирования широко применяется для написания именно серверов приложений.

База данных исходного приложения должна использовать SQL и иметь интерфейс для JDBC подключения. Наиболее вероятно, что будет использоваться PostgreSQL, так как данная система поддерживает написание функций на Java с использованием модуля PL/Java, а также является свободно распространяемой СУБД.

Синхронизацию данных и параметров можно обеспечить двумя способами: передача всех объектов, использующихся в процедуре, в качестве параметров или синхронизация локальных стека и кучи. Первый способ был выбран в силу более простой реализации, нежели во втором варианте, который потребует работы с JVM и возможного внесения модификаций. Если же возникнут случаи, при которых синхронизация через параметры будет невозможна, то второй вариант останется единственным возможным решением.

Похожие статьи




Актуальность разработки - Система автоматизированного разделения кода прикладных программ

Предыдущая | Следующая