2018.10.19

포스트그리SQL 11 버전 공개··· "LLVM·병렬 처리 더 빨라졌다"

Serdar Yegulalp | InfoWorld
오픈소스 SQL 데이터베이스인 포스트그리SQL(PostgreSQL) 11 버전이 정식 공개됐다. 현재 이 데이터베이스를 사용하고 있다면 큰 변화를 느끼지 못할 수도 있다. 그러나 여러 가지 새롭게 개선된 기능이 추가됐다.

포스트그리SQL은 그동안 뛰어난 성능과 쉬운 사용성을 지원하는 테이블 파티셔닝으로 유명했다. 11버전에서는 테이블 파티셔닝 옵션이 대거 추가됐다. 예를 들어 'upsert' 함수를 이용하면 파티션된 테이블 쿼리의 속도를 높이면서도 데이터베이스 애플리케이션 코드를 간소화할 수 있다. 특정 키의 해시 함수를 이용하는 테이블 파티션을 지원한다. 신기능 중에는 열이 변경된 해시 키 키를 갖고 있을 때 샤드(shards)를 자동 리밸런싱하는 기능도 있다. 이렇게 되면 리밸런싱 작업을 정기 유지보수 작업으로 처리할 필요가 없게 된다.

또한, 포스트그리SQL 11에서 저장된 프로시저는 자체 트랜잭션 관리를 실행할 수 있다. 이를 이용하면 복잡한 대규모 데이터 수정 같은 서버측 작업을 실행하는 데이터베이스 네이티브 함수를 쓰기가 더 쉬워진다. 쿼리 속도도 더 빨라졌다. 포스트그리SQL 11은 LLVM 컴파일러 프레임워크를 이용한 동일한 쿼리 표현에 대해 JIT(just-in-time) 컴파일을 옵션으로 지원한다. JIT 컴파일은 열 결괏값을 즉시 변환하는 등 주로 CPU 자원에 의존하는 쿼리에 유용하다. 이 옵션의 기본값은 비활성화하는 것이다.

벤치마크 결과를 보면 JIT 컴파일은 일반적으로 20% 정도 더 빠른 속도를 보인다. 다른 최적화 방법을 함께 사용하면 성능이 최대 5배까지 향상된다. 포스트그리SQL 개발진은 앞으로 다른 작업도 JIT 가속 기능을 사용할 수 있도록 지원하는 것을 검토하고 있다. 결국, 포스트그리SQL 11버전으로 넘어오면서 테이블을 만들고 뷰를 생성하는 것 등 많은 데이터 작업이 더 빨라졌다. 특히 파티션된 데이터에서 병렬로 실행할 때 성능 개선을 체감할 수 있을 것이다. ciokr@idg.co.kr

2018.10.19

포스트그리SQL 11 버전 공개··· "LLVM·병렬 처리 더 빨라졌다"

Serdar Yegulalp | InfoWorld
오픈소스 SQL 데이터베이스인 포스트그리SQL(PostgreSQL) 11 버전이 정식 공개됐다. 현재 이 데이터베이스를 사용하고 있다면 큰 변화를 느끼지 못할 수도 있다. 그러나 여러 가지 새롭게 개선된 기능이 추가됐다.

포스트그리SQL은 그동안 뛰어난 성능과 쉬운 사용성을 지원하는 테이블 파티셔닝으로 유명했다. 11버전에서는 테이블 파티셔닝 옵션이 대거 추가됐다. 예를 들어 'upsert' 함수를 이용하면 파티션된 테이블 쿼리의 속도를 높이면서도 데이터베이스 애플리케이션 코드를 간소화할 수 있다. 특정 키의 해시 함수를 이용하는 테이블 파티션을 지원한다. 신기능 중에는 열이 변경된 해시 키 키를 갖고 있을 때 샤드(shards)를 자동 리밸런싱하는 기능도 있다. 이렇게 되면 리밸런싱 작업을 정기 유지보수 작업으로 처리할 필요가 없게 된다.

또한, 포스트그리SQL 11에서 저장된 프로시저는 자체 트랜잭션 관리를 실행할 수 있다. 이를 이용하면 복잡한 대규모 데이터 수정 같은 서버측 작업을 실행하는 데이터베이스 네이티브 함수를 쓰기가 더 쉬워진다. 쿼리 속도도 더 빨라졌다. 포스트그리SQL 11은 LLVM 컴파일러 프레임워크를 이용한 동일한 쿼리 표현에 대해 JIT(just-in-time) 컴파일을 옵션으로 지원한다. JIT 컴파일은 열 결괏값을 즉시 변환하는 등 주로 CPU 자원에 의존하는 쿼리에 유용하다. 이 옵션의 기본값은 비활성화하는 것이다.

벤치마크 결과를 보면 JIT 컴파일은 일반적으로 20% 정도 더 빠른 속도를 보인다. 다른 최적화 방법을 함께 사용하면 성능이 최대 5배까지 향상된다. 포스트그리SQL 개발진은 앞으로 다른 작업도 JIT 가속 기능을 사용할 수 있도록 지원하는 것을 검토하고 있다. 결국, 포스트그리SQL 11버전으로 넘어오면서 테이블을 만들고 뷰를 생성하는 것 등 많은 데이터 작업이 더 빨라졌다. 특히 파티션된 데이터에서 병렬로 실행할 때 성능 개선을 체감할 수 있을 것이다. ciokr@idg.co.kr

X