PostgreSQL 컨트리뷰터 스토리: 매니 우드(Manni Wood)

EDB는 올해 초부터 PostgreSQL 개발에 재능이 있는 동료들을 발굴해 실제 기여자로 성장시키는 ‘Developer U’ 프로그램을 운영하고 있습니다. 저는 인물들의 탄생 설화에 유독 약한 편이라, 프로그램 참가자들을 만나 그들의 동기와 꿈, 그리고 그들이 만든 패치(Patch)에 대해 이야기를 나누고 있습니다.

오늘은 그중에서도 독특한 이력을 가진 매니 우드(Manni Wood)를 소개합니다. 매니는 EDB에서 3년 동안 Go 언어로 마이크로서비스를 개발해 왔습니다. 최근에는 엔지니어링 미팅에서 발표 역량을 보여주며 솔루션 그룹에 합류했고, 현재는 기술 블로그 작성, 가이드 영상 제작, 소프트웨어 트러블슈팅 등을 담당하고 있습니다.


1. 배경: 도서관학 전공자가 컴퓨터에 빠진 이유

매니는 어릴 적부터 컴퓨터를 좋아했지만, 비싼 장비와 접근성 문제로 잠시 꿈을 접고 영문학 학사와 도서관학 석사 과정을 밟았습니다. 하지만 운명이었을까요? 컴퓨터공학 교수진이 문헌정보학 수업에 들어와 ICT를 가르치기 시작했고, 그곳에서 파스칼(Pascal) 언어를 배우며 다시 컴퓨터와 사랑에 빠졌습니다.

학비가 부족해 구직 전선에 뛰어든 시기는 마침 “월드 와이드 웹(WWW)”이 막 태동하던 때였습니다. 매니는 독학으로 HTML과 Perl을 익혀 1년 만에 웹 앱 개발자가 되었습니다. 이후 오라클(Oracle)을 거쳐 ‘오라클보다 저렴하면서 강력한 RDBMS’를 찾던 중 마침내 PostgreSQL을 발견하게 되었습니다.

매니의 상사인 알리사(Alyssa Mazziotta)는 그를 ‘Developer U’ 프로그램으로 이끈 주인공입니다. 매니는 스스로 Postgres에 기여할 실력이 안 된다고 생각했지만, 알리사는 평소 독학으로 x86 어셈블리어와 C 언어를 공부하던 매니의 열정을 보고 참가를 독려했습니다.


2. “데이터의 정확성을 보장하는 사서의 마음”

매니는 도서관학을 공부한 사람으로서 RDBMS에 끌리는 것은 숙명이라고 농담처럼 말합니다.

“데이터에 제약을 올바르게 설정해두면, 몇 년이 지난 후에도 제가 미처 예상치 못했던 질문(Ad-hoc query)을 던졌을 때 Postgres가 1) 정확한 답변을 2) 즉시 줄 수 있다는 점이 정말 매력적입니다.”

또한 매니는 Postgres의 강력한 커뮤니티와 업계 최고 수준의 문서화, 그리고 잘 관리된 코드베이스를 극찬합니다. 수십 년이 걸렸을지언정, Postgres가 지금처럼 인기를 얻는 것은 당연한 결과였다고 그는 믿습니다.


3. 컨트리뷰션은 ‘C 언어 전문가’만의 전유물이 아니다

매니는 이미 오픈소스 기여 경험이 있습니다. Go 언어와 Postgres를 연결해 주는 pgx 프로젝트에 몇 개의 패치를 채택시킨 적이 있죠. 하지만 메인 엔진인 Postgres 컨트리뷰션은 또 다른 차원의 도전이었습니다.

놀랍게도 매니가 발견한 사실은 “Postgres에 기여하기 위해 반드시 C 언어의 신이 될 필요는 없다”는 것이었습니다. 초보자들도 쉽게 접근할 수 있는 이른바 ‘Low hanging fruit(따기 쉬운 열매)’ 같은 작업들이 항상 존재하기 때문입니다.

현재 매니가 진행 중인 주요 작업:

  • 테이블스페이스 재생성 함수: 사용자가 기존 테이블스페이스를 다시 생성하는 데 필요한 SQL 문을 바로 확인할 수 있는 함수를 개발 중입니다. (메일링 리스트 참고)
  • 데이터 인입(Ingest) 성능 개선: 특정 엣지 케이스에서 성능 저하가 발생하는 패치를 검토하고, 다양한 로드 시나리오를 테스트하여 수정 제안을 기여하고 있습니다.

4. 앞으로의 계획: 삶의 질(QoL)을 높이는 패치

매니는 사용자 입장에서 불편했던 점들을 개선하는 데 집중하고 있습니다. 본인이 pgx를 사용하며 느꼈던 아이디어를 반영했듯, 지금 작업 중인 Postgres 패치들도 결국 사용자의 편의성을 높이는 작업들입니다. 또한, 동료인 마크 웡(Mark Wong)으로부터 리눅스 성능 측정 도구인 perf 활용법을 배우며 전문성을 넓혀가고 있습니다.

메일: salesinquiry@enterprisedb.com

Visited 8 times, 1 visit(s) today