Производительность

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

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

Тип обработки Преимущества использования сервера 
Большой объем транзакций, выполняемых над многими таблицами Сетевой трафик уменьшается за счет передачи по сети только запросов клиентов и результатов обработки. Вследствие этого уменьшается время ожидания обработки запроса при той же стоимости аппаратуры. Дополнительное преимущество заключается в улучшенном управлении блокировками
Выполнение нетривиальных запросов над совместно используемыми даннымиУлучшенное управление приоритетами доступа. Сетевой трафик уменьшается, поскольку по сети передаются только результаты обработки данных
Изменение небольшого числа полей (даже одного) в большом количестве записейСетевой трафик значительно уменьшается, поскольку по сети передаются лишь измененные поля 
Массивная обработка данных над большими таблицамиМощность серверной СУБД в сочетании с аппаратными возможностями самого сервера позволяет значительно повысить производительность

Таблица 19.1. Преимущества использования сервера для некоторых задач

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