PostgreSQL은 오픈소스 데이터베이스 중 가장 진보되고 안정적인 데이터베이스이며 ANSI/ISO 규격의 SQL을 지원한다.
초기 개발 단계부터 완벽한 ACID와 MVCC를 지원하는 아키텍쳐로 설계된 PostgreSQL은 대용량의 복잡한
트랜잭션 처리를 위한 RDBMS이다.
ACID?
원자성, 일관성, 고립성, 지속성을 말하는데 데이터베이스 트랜잭션이 안전하게 수행된다는 것을 보장하기 위한 성질을 가르키는 약어이다.
MVCC?
PostgreSQL의 특징
Portable :
PostgreSQL의 ANSI C로 개발되었으며 지원하는 플랫폼의 종류로는 Windows, Linux, MAC OS/X 또는 Unix Platform 등
다양한 플랫폼을 지원하고 있다.
Reliable :
트랜잭션 속성인 ACID에 대한 구현 및 MVCC 로우 레벨 라킹 등이 구현되어 있다.
Scalable :
PostgreSQL의 멀티-버전에 대하여 사용이 가능하다.
대용량 데이터 처리를 위한 Table Partitioning과 Tablespace 기능이 구현 가능하다.
Secure :
DB보안의 경우 데이터 암호화, 접근 제어 및 감사의 3가지로 구성 되어있으며, PostgreSQL 또한 DB보안 요구사항에 의해 호스트-기반 접근제어, object-level 권한, ssl 통신을 통한 클라이언트와 네트워크 구간의 전송 데이터를 암호화하는 방안 등을 지원한다.
Recovery & Availability :
Streaming Replication을 기본적으로 동기식, 비동기식의 Hot Standby 서버를 구축할 수 있으며 WAL log 아카이빙 및 Hot Backup을 통해 Point in time recovery를 할 수 있다.
Advanced :
pg_upgrade를 이용하여 업그레이드를 진행 할 수 있으며 웹 기반 또는 C/S 기반의 GUI관리도구를 제공하여 모니터링 및 관리는 물론 튜닝까지 가능하다.
사용자정의 procedural로 Perl, java, php등의 스크립트 언어 지원이 가능하다.
'BackEnd' 카테고리의 다른 글
접근제어자(Access Modifier) 무조건 이해하기 (0) | 2023.02.13 |
---|---|
JVM은 무엇일까? 자바 코드는 어떻게 실행될까? (0) | 2023.01.31 |
ACID란? (0) | 2023.01.30 |
프로시저(Procedure)란 대체 무엇일까? (0) | 2023.01.25 |
MySQL CRUD 간단정리 (0) | 2023.01.24 |