PHOTO

Александр Бурьяк

Пpоектирование систем обработки данных

(Отрывки)

Что представляет собой работа с данными сегодня? Если бы уделялось должное внимание её организации, то 80% затрачиваемых в этой области усилий стали бы не нужными, а эффективность оставшихся 20% возросла бы в несколько раз.


Обновлено: 10.02.2013
Другие произведения

ЭРОТИЧЕСКИЙ ВЕБ ЧАТ

2. Введение.

Средства быстрого программирования: 1. Языки программирования высокого уровня. 2. Средства объектно-ориентированного программирования. 3. Системы поддержки проектирования, программирования, отладки. 4. Дорабатываемые базовые системы. 5. Настраиваемые системы. Большинство систем обработки данных сводиться к нескольким типам и может создаваться путём наращивания некоторых базовых систем -- хорошо спроектированных, написанных, отлаженных и вдобавок приспособленных для развития. Базовые системы могут, в свою очередь, разрабатываться на основе одной системы, в которую добавляются те или иные возможности. В этом случае они образуют семейство базовых систем. Можно добиваться очень высокого уровня отлаженности базовых систем. Семейство базовых систем задаёт стандарт и стиль программиро- вания. * * * Можно говорить о том, что есть два направления развития техно- логий работы с данными: 1) наращивание мощностей и расширение функций; 2) оптимизация основных функций. В настоящее время доми- нирует первое направление, отнимая ресурсы и внимание от второго и добавляя ему сложности. Как сегодня оценивают положение дел в области компьютерной работы с данными? По количеству прибыли, по числу занятых. Иначе говоря, чем больше ресурсов общества оттягивает на себя эта отрасль, тем якобы лучше обстоят в ней дела. Ясно, что при таком подходе абсурд и сложности в работе с данными будут только нарас- тать. Вследствие этого будет снижаться эффективность отрасли, будут увеличиваться вредные побочные эффекты и -- хуже того -- продолжит усугубляться ситуация с уязвимостью цивилизации в целом. Основные "болезни" в области работы с данными: 1) вирусы; 2) игры; 3) отвлекающая и деструктивная информация; 4) ненужная новизна. В развитии информационных технологий в настоящее время слишком много рыночности, сиюминутности, а требуется больше плановости, дальновидности. Следует больше разрабатывать, обсуждать, пропа- гандировать и в отдельных случаях даже навязывать некоторые стратегии и стандарты. Средства работы с данными почти никогда не обсуждаются в СМИ как инструменты для решения некоторых проблем -- внешних по отно- шению к области работы с данными. Они обсуждаются преимущественно как самоценности либо как инструменты решения внутренних проблем этой области. * * * Взможные направления работы по исправлению ситуации в области работы с данными: 1. Использование мощных метасистем в разработке и сопровождении программных систем. 2. Использование базовых систем при создании прикладных средств обработки данных. 3. Разработка и распространение систем поддержки решений, прививающих эффективную культуру информационной работы. 4. Курирование профессионального развития программистов. Принципы, которыми следует руководствоваться: 1. Минимализм. 2. Протекционизм. 3. Жёсткое соблюдение правил компьютерной гигиены (понимаемой как подход, позволяющий избегать вредных последствий компьютеризации для здоровья, интеллекта и т. п.). * * * Почему не делаются базовые системы? Потому что создать хорошую базовую систему с использованием некоторого средства программи- рования много сложнее, чем создать аналогичную по возможностям конкретную систему обычного качества с использованием того же средства программирования. Вдобавок при этом нужна значительно более высокая культура работы. Далее, построение базовой системы задерживается тем, что требует приобретения некоторого опыта использования средства программирования. А это значит, что пока кто-то будет делать базовую систему с использованием какого-ни- будь нового средства программирования, другие разработчики уже предложат конкретные системы, которые можно было бы с меньшими усилиями и лучшим качеством сделать на основе прототипа. Системы будут работать плохо и требовать значительных усилий по сопровож- дению, но они появятся раньше. К тому времени, когда будет предложена хорошо отлаженная базовая система, применённое для её создания средство программирования уже частично устареет, и пользователей будут привлекать разработки с применением новых средств. Таким образом, развитие компьютерных средств -- это по преиму- ществу гонка уродцев (правда, более-менее приглаженных внешне). * * * Чтобы быстро создавать базовые системы, следует иметь нала- женную технологию. Чтобы обеспечить интерес пользователей к продуктам, сделанным на основе базовых систем, так что поль- зователи соглашались бы ждать появления таких продуктов, а не приобретать первые предложенные, следует пропагандировать базовые системы. * * * Работа с данными -- в настоящее время наиболее быстро развива- ющаяся область деятельности. Она развивается настолько быстро и настолько хаотично, что даже у якобы успешно действующих в ней субъектов отсутствует сколько-нибудь чёткое представление о том, что же всё-таки с нею происходит и чем всё это грозит. * * * Наибольшее распространение почти всегда получает не самая луч- шая система, а та, которая раньше появилась на рынке, "захватила" его. Разумеется, обнаруженные в системе значительные недостатки в дальнейшем по возможности устраняются, но зачастую эта возмож- ность не очень велика, и разработчики новых версий программного продукта оказываются вынуждены придерживаться однажды принятых технических решений и делать вид, что эти решения достаточно хороши. Создавать более-менее работающие компьютерные программы умеют очень многие. В том числе создавать программы, удовлетворяющие распространенным представлениям о том, что такое хорошая програм- ма. Но очень немногим удается разрабатывать программы так, чтобы от них был общий положительный эффект. Большинство программ в лучшем случае переносит проблемы с одного места в другое: к при- меру, становится удобно "конечному пользователю", но оказывается, что фирма вынуждена слишком много тратиться на компьютеры и программистов, и т. п. ............................................................... ...............................................................

12. Структуры данных.

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

Возврат на главную страницу
Hosted by uCoz