2024년 9월 26일 PostgreSQL 17 출시 발표
얼마 전 PostgreSQL 최신 버전인 17 소식을 듣게 되어 내용을 공유합니다. 이 글에서는 EnterpriseDB(이하 EDB)가 PostgreSQL 17에 기여한 최신 기능들을 소개해 보겠습니다. 주로 어떻게 대규모 데이터 분석과 AI 워크로드에서 PostgreSQL을 더 유용하게 만들었는지에 해당됩니다.
EDB는 누구인가?
EDB는 PostgreSQL을 기반으로 한 상용 데이터베이스 솔루션을 제공하는 회사입니다. EDB는 PostgreSQL 커뮤니티에 적극적으로 참여하며, PostgreSQL의 기능을 확장하고 기업 환경에 맞는 추가적인 기능과 지원 서비스를 제공했습니다.
아래 그래프는 2023년까지 PostgreSQL의 지속적인 개발에 투자하는 회사에 매핑할 것입니다. EDB가 26.8%로 가장 많은 기여를 했습니다.
그런데 이번 PostgreSQL 17에 EDB의 도움을 받아 한 단계 더욱 발전시켰는데요. 이를 통해 대기업의 AI 및 데이터 분석 수요까지 노려보겠다는 생각이죠.
EDB가 기여한 기능들
EDB는 데이터베이스 성능, 신뢰성, 및 다용성을 강화하기 위해 여러 가지 개선 사항을 PostgreSQL 17에 도입했습니다. 그 중 몇 가지 주요 포인트를 살펴보겠습니다.
1. 증분 백업 기능의 도입
대규모 데이터 관리하는 기업들은 자주 백업을 해야 하는데요. 그래서 저장공간과 다운타임이 중요한 문제입니다.
이번에 17에 추가된 기능 중 하나는 바로 증분 백업 기능입니다. 이는 변경된 부분만을 백업함으로써 저장 공간을 절약하고 복구 시간을 단축시킵니다.
2. 파티션별 JOIN 메모리 감소
원래 PostgreSQL의 경우 파티션별 JOIN 작업의 메모리 많이 요구했습니다. 그래서 파티션의 효과가 그렇게 크지 않았죠. 하지만 이번에는 그게 줄어듦에 따라, PostgreSQL의 확장성과 쿼리 처리 속도가 대폭 향상되었습니다. 이는 매우 복잡한 환경에서도 빠른 성능을 제공합니다.
3. pg_createsubscriber 도구 도입
pg_createsubscriber는 PostgreSQL에서 논리적 복제를 설정하기 위한 도구인데요. 논리적 복제는 데이터베이스의 특정 부분을 실시간으로 다른 서버로 복사하는 기술을 말합니다. 데이터 분석, 테스트 환경 구축, 데이터 분산 등 다양한 용도로 활용됩니다.
이렇게 데이터 복제 프로세스를 가속화할 수 있는 pg_createsubscriber 도구가 도입되었습니다. 이를 통해 대규모 데이터베이스에서도 논리적 복제가 훨씬 더 유용한 옵션이 됩니다.
4. SQL:JSON 확장 및 JSON_TABLE 도입
우선 이 기능이 뭐에 쓰는 물건인지 알아야 하는데요. JSON_TABLE 함수는 JSON 형식의 데이터를 관계형 테이블의 행과 열 형태로 변환하는 기능입니다.
센서나 로그처럼 비정형, 비관계 데이터의 경우 이 기능을 이용해 변환합니다. 그 다음 JSON 데이터에 대한 SQL 쿼리를 수행하고, 더욱 효율적인 데이터 처리를 할 수 있습니다.
결론적으로 데이터 프로세싱의 복잡성을 줄이기 위해 SQL:JSON 기능이 확장되었습니다. JSON_TABLE과 향상된 SQL/JSON 메서드를 통해, 개발자들은 더 효율적인 쿼리와 트랜잭션을 유지할 수 있습니다.
이로 인해 관계형 데이터와 비관계형 데이터를 모두 포함하는 워크플로우가 훨씬 효율적으로 관리됩니다.
5. 고객 중심의 개선
EDB는 고객의 피드백을 바탕으로 여러 트랜잭션 서브시스템을 개편하고, 새로운 락킹 기법을 도입하여 최대 100배의 성능 향상을 이뤄냈습니다. 이러한 성과는 새로운 클래스의 애플리케이션을 PostgreSQL로 간편하게 마이그레이션할 수 있게 했는데요.
결론
PostgreSQL 17은 다양한 최신 기능들과 EDB의 지속적인 기여를 통해 성능, 신뢰성, 다용성 측면에서 한층 더 강화되었습니다. PostgreSQL는 대규모 데이터 분석 및 AI 워크로드를 위한 대안으로 한 발작 더 가까이 가고 있다고 생각합니다. 더 자세한 내용은 EDB의 웹사이트에서 확인할 수 있습니다.