DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Признаки масштабируемости приложения

ризнаки масштабируемости приложения

Создание масштабируемых приложений - это тяжелая работа. Она го­раздо сложнее, чем все то, что можно решить при помощи советов, из­ложенных на паре страниц. Но вы, наверное, уже обратили внимание на то, что существуют два утверждения о производительности Oracle, которые я считаю непреложными истинами:
Работа большинства систем обеспечивается большим количеством оборудования; они работают медленно из-за ненужных трат ре­сурсов.
Экономически гораздо эффективнее избавиться от бессмысленных трат, чем пытаться уйти от проблемы, наращивая мощность обору­дования.
Я утверждаю, что при создании быстрого масштабируемого приложе­ния следует придерживаться Золотого Правила Разработки Приложе­ний:
Не заставляйте приложение выполнять никакие операции, кроме абсолют­но необходимых.
Так, конечно, может рассуждать только лентяй, и не такому отноше­нию к труду нас учили наши папы и мамы. Но приложение становится медленным, немасштабируемым (что не одно и то же [Millsap (2001a)]) и в конце концов экономически неэффективным именно потому, что делает то, в чем нет необходимости. Приведу несколько советов, при­званных немного конкретизировать наше Золотое Правило:
Не формируйте отчеты, которые никто не читает.
Не формируйте больше выходных данных, чем необходимо.
Выполняйте бизнес-операции не чаще, чем этого требует бизнес.
Избегайте конструкций SQL, которые обращаются к большему ко­личеству блоков кэша буферов базы данных, чем это необходимо.
Не изменяйте значение столбца на значение, совпадающее с теку­щим.
Передавайте данные приложению по мере их готовности и не за­ставляйте его периодически спрашивать, нет ли для него какой-ни­будь работы.
Не формируйте данные отката и восстановления, если не планируе­те воспользоваться обеспечиваемыми ими возможностями.

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









jAntivirus