PostgreSQL нельзя назвать самой популярной СУБД во всём мире, однако в компании Skype решили использовать именно её для решения основной массы бизнес-задач. Их подход заключается в использовании интерфейса обычных хранимых процедур для обработки и распределения доступа к данным между их серверами баз данных. Результат - построение горизонтально распределённой системы, способной работать с 1 миллиардом пользователей.
Основные идеи построения системы таковы:
- С такой нагрузкой справится одной физической машине будет нереально, поэтому выстраивается горизонтально масштабируемая система.
- Железо: dual или quad Opterons с SCSI RAID.
- Работа начинается с одной базы данных, а остальные БД распределены по функционалу. Данные, предназначенные прежде всего для считывания - реплицируются.
- Для удалённого доступа к распределённым данным используется PL/Proxy. Запросы к БД поступают в прокси и там распределяются по присутствующим в системе базам данных.
- Для управления кластером pgsql серверов, в Skype разработали SkyTools.
- Приложения не зависят от структуры БД (они обращаются к прокси и "не видят" БД напрямую), поэтому менять код приложений в случае изменения структуры БД не требуется.