-
[DB] PostgreSQL 정리DB 2020. 5. 10. 01:32
PostgreSQL의 개요
- 북미와 일본에서는 높은 인지도와 많은 인기를 얻고 있는 RDBMS 임.
- 국내에서는 아직 잘 사용하지 않고 있지만, 기능과 성능면에서 매우 훌륭한 RDBMS로 평가됨.
- 관계형 DBMS의 기본적인 기능인 트랜잭션과 ACID(Atomicity, Consistency, Isolation, Durability)를 지원
- 엔터프라이즈급 DBMS의 기능과 차세대 DBMS에서나 볼 수 있을 법한 많은 기능을 제공하는 오픈소스 DBMS.
- PostgreSQL(포스트-그레스-큐엘 [Post-Gres-Q-L]로 발음)은 객체-관계형 데이터베이스 시스템(ORDBMS),
- 실제 기능적인 면에서는 Oracle과 유사한 것이 많음.
- 아직은 MySQL에 못미치나, 이를 대비하여 PostgreSQL 오픈 소스 프로젝트 진영에서 다음과 같은 노력 중
- 기본적인 DBMS 기능의 신뢰도 증대
- 진보적이며 차별화된 기능 확장
- 오픈 소스 개발자의 지속적 확충
- 또한 비지니스의 목적이 강한 EnterpriseDB 진영에서는 다음과 같은 행보가 지속적으로 이루어 지고 있음
- 엔터프라이즈 시장에서의 영역 확대
- 클라우드 시장에서의 영역 확대
- Oracle 및 MySQL을 대체하기 위한 노력
PostgreSQL의 장점
- 라이선스에 대한 비용 문제가 전혀 없음.
- 일반 DB 벤더에 비해서 지원을 통하지 않고, 커뮤니티의 자료로 충분히 자료를 얻을 수 있음.
- 상용DB보다 유지보수 비용을 감소할 수 있고, 성능 튜닝에 대한 비용이 낮음.
- 높은 신뢰성과 안정성을 가지고 있음.
- 오픈 소스 코드이기 때문에 확장할 때 무료로 쉽게 사용할 수 있음.
- 원래 유닉스 기반이지만, 8.0부터 윈도우도 지원하고 있고, 크로스 플랫폼 지원이 가능.
- 여러 행 데이터에 대한 저장 전략이 높은 볼륨 환경을 위해 설계됨.
-
GUI 인터페이스를 통해 DB 설계 및 관리 할 수 있음.
PostgreSQL의 단점
- 수많은 사용자를 동시에 서버에 접속 할 때 불안.
- 기술지원에 대한 안정성 확보가 부족
- PostgreSQL 매뉴얼을 확인 해보면, 대부분 에러에 대한 내용을 사용자에게 맡기고 있음.
- H/A 구성은 가능하나, A/A 구성은 지원 하지 않음.
- 풍부한 데이터 사전이 존재하지 않음.
-
정기적인 Vacuum 작업 필요.
기능 및 제한
- PostgreSQL의 기능 요약
- Nested transactions (savepoints)
- Point in time recovery
- Online/hot backups, Parallel restore
- Rules system (query rewrite system)
- B-tree, R-tree, hash, GiST method indexes
- Multi-Version Concurrency Control (MVCC)
- Tablespaces
- Procedural Language
- Information Schema
- I18N, L10N
- Database & Column level collation
- Array, XML, UUID type
- Auto-increment (sequences),
- Asynchronous replication
- LIMIT/OFFSET
- Full text search
- SSL, IPv6
- Key/Value storage
- Table inheritance
- PostgreSQL의 제한 사항 요약
항목 제한 사항 최대 DB 크기(Database Size) 무제한 최대 테이블 크기(Table Size) 32TB 최대 레코드 크기(Row Size) 1.6TB 최대 컬럼 크기(Field Size) 1 GB 테이블당 최대 레코드 개수(Rows per Table) 무제한 테이블당 최대 컬럼 개수(Columns per Table) 250~1600개 테이블당 최대 인덱스 개수(Indexes per Table) 무제한 'DB' 카테고리의 다른 글
[DB] DB 문법 기초 (0) 2020.03.05