ⓒ Getty Images Bank |
<이미지를 클릭하시면 크게 보실 수 있습니다> |
일반적으로 9~10월에 출시되는 최신 포스트그레SQL 릴리즈는 지속적으로 주요 업데이트와 기능을 도입해 기업의 광범위한 채택을 촉진하고 있다. 여기서는 포스트그레SQL 17에서 가장 영향력 있는 기능으로 꼽히는 것들, 계속해서 채택을 촉진하고 더욱 다양한 애플리케이션에 더욱 매력적인 옵션이 될 것으로 예상되는 기능들을 중점적으로 살펴보겠다.
증분 백업 : 고효율, 인코어 지원
수년 동안 포스트그레SQL 사용자들은 증분 백업을 수행하기 위해 외부 도구와 다양한 기술에 의존해 왔다. 하지만 이제 포스트그레SQL 17에서는 인코어 기능이 세분화된 블록 수준 접근 방식을 사용해 증분 백업에 고도로 최적화된 프로세스를 제공한다. 이 기능이 포스트그레SQL에 직접 내장되어 있어 모든 새로운 주 버전과 부 버전에서 첫날부터 안정성과 가용성을 모두 보장한다.또한 이 새로운 기능은 증분 백업을 오프라인에서 전체 백업으로 병합하는 보다 효율적인 방법을 도입해 일반적으로 전체 백업에 필요한 서버 부하를 줄여준다. EDB 소속으로 오랜 포스트그레SQL 해커이자 기여자인 로버트 하스가 설계하고 구현한 이 기능은 특히 온프레미스 포스트그레SQL 배포를 관리하는 DBA에게 인기가 높을 것으로 예상된다. 또한, 압축과 타르볼 스토리지 같은 기능을 지원하는 것은 물론, 스토리지를 다수의 서로 다른 타깃으로 연결하는 기능 등 다양한 기능이 포함되어 있다.
새로운 인코어 백업 기능은 복구 시간을 단축해 RTO를 획기적으로 줄여주므로 대규모 데이터베이스나 고가용성 시스템을 운영하는 기업에 필수적인 요건이다. 따라서 대규모 분석 및 AI 워크로드를 처리하는 기업처럼 다운타임이 비즈니스에 중대한 영향을 미치는 조직에 포스트그레SQL는 더욱 매력적인 옵션이 될 것이다.
SQL/JSON 및 JSON 개선 : 개발자의 요구 사항 충족
SQL/JSON은 SQL:2023 표준의 일부로, SQL에 익숙한 사람들에게 자연스럽게 느껴지는 방식으로 JSON 문서와 상호작용할 수 있는 강력한 기능을 제공한다. 포스트그레SQL는 지난 몇 번의 릴리즈를 거치면서 SQL/JSON 기능을 점진적으로 개선해 왔지만, 포스트그레SQL 17은 큰 도약을 이뤘다. JSON_TABLE()처럼 요청이 많았던 기능과 함께 JSON_EXISTS(), JSON_QUERY(), JSON_VALUE()와 같은 쿼리 함수, JSON SQL 객체를 구축하기 위한 풍부한 생성자가 새로 도입됐다.확장된 SQL/JSON 지원 외에도, 포스트그레SQL 17은 JSONPath 구현에 몇 가지 개발자 편의 기능을 추가해 포스트그레SQL에서 JSON으로 작업하는 개발자의 생산성을 더욱 높여준다. JSON은 개발자 사이에서 널리 사용되는 기술인 만큼, 이제 포스트그레SQL는 개발자들의 요구를 직접적으로 해결하는 중요한 기능을 제공한다.
포스트그레SQL가 JSON에 대한 지원을 계속 확장함에 따라, JSON 문서 저장소가 필요한 애플리케이션을 위한 문서 데이터베이스의 더욱 강력한 대안이 되고 있다. 포스트그레SQL를 사용하면 사용자는 기존의 관계형 데이터, 위치 기반 데이터, 벡터 데이터, 문서 데이터 등 모든 데이터 유형에 걸쳐 트랜잭션 동작, 보안 모델, 인덱싱 및 기타 데이터베이스 의미론에 대한 통합된 이해의 이점을 누릴 수 있다. 포스트그레SQL는 핵심 기능 또는 광범위한 확장 기능 모음을 통해 애플리케이션에 필요한 모든 데이터 유형을 처리할 수 있다. 또한 이런 모든 다양한 데이터 유형을 원활하게 필터링하는 하이브리드 쿼리도 가능하다.
새로운 JSON 기능에서 또 하나 흥미로운 것은 그 뒤에 숨은 공동의 노력인데, 최소 3곳 이상의 회사에서 9명의 저자가 기여했다.
구성 가능한 SLRU 캐시 : 복잡한 트랜잭션에 대한 조정
앞서 소개한 두 가지 기능은 의심할 여지없이 포스트그레SQL 17에서 가장 중요한 기능이지만, 반쯤 가려진 이 기능도 주목할 만한 가치가 있다.포스트그레SQL에서 SLRU(Simple Least Recently Used) 캐시는 하위 트랜잭션을 처리하는 데 매우 중요하다. 이전 버전에서는 단일 최상위 트랜잭션 내에서 많은 수의 하위 트랜잭션을 사용하는 애플리케이션이 포스트그레SQL로 마이그레이션하는 동안 적당한 수준의 변경이 필요한 경우가 많았다. 극단적인 경우에는 이런 변경 사항이 너무 광범위해 마이그레이션의 실효성이 없어지기도 했다.
포스트그레SQL 17에서는 트랜잭션 처리량을 크게 재작업하지 않고도 트랜잭션이 많은 애플리케이션을 보다 효율적으로 실행할 수 있도록 SLRU 캐시를 구성하는 기능이 도입됐다. 개발자는 애플리케이션을 수정하는 대신 내부 캐시를 미세 조정해 비즈니스 로직이 예상대로 계속 작동하도록 보장할 수 있다.
이 기능은 마이그레이션을 간소화하는 것 외에도 DBA에게 포스트그레SQL를 조정할 수 있는 또 하나의 단서를 제공해 다양한 애플리케이션에 더 큰 유연성과 성능을 제공한다.
추가 개선 사항 및 성능 향상
주요 기능 외에도 포스트그레SQL 17은 작지만 영향력 있는 여러 가지 개선 사항을 제공한다.- 논리적 복제. 더욱 유연하고 안정적인 데이터 복제를 가능하게 하는 개선 사항으로, 특히 분산 데이터베이스에 유용하다.
- 파티셔닝. 테이블 파티셔닝의 성능이 크게 개선되어 파티션된 테이블의 쿼리 성능을 최적화한다.
- 유지보수 작업. 진공 청소 프로세스의 개선으로 오버헤드가 줄어들어 일상적인 데이터베이스 유지 관리의 속도와 효율성이 향상된다.
개선된 기능은 포스트그레SQL 17의 전반적인 견고성과 확장성에 기여해 고성능의 유연하고 안정적인 데이터베이스 솔루션이 필요한 기업에 적합하다. 이번 릴리즈의 새로운 기능을 종합적으로 살펴보려면 포스트그레SQL 17 릴리즈 노트를 참조하기 바란다.
*Tom Kincaid는 EDB의 데이터베이스 서버 및 도구 부문 수석 부사장이다.
editor@itworld.co.kr
Tom Kincaid editor@itworld.co.kr
저작권자 한국IDG & ITWorld, 무단 전재 및 재배포 금지
이 기사의 카테고리는 언론사의 분류를 따릅니다.
기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.