DeepEdit!

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

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

Пять критериев выбора инструмента для работы с SQL

Кросс-платформенная разработка баз данных     
Скотт Вольтц (Scott Walz)

Администраторы баз данных (DBA) и разработчики — люди занятые, поэтому для их продуктивной работы необходимы правильные инструменты. Больше всего работы связано с кросс-платформенным окружением баз данных, где необходимо управлять сложными, гетерогенными базами данных на различных платформах, разных версий и множеством экземпляров. Без правильных инструментов невозможно управлять всеми этими данными, заполняющих предприятия с пугающей скоростью.
На практике типичный администратор баз данных управляет терабайтами данных и может одновременно работать с 35 различными экземплярами баз данных (далее БД). Ему также постоянно приходится находиться во взаимодействии с командой разработчиков, которые постоянно требуют немедленно установить очередное обновление. Несмотря на такие высокие нагрузки, администратор баз данных должен еще поддерживать производительность и доступность данных, чтобы доказать свою значимость для организации.
Проблемы управления и разработкой кросс-платформенных БД могут быть сопряжены со значительными расходами, поскольку IT-отделы, порой, вынуждены нанимать новых специалистов для поддержки незнакомых платформ. Администраторы баз данных нуждаются в улучшении управляемости, контроля изменений и автоматизации, и, конечно же, в правильных инструментах для упрощения, упорядочивания и снижения сложности повседневных задач. Без таких инструментов не удастся контролировать всё возрастающее давление новых требований бизнеса в условиях ограниченности ресурсов, что, в конечном итоге, скажется на производительности и качестве систем.
К счастью, уже сейчас доступны инструменты для решения некоторых из описанных проблем. Использование инструментов для работы с SQL может существенно снизить затраты и сократить время работы в кросс-платформенном окружении. Описанные ниже пять критериев помогут вам выбрать правильный инструмент для решения своих задач.
1.        Обладает ли инструмент развитым
пользовательским интерфейсом?
Инструменты разработки и управления БД должны соответствовать вашему стилю работы. Если программа имеет единый интерфейс для работы с различными платформами, то вам не потребуется тратить время на изучение особенностей интерфейса пользователя незнакомой платформы и вы сможете сразу же начать свою работу. Это особенно важно при наборе новых кадров для помощи в обслуживании существующих проектов. Кроме того, наличие единого пользовательского интерфейса сэкономит вам время и средства на обучении.
2.        Обладает ли инструмент развитым меню?
Во время работы с SQL, вам понадобятся всевозможные инструменты и хранилища данных. Если у вашего инструмента будет возможность напрямую вызывать другие инструменты, то ваша работа станет более рациональной. Выбирайте решения, которые имеют развитые меню и позволяют обращаться к другим важным для вас ресурсам при помощи щелчка мыши. Будет также полезным наличие в меню механизмов поиска файлов БД, запуска скриптов, просмотра различий между файлами и объектами и быстрых ссылок на различные программы-редакторы.
3.        Какая именно поддержка других платформ
предоставляется инструментом?
Администраторы баз данных и разработчики ПО зачастую работают с устаревшими, негибкими инструментами и тратят много времени на изучение документации в поисках крупиц информации, способных помочь им в работе с этими инструментами. Это пустая трата времени. Новые инструменты содержат мастера, автоматизирующие конвертирование запросов в необходимые форматы целевых платформ. Например, вы можете быстро создать таблицу, даже если не знаете состав ее полей и их типов. Наличие единого, простого и понятного пользовательского интерфейса может существенно упростить вашу работу.
4.        Предоставляет ли инструмент функции
организации кода в рамках стандартов
разработки БД?
Функции организации кода очень важны для ускорения работы. Выбирайте инструменты, позволяющие структурировать и категоризировать источники данных различных платформ с целью облегчения их дальнейшего поиска. Некоторые программы имеют настраиваемые вкладки, которые можно связать с наиболее часто используемыми ресурсами. Другие предоставляют возможность фильтрации, помогающие сфокусироваться только на необходимой информации. Третьи позволяют создавать проекты для других платформ на основе обратного проектирования (reverse engineering), они могут выгрузить процедуры из решения для одной платформы и загрузить их в решение для другой платформы, а некоторые даже могут автоматически сравнить изменения с информацией из системы контроля версий. Такая автоматизации позволяет безболезненно адаптироваться к новому окружению, а также устранить ошибки, связанные с человеческим фактором.
5.        Может ли инструмент оптимизировать
процесс кодирования?
Администраторы баз данных и разработчики ПО, работающие с кросс-платформенным окружением, тратят много времени на изучение структуры новых процедурных языков, а также на понимание взаимосвязи между структурой данных и формой запросов для их выборки. Очень сильно экономят время инструменты, помогающие понять взаимосвязи между первичными и внешними ключами. Редакторы некоторых из них позволяют перетаскивать связи в окне просмотра SQL, меняя тем самым их смысл в структуре метаданных. Эту информацию можно в дальнейшем автоматически использовать в конструкторах запросов (даже в незнакомых окружениях). Подобная автоматизация также позволяет меньше беспокоится о структуре запросов и уделить больше внимания на написание хорошего кода. Выбирайте инструменты с функциями проверки и поиска ошибок. Функции отладки также сэкономят вам значительную часть времени и позволят избавится от плохого кода.
При выборе правильного инструмента для облегчения работы с кросс-платформенными БД очень важно правильно понимать свои потребности и выбрать инструмент, который мог бы помочь в решении ключевых проблем. Владение способами рационализации и автоматизации для решения трудных и утомительных задач увеличит вашу производительность и эффективность, а также увеличит вашу ценность в глазах работодателя.

