스크랩

PostgreSQL 내부 구조를 하나의 문서로: 19-beta까지 다루는 'PostgreSQL의 내부 구조'

PostgreSQL 내부 구조를 하나의 문서로: 19-beta까지 다루는 'PostgreSQL의 내부 구조'

들어가며

PostgreSQL을 운영하다 보면 '내부에서는 실제로 어떻게 돌아가는 걸까?' 하는 궁금증이 생기기 마련입니다. 쿼리 튜닝, 장애 대응, 다른 시스템과의 통합 같은 작업은 내부 동작을 알수록 수월해집니다. 다만 PostgreSQL은 규모가 크고 복잡해서 혼자 소스와 문서를 뒤지며 전체 구조를 파악하기는 쉽지 않습니다.

오늘 소개할 **'PostgreSQL의 내부 구조(The Internals of PostgreSQL)'**는 PostgreSQL의 하위 시스템이 각각 어떻게 작동하고 서로 어떻게 맞물리는지 정리한 기술 문서입니다.

핵심 요약

  • PostgreSQL의 하위 시스템별 작동 원리와 전체 아키텍처를 함께 설명하는 기술 문서입니다.
  • PostgreSQL 19-beta와 이전 버전을 다룹니다. 단, 19-beta에 새로 들어간 버퍼 페이지 잠금 메커니즘은 다루지 않습니다.
  • 최근 **비동기 I/O(Asynchronous I/O)**와 논리 복제(Logical Replication) 장이 베타 버전으로 추가됐습니다.
  • HTML 열람에 최적화되어 있고, PDF나 스마트폰용 버전을 만들 계획은 없습니다.

문서의 목적과 범위

PostgreSQL은 전 세계에서 널리 쓰이는 오픈소스 범용 관계형 데이터베이스(RDBMS)입니다. 내부에는 저마다 복잡한 기능을 맡은 하위 시스템이 여러 개 있고, 이들이 협력해서 하나의 데이터베이스로 동작합니다.

이 문서는 두 가지를 목표로 합니다.

  1. 개별 하위 시스템이 어떻게 작동하는지 이해하기
  2. 하위 시스템들이 모여 이루는 전체 구조 파악하기

부분만 보거나 전체만 보는 대신 두 관점을 오가며 설명하기 때문에, 실무자가 머릿속에 PostgreSQL 지도를 그리는 데 도움이 됩니다.

참고할 만한 점

  • 이 문서를 참조한 학술 논문이 있을 만큼 신뢰받는 자료입니다.
  • 중국어판은 2019년 6월에 출간됐습니다.

최근 업데이트: 비동기 I/O와 논리 복제

최근에는 다음 두 장이 베타 버전으로 추가됐습니다.

  • 비동기 I/O: 최신 PostgreSQL에서 주목받는 성능 관련 주제입니다.
  • 논리 복제: 데이터 동기화, 마이그레이션, 이기종 시스템 통합에 자주 쓰이는 기능입니다.

두 장 모두 베타 상태이므로 앞으로 내용이 보완될 수 있다는 점을 염두에 두고 읽으면 좋겠습니다.

이용 조건과 제공 형식

자료를 활용하려는 분이라면 이용 조건도 확인해 두세요.

이용 조건

  • 교육 목적: 교육기관의 교사와 학생은 학습용으로 문서와 그림을 자유롭게 쓸 수 있습니다.
  • 비영리 모임·강연: 사이트 링크와 저작권을 표기하면 문서와 그림을 쓸 수 있습니다.
  • 그 외 용도: 별도로 문의해야 합니다.
  • 라이선스: 저작권은 저자에게 있으며 Creative Commons 라이선스는 적용되지 않습니다. 외부에서 보내온 글도 문서에 싣지 않습니다.

💡 재미있는 점: 상업적 이용 FAQ에는 '매출 20% 배분', '500만 유로에 권리 매입' 같은 조건이 적혀 있는데, 저자가 직접 농담이라고 밝혔습니다. 실제로는 상업적 관계를 맺을 생각이 없다고 합니다.

제공 형식

문서는 HTML 열람을 기준으로 만들어져 다른 형식으로 바꾸기 어렵습니다. 그래서 PDF나 모바일 전용 버전은 제공할 계획이 없습니다. PC 브라우저로 읽는 것을 권합니다.

마치며

PostgreSQL을 쓰기만 하는 단계에서 이해하고 운영하는 단계로 넘어가려는 개발자와 DBA에게 이 문서를 추천합니다. 특히 19-beta까지 반영된 최신 내용에 비동기 I/O와 논리 복제 장까지 더해졌으니, 예전에 읽었던 분도 다시 살펴볼 만합니다.

시간 날 때 한 장씩 읽어 보세요. 내부 구조를 알고 나면 장애 대응과 튜닝에 접근하는 방식이 달라질 겁니다.


출처: GeekNews - PostgreSQL의 내부 구조


원문: https://news.hada.io/topic?id=36573&utm_source=geeknews&utm_medium=rss&utm_campaign=news