본문 바로가기
💾Database & Server/PostgreSQL

[PostgreSQL] postgres 특징? 차이? (Vacuum)

by inbeom 2024. 3. 17.
728x90
반응형

 

PostgreSQL은 높은 확장성, 표준 준수, 유연성, 다양한 데이터 타입 지원 등의 이유와 또 무료라는 장점 때문에 많이 활용되고 있다.

 

우선 PostgreSQL은 아래와 같은 특징들을 가지고 있다.

 

1. 오픈 소스:

 완전한 오픈 소스 데이터베이스로, 커뮤니티에 의해 활발하게 개발 및 유지보수 되고 있다.

 오픈 소스이기 때문에 무료로 사용할 수 있으며, 소스 코드를 수정하여 자신만의 버전을 만들 수 있다.

 

2. 표준 준수:

 SQL 표준을 엄격하게 준수하기 때문에 다른 SQL 데이터베이스와의 호환성과 이식성이 높다.

 

3. 확장성 및 유연성: 

 사용자 정의 데이터 타입, 함수, 연산자, 도메인 등을 쉽게 추가할 수 있다. 

 JSON 데이터 타입을 지원하여 NoSQL 기능도 제공한다.

 

4. ACID 준수:

트랜잭션의 원자성(Atomicity), 일관성(Consistency), 고립성(Isolation), 지속성(Durability)을 보장하여 데이터 무결성을 유지한다.

 

5. 다양한 데이터 타입:

 배열, hstore(key-value), JSON/JSONB, XML, RANGE 등 다양한 데이터 타입을 지원한다. 

 

6. 다양한 인덱싱 기법:

 B-tree, Hash, GIST, SP-GIST, GIN, BRIN 등 다양한 인덱스 타입을 지원한다. 

 

7. 복제 및 고가용성:

 스트리밍 복제, 논리 복제 등 다양한 복제 기법을 지원하여 고가용성을 보장한다.

 봊게본을 사용하여 읽기 작업을 분산시킬 수 있다.

 

8. 확장 가능한 아키텍처:

 분산 데이터베이스 확장 프로젝트인 Citus를 통해 수평 확장을 지원한다.

 

 


 

Vacuum

다른 RDB에는 없는 Vacuum이라는 개념..?

 

 

Vacuum은 간단하게 정의하자면 테이블의 디스크 공간을 회수하고 성능을 최적화하기 위해 PostgreSQL에서 사용되는 기능이다.

 

자세한 설명은 배민의 기술 블로그 참고.. 

 

PostgreSQL Vacuum에 대한 거의 모든 것 | 우아한형제들 기술블로그

PostgreSQL을 사용하신다면 반드시 알아야 하는 개념! Vacuum에 대해 같이 알아봅시다

techblog.woowahan.com

 

작성하려고 했으나 배민의 기술 블로그에 너무 잘 정리되어 있어서 이걸 보는게 더 좋을 것 같다

 

 

 

 

- 끝 -

728x90
반응형