Структура корпоративного сайта ориентированного на обеспечение максимальной пиковой нагрузки (посещаемости).
При создании корпоративных сайтов очень широко используют принципы структурного программирования: модульная структура, большое число стандартизованных функций. При этом существенно облегчается программирование сайта и, соответственно, и стоимость его разработки.
Однако при построении корпоративного сайта требующего стабильной работы при пиковых нагрузках такое построение может принести не очень хорошие результаты.
На странице сайта может располагаться десяток, а то и более, независимых модулей, каждый из которых организует свою сессию работы с базой данных. А если обращения к базе данных оформлены в виде функций, то каждый модуль может организовывать уже несколько сессий с базой данных. А хуже всего, если функции, организующие сессии с базой данных, стоит в цикле.
Корпоративный сайт, обеспечивающий максимальные пиковые нагрузки, должен:
- во первых обеспечить минимальное число сессий с базой данных, наилучший вариант – всего две сессии на одну выводимую страницу сайта.
- во вторых, должен иметь оптимальную структуру базы данных, обеспечивающую и высокое быстродействие с одной стороны, и высокую надежность и непротиворечивость данных, с другой.
Обеспечение минимального числа сессий с базой данных
Для обеспечения минимального числа сессий с базой данных каждая страница корпоративного сайта должна иметь всего два модуля:
- Модуль, отвечающий за все меню, информационные и рекламные блоки.
- Центральный информационный модуль.
В пределе, конечно, может быть и только один модуль, но практическая реализация такого сайта будет очень тяжела.
Оптимальная структура базы данных корпоративного сайта
Об оптимальной структуре базы данных мы уже писали в одноименной статье, отметим только ее основные черты и особенности применения.
Оптимальная структура базы данных должна использовать технологии современных хранилищ данных (Data Warehouse), т.е. содержать высоконадежную реляционную базу данных и высокоскоростную пространственную базу данных максимально согласованную с выводимыми страницами сайта. Последняя загружается из реляционной базы данных и отказ от нормализации данных в ней не приводит к снижению общей надежности.
Рис. Упрощенная структура хранилища данных корпоративного сайта
Вся информация сайта хранится в реляционной базе данных, и информация о меню, и информация обо всех страницах сайта.
Однако при выводе страницы считываются не эти реляционные таблицы, а таблицы, специально подготовленные и оптимизированные для каждого типа модулей и страниц сайта, так называемые витрины данных (Data Mart).
В простейшем случае таких таблиц может быть всего три: таблица всех меню и информационных блоков, таблица списка информационных страниц разделов, таблица информационных страниц. Но может быть и много больше. В больших корпоративных сайтах каждая витрина данных может содержать несколько таблиц, объединенных по принципу «звезда» или «снежинка».
Создание корпоративного сайта, ориентированного на высокие пиковые нагрузки, конечно сложнее (и в данной статье мы остановились только на двух особенностях), но только если изначально ставиться такая задача, и вся разработка корпоративного сайта подчиняется этой задаче, можно достичь требуемых результатов.
Наша компания применяет именно такой подход к созданию корпоративных сайтов каждый из которых эксклюзивен и обладает предельно достижимыми характеристиками. И, похоже, наша компания впервые применяе описанные технологии при создании корпоративных сайтов. Другие применения нам не известны.
10.05.2007
__________________
Версия для печати