Сергей Копосов
Электронное интервью.

Балдин Е.М.

осень 2006


Дипломированный физик. Профессиональный астроном. Участник программы Google Summer of Code 2006.

Домашняя страничка: http://lnfm1.sai.msu.ru/~math/.

Евгений М. Балдин Евгений: Что привлекло Вас к разработке именно PostgreSQL?

Сергей Е. Копосов Сергей: В начале я познакомился с PostgreSQL как пользователь. Причины были следующие: необходимо было работать с большим астрономическим каталогом (2MASS), который содержал более 200 миллионов звёзд. Здесь без базы данных не обойдёшься. То, что выбран был именно PostgreSQL, связано с тем, что рядом были люди[*], которые его уже использовали.

А дальше все уже пошло по нарастающей. Начав работать с PostgreSQL, я вдруг обнаружил, что в PostgreSQL не существует способов с помощью которых можно было бы быстро искать объекты на сфере. В итоге это сподвигло меня на написание проекта Q3C (QuadTreeCube http://q3c.sf.net). Процесс написания этого проекта уже потребовал выйти за рамки стандартного PostgreSQL. Например, мне были необходимы bitmap индексы, а Том Лэйн (Tom Lane) их тогда только реализовывал. Из-за этого мне пришлось перейти на работу c CVS-версией PostgreSQL. Во время разработки Q3C мне удалось заметить несколько проблем со скоростью работы битмапов, которые позже были исправлены Томом.

После интенсивной разработки Q3C я уже сильно «подсел» на списки рассылки pg-hackers, pg-patches и я, в частности, написал несколько маленьких патчей для тех проблем в psql клиенте, которые мне не нравились. Сначала автодополнение DROP FUNCTION, а потом улучшение работы psql c многострочными запросами. За последнее меня уже официально включили в список «Official contributors PostgreSQL» -- чем я несказанно горд .

Евгений: За что Вас выбрали для участия в программе Summer of Code 2006 и чем эта эпопея закончилась?

Сергей: Тут сложно сказать. На самом деле предложенных проектов на Summer of Code было не так уж и много, а мой проект не был ни чрезвычайно сложным, ни очень простым. Была уже общая подсказка от Тома, в каком направлении реализовывать проект. Сам проект был достаточно естественным улучшением уже существующей функциональности PostgreSQL, реализующей к тому же одну из маленьких недостающих частей стандарта SQL:2003. К тому же я все-таки уже был хотя бы минимально, но известен в pg-hackers сообществе.

А закончилась все тем, что сейчас мой код по агрегатным функциям включён в CVS и будет в версии 8.2 PostgreSQL. За что, конечно, спасибо Тому Лэйну, который «коммитил» и слегка корректировал код.

Евгений: Вы -- профессиональный астроном, и, судя по списку проектов, Вы активно этим занимаетесь. PostgreSQL не отвлекает от основной вашей деятельности?

Сергей: Отвлекает. Очень. Поэтому пока я взял паузу в кодировании для PostgreSQL. А дальше, поживём -- увидим...





baldin 2007-07-01