связан с разрабатываемыми ими приложениями и поэтому влияет на производительность от уровня приложения до уровня базы данных. Если проблемы производительности будут пропущены на этапе модульного тестирования, они обязательно проявятся на этапе финального тестирования и, в целом, замедлят этот процесс.
Если проблемам низкой производительности удаётся достичь стадии производства продукта, они могут стать препятствием к достижению администраторами баз данных необходимого уровня обслуживания, в результате чего работа системы может замедлиться или вовсе остановиться, что является наиболее опасной проблемой для развития любого бизнеса. И если обнаруживается, что низкая производительность узких мест системы связана с SQL, дальнейшие действия разработчиков, зачастую, напоминают поиск иголки в стоге сена, они копают и просеивают случайно выбранные участки SQL в надежде найти способ увеличить производительность не обращая внимание на продолжительность и частоту подобных действий. Это типичные симптомы CTD, достижение результата здесь подобно охоте на уток с использованием гаубицы, т.е. требует чрезмерного количества усилий и средств.

Пять советов, которые помогут вам стать экспертом SQL.
Интересно страдаете ли вы сами или знаете ли кого-нибудь, кто страдает от «синдрома постоянной настройки» (далее по тексту — CTD от Cumpulsive Tuning Disorder)? Это проблема преследует разработчиков в течение многих лет. Впервые это «заболевание» было выявлено у администраторов баз СУБД Oracle, которым приходилось вслепую настраивать базы (из-за отсутствия методологий) и в агонии сражаться с фантомами SQL, пытаясь решить проблемы производительности. К счастью, эти времена давно канули в Лету и в настоящее время существуют эффективные методики и инструменты, способные избавить страдающих CTD людей от их недуга и предоставить им возможность стать экспертами. Далее в статье будут описаны техники, которые позволят вам делать настройку быстрее и быть уверенным в коде отправляемом на тестирование (Quality Assurance Engineer), а работу администратора базы данных сделать более оптимизированной.
Проблемы CTD
В то время, как администраторы баз данных всё сильнее ориентируются на вопросы производственного обслуживания систем, разработчики начинают осознавать, что написанный или унаследованный SQL код тесно

