Tuesday, November 18, 2008

Архитектура WikiPedia

Презентация по внутреннему техническому устройству базы сайта WikiPedia, входящего в top 10 самых посещаемых сайтов сети. И один из модельных (поскольку такой большой) примеров использования MySQL.

400 серверов (250 - веб и 150 - база данных). Как кэш для веб части используют Squid (кстати, веб-страницы - большей частью статические). Как серверный кэш - memcached. Все просто. Но самое интересное - в последних слайдах презентации. Там-то и обеспечивается вся оптимизация, на самом деле. База данных логически разделена на разделы. Исходя из бизнес-процессов (постановки задачи) разделены узлы чтения и записи и, соответствующим образом, сбалансирована скорость репликаций. Еще один пример того, что универсального подхода для оптимизации нет, а ключ ко всему именно понимание "физики" задачи.

Интересно, что сопровождает все это хозяйство всего 7 человек. Все компоненты - Open Source.

P.S. вот здесь - еще материалы по веб-программированию проекта WikiPedia.

2 comments:

Anonymous said...

Принципиально если работает, то семи человек хватает. Думаю в начале им трудновато было всемером, хотя тут и видать, что они не сами всё делали, а уже использовали Open Source.

Что ещё раз доказывает, что большие проекты необязательно делать на комерческих продуктах.

Anonymous said...

1) Санкам слегка позор.Специалист по вебу который вываливает картинки в .... bmp (!!!) - это сурово, да.

2) Они забыли сказать что это не чистый LAMP, там статику отдает во многих случаях легкий lighttpd вместо монструозного апача.

Итого - обзор в основном является пиаром санок "вот они дескать юзают нашу базу".При том - неумелым пиаром с кучей ляпов.