Skype планирует использовать PostgreSQL для работы с 1 миллиардом пользователей

PostgreSQL нельзя назвать самой популярной СУБД во всём мире, однако в компании Skype решили использовать именно её для решения основной массы бизнес-задач. Их подход заключается в использовании интерфейса обычных хранимых процедур для обработки и распределения доступа к данным между их серверами баз данных. Результат - построение горизонтально распределённой системы, способной работать с 1 миллиардом пользователей.

Основные идеи построения системы таковы:

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