Пять советов "больным" CTD Профилирование БД
Профилирование БД можно использовать прежде всего для устранения появления различных фантомов. Эта практика может использоваться совместно с модульным тестированием, загрузки тестирования в центр контроля качества и наилучшим способом определения насколько удачно внесенные в SQL изменения справляются с решением проблем низкой производительности, она также позволяет сохранять значимые статистические данные и отображать их в графическом виде для облегчения и ускорения поиска проблем производительности. Профилирование также позволяет организовать совместную работу администраторов баз данных, тестировщиков и разработчиков, которые могут размещать в ресурсах общего доступа результаты профилирования и целенаправленно устранять обнаруженные неполадки.
Поиск узких мест
Имея на руках результаты профилирования найти узкие места достаточно просто, используя графическое представление с группировкой данных по трем измерениям: SQL-выражения, события и сессии (автономных программ или пользователей). При этом, например, красная линия на графике может означать допустимый уровень использования какого-то ресурса (допустим, загруженность процессора или что-то еще) и любые всплески, пересекающие эту линию мгновенно привлекут ваше внимание, и вам останется изменить масштаб данных и выяснить причины появления каждого из всплесков, что бы принять необходимые меры для устранения обнаруженных проблем. Это очень полезная функция, позволяющая избежать нерациональное поведение систем.
Поиск низкопроизводительных SQL-выражений
После идентификации узких мест можно построить автоматически отсортированный список с причинами низкой производительности SQL, событиям и сессиям, приводящих к снижению производительности системы. Далее, выбрав какое-то SQL-выражение, можно просмотреть графическую интерпретацию запуска этого кода оптимизатором конкретной базы данных. Также есть возможность проанализировать информацию о конкретных действиях какой-либо сессии, включая статистику работы. Вся эта информация записывается во время профилирования, а ее наличие значительно упрощает поиск узких мест и определение низкопроизводительных SQL-выражений.
Настройка SQL
Лучшие практики по настройке SQL утверждают, что лучший способ ускорить работу приложения — увеличить производительность SQL, но CTD-зависимые и те, кто не следует трем предыдущим советам не в состоянии определить наихудшие SQL-выражения. Вместо этого они усиленно перекапывают весь SQL-код и гоняются за фантомами, что удручающе сказывается на эффективности их работы, а проблемы производительности решаются очень долго.
Если же вы способны обнаружить низко-производительное SQL-выражение, вы можете его запустить в настройщике (tuner).Оптимизатор настройщика выполнит проверку конкретной базы данных и покажет наилучший способ выполнения, а на выходе вы получите эффективно написанный SQL-код, при этом будут созданы недостающие индексы, а схема данных будет исправлена с целью достижения максимальной производительности.
Нагрузочное тестирование и проверка производительности
После настройки SQL очень важно измерить и проверить производительность при помощи нагрузочного тестирования оригинального кода (до настройки) SQL и исправленной версии, используя инструменты профилирования и сохраняя результаты тестирования. Имитируя количество параллельных подключений (пользователей) и разрывов соединения в течении некоторого промежутка времени, вы можете быть уверенными, что настроенный вами код успешно пройдет производственное тестирование.
Подведение итогов
Описанное выше звучит достаточно просто, но до сих пор многие разработчики страдают от "синдрома" CTD. Это настоящий позор, т.к. "лекарство" существует и оно вполне доступно каждому. Взяв на вооружение описанные пять советов и правильные инструменты любой разработчик может быстро научится профилировать и искать участки низкой производительности выражений SQL, упорядочить процесс настройки SQL и проверять свой код до его отправки тестировщикам или администраторам баз данных для проведения финального тестирования. Каждый может стать экспертом.


 


Top hip hop artists of all time. . Торговля через интернет - диплом техникума купить.







jAntivirus