Что обычно требуется от веб сайтов? Функциональные возможности, гибкость и юзабилити, хотя юзабилити часто характеризуется по довольно сомнительным признакам. Заметьте, что я не упоминул базу данных. База данных – это инструмент, который выполняет различные требования и потребности сайта. Нуждается ли сайт в базе данных – это очень неоднозначный вопрос.
Много друзей спрашивают меня, как осуществить организацию, управление и поддержку баз данных в их сайтах. Прежде, чем ответить на такой вопрос, я всегда спрашиваю, почему они хотят сайт, управляемый именно с помощью базы данных. К моему удивлению, многие думают, что база данных – единственный способ для веб мастера создать и поддерживать сайт, и что без базы данных сайт – это не сайт. Сегодня идут споры о всех предполагаемых выгодах от баз данных, однако мало кто призадумывается, нуждаются ли они фактически в базе данных, или в какую цену обойдется производительность и/или функциональные возможности веб-сайта.
Проясним один момент: мы ведем речь о контенте сайтов, управляемых на основе базы данных, не берущих и предоставляющих информацию с других источников, или же предоставляющих данные в отличной от веб-страницы форме. Речь идет о стандартных веб-сайтах под управлением базы данных.
Когда использовать базу данных
Я использую базу данных для информации, часто притерпевающей изменения. Например, новостные и контент проекты нуждаются в базе для того, чтобы иметь возможность быстро вносить изменения в статьи и новости, а также добавлять их, упорядочивая на сайте по различным критериям: дата, категория и т.д.
Еще один пример: интранет сайт, используемый какой-нибудь компанией, занимающейся проверкой и тестированием программного обеспечения. Каждый член компании имеет возможность добавлять в базу данных последние результаты тестирования на том или ином этапе работы. Как можно удовлетворить требования по функциональным возможностям, гибкости и юзабилити в этом случае? Нужно организовать централизованный узел (базу данных), отвечающий за создание, поиск и выдачу результатов тестирования, таким образом обеспечивая функциональность и юзабилити. Нужно сделать систему гибкой, добавляя различные технические особенности – например, возможность изменения (корректировки) результатов тестирования, возможность распечатки тех же результатов и т.д.
Когда не использовать базу данных
Так когда же не нужно использовать базу данных? Наверняка многие из читателей скажут: «Это ведь смешно – всегда можно извлечь выгоду от использования базы данных», что будет равносильно русской поговорке: «Кашу маслом не испортишь!»... Позвольте мне объяснить, почему это не всегда так.
Сколько сайтов используют базу данных для заголовков, ссылок, изображений или текста? Используют многие, но только из-за того, что мы можем поместить содержание сайта в базу данных, не подразумевает то, что мы нуждаемся в ней. Действительность такова, что существуют некоторые узкие места в использовании баз данных. Есть потенциальные сетевые проблемы, проблемы обеспечения связи, и проблемы их разрешения, не говоря уже о потребности в управлении и обслуживании базы данных.
Существуют альтернативные методы управления содержанием сайта. Можно, например, хранить данные сайта в конфигурационных файлах, которые могут содержать массивы или переменные с необходимыми данными. Другим выбором могут стать XML или текстовые файлы.
Примите решение
При планировании cайта, сосредоточьтесь на причинах использования системы управления на основе базы данных. Во много раз более легко и быстро обращаться к требуемым данным, находящимся в файлах, нежели в базе данных.
Но можно посмотреть и с другой стороны. Используя базу данных для реальных данных, а не для относительно статических данных сайта (подобно имени сайта, слоганам и прочему), мы можем облегчить нагрузку на сервер и увеличивить производительность сайта. Опять же, все это зависит от количества запросов и других факторов. |