Книга: Дефрагментация мозга. Софтостроение изнутри
Диалог о производительности
Диалог о производительности
В одном из проектов у меня произошёл с заказчиком весьма характерный разговор, ярко иллюстрирующий приоритеты при освоении бюджета даже в относительно небольшой частной компании:
Заказчик: Нам необходимо рассчитать ряд показателей на основе данных одной базы, но использовать их будут из таблиц в другой базе данных.
Я: Сделаем расчёт на SQL, заполним таблицы напрямую. Базы данных у вас на одном сервере?
Заказчик: На одном, но теоретически могут быть разнесены…
Я: Значит, просто поменяется источник расчётных данных: локальный на удалённый.
Заказчик: Э-э-э… А по сравнению с пакетом сервиса интеграции[20] скорость не замедлится?
Я: Наоборот, все будет работать быстрее. Две стадии – запрос с расчётами и заливка результата – вместо трёх.
Заказчик: Ух ты, здорово! (мнётся)
Я (с пониманием в голосе): Если вы хотите привлечь к работе ещё одного человека, то мы заполним данные в расчётной базе, а потом ваш сотрудник сделает пакет, который просто перекачает данные из одной базы в другую.
Заказчик (радостно): Да, я бы предпочёл сделать так!
Речь шла о регулярном заполнении пары таблиц объёмом примерно в сотню миллионов строк. Вместо прямого пути с настраиваемым источником данных ради приобщения к действу ещё одного «выпускника курсов» заказчик выбрал локальный расчёт с последующий перекачкой данных. В итоге используемое дисковое пространство удваивается, время увеличивается.
Служба «бизнес-интеллекта»[21] предприятия – неисчерпаемый кладезь такого рода задач для новоиспечённых специалистов курсов переквалификации и их начальников.
- Можно ли конструировать программы как аппаратуру?
- Безысходное программирование
- Эволюция аппаратуры и скорость разработки
- Диалог о производительности
- О карманных монстрах
- ASP.NET и браузеры
- Апплеты, Flash и Silverlight
- ООП – неизменно стабильный результат
- ORM, или объектно-реляционный проектор
- ВЦКП в облаках
- От CORBA к SOA
- Прогресс неотвратим
- Программирование в диалоговом режиме
- Повышение производительности приложений с помощью хранимых процедур
- Перемещение по диалоговым окнам
- 2.10.5. Безопасность против производительности
- Интересный диалог или монолог
- 15.7. Мониторинг производительности
- Урок 1.3. Контекстное меню и диалоговые окна
- Диалоговые окна
- Практическая работа 3. Изучение диалоговых окон
- Немодальные диалоговые окна
- Диалоги
- 14.2.1 Вводный диалог