Нужна ли сайту база данных?
 

Что обычно требуется от веб сайтов? Функциональные возможности, гибкость и юзабилити, хотя юзабилити часто характеризуется по довольно сомнительным признакам. Заметьте, что я не упоминул базу данных. База данных – это инструмент, который выполняет различные требования и потребности сайта. Нуждается ли сайт в базе данных – это очень неоднозначный вопрос.

Много друзей спрашивают меня, как осуществить организацию, управление и поддержку баз данных в их сайтах. Прежде, чем ответить на такой вопрос, я всегда спрашиваю, почему они хотят сайт, управляемый именно с помощью базы данных. К моему удивлению, многие думают, что база данных – единственный способ для веб мастера создать и поддерживать сайт, и что без базы данных сайт – это не сайт. Сегодня идут споры о всех предполагаемых выгодах от баз данных, однако мало кто призадумывается, нуждаются ли они фактически в базе данных, или в какую цену обойдется производительность и/или функциональные возможности веб-сайта.

Проясним один момент: мы ведем речь о контенте сайтов, управляемых на основе базы данных, не берущих и предоставляющих информацию с других источников, или же предоставляющих данные в отличной от веб-страницы форме. Речь идет о стандартных веб-сайтах под управлением базы данных.

Когда использовать базу данных

Я использую базу данных для информации, часто притерпевающей изменения. Например, новостные и контент проекты нуждаются в базе для того, чтобы иметь возможность быстро вносить изменения в статьи и новости, а также добавлять их, упорядочивая на сайте по различным критериям: дата, категория и т.д.

Еще один пример: интранет сайт, используемый какой-нибудь компанией, занимающейся проверкой и тестированием программного обеспечения. Каждый член компании имеет возможность добавлять в базу данных последние результаты тестирования на том или ином этапе работы. Как можно удовлетворить требования по функциональным возможностям, гибкости и юзабилити в этом случае? Нужно организовать централизованный узел (базу данных), отвечающий за создание, поиск и выдачу результатов тестирования, таким образом обеспечивая функциональность и юзабилити. Нужно сделать систему гибкой, добавляя различные технические особенности – например, возможность изменения (корректировки) результатов тестирования, возможность распечатки тех же результатов и т.д.

Когда не использовать базу данных

Так когда же не нужно использовать базу данных? Наверняка многие из читателей скажут: «Это ведь смешно – всегда можно извлечь выгоду от использования базы данных», что будет равносильно русской поговорке: «Кашу маслом не испортишь!»... Позвольте мне объяснить, почему это не всегда так.

Сколько сайтов используют базу данных для заголовков, ссылок, изображений или текста? Используют многие, но только из-за того, что мы можем поместить содержание сайта в базу данных, не подразумевает то, что мы нуждаемся в ней. Действительность такова, что существуют некоторые узкие места в использовании баз данных. Есть потенциальные сетевые проблемы, проблемы обеспечения связи, и проблемы их разрешения, не говоря уже о потребности в управлении и обслуживании базы данных.

Существуют альтернативные методы управления содержанием сайта. Можно, например, хранить данные сайта в конфигурационных файлах, которые могут содержать массивы или переменные с необходимыми данными. Другим выбором могут стать XML или текстовые файлы.

Примите решение

При планировании cайта, сосредоточьтесь на причинах использования системы управления на основе базы данных. Во много раз более легко и быстро обращаться к требуемым данным, находящимся в файлах, нежели в базе данных.

Но можно посмотреть и с другой стороны. Используя базу данных для реальных данных, а не для относительно статических данных сайта (подобно имени сайта, слоганам и прочему), мы можем облегчить нагрузку на сервер и увеличивить производительность сайта. Опять же, все это зависит от количества запросов и других факторов.

 
Автор: Denveroid
 
Оригинал статьи: http://woweb.ru/publ/26-1-0-628