Представлен первый публичный релиз системы асинхронной репликации данных для PostgreSQL - Golconde 0.4, которая может обеспечивать синхронизацию данных на удаленный slave сервер. Golconde написана на языке Python и состоит из двух модулей - триггера для асинхронного помещения в очередь всех изменений в базе и процесса-диспетчера, осуществляющего передачу сообщений на удаленный сервер, на котором подобный процесс занимается приемом сообщений и обновлением базы.
Благодаря своей простоте, система надежна в работе и легко расширяемая. Так как очередь передается в асинхронном режиме, включение репликации почти не влияет на производительность, при этом нормально обрабатывается ситуация временного нарушения достижимости хоста, размещенного в другом дата-центре, - сообщения накапливаются в очереди. Для обеспечения надежной синхронизации предусмотрена схема с единым подтверждением внесения изменений на slave, через задействование двухфазовых коммитов. Кроме триггера, возможно вынести логику синхронизации на сторону клиентского приложения, для чего разработаны специальные PHP и Python модули.
По принципу работы Golconde сильно напоминает другую систему репликации - PyReplica.
|