재밌고 어려운 IT를 이해해보자~!
PostgreSQL 본문
stgreSQL은 관계형 DBMS의 기본적인 기능인 트랜잭션과 ACID(Atomicity, Consistency, Isolation, Durability)를 지원
PostgreSQL의 특징
Portable
- PostgreSQL은 ANSI C로 개발되었으며, 지원하는 플랫폼의 종류로는 Windows, Linux, MAC OS/X, Unix 등 다양한 플랫폼을 지원
Reliable
- 트랜잭션 속성인 ACID에 대한 구현 및 MVCC
- 로우 레벨 라킹 등이 구현
Scalable
- PostgreSQL의 멀티 버젼에 대해 사용이 가능
- 대용량 데이터 처리를 위한 Table Partitioning과 Tables Space 기능 구현이 가능
Secure
- DB 보안은 데이터 암호화, 접근 제어 및 감시의 3가지로 구성됨
- 호스트-기반의 접근 제어, Object-Level 권한, SSL 통신을 통한 클라이언트와 네트워크 구간의 전송 데이터를 암호화 등 지원
Recovery & Availability
- Streaming Replication을 기본으로, 동기식/비동기식 Hot Standbt 서버를 구축 가능
- WAL Log 아카이빙 및 Hot Back up을 통해 Point in time recovery 가능
Advanced
- pg_upgrade를 통해 업그레이드를 할 수 있으며, 웹 또는 C/S 기반의 GUI 관리 도구를 제공하여 모니터링 및 관리는 물론 튜닝까지 가능
- 사용자 정의 Procedural로 Perl, Java, Php 등의 스크립트 언어 지원이 가능
Postgresql의 장점
- 복잡한 쿼리에 탁월
- 대용량 데이터 관리에 적합
- Catalog 기반임으로 확장이 용이
- Table, Column 에 단순히 데이터를 저장만 하지 않고, 데이터 형식, 인덱스 형식, 함수형 언어를 정
- ORDMBS
- MVCC
- ACID 를 준수
- 동시 연결성이 높음
- NoSQL 및 다양한 데이터 형식 지원 (JSON, hstore, XML 포함해서 등등)
- 커뮤니티 활성 Level 이 높음
- 높은 안정성과 신뢰성을 제공
MySQL과의 비교
*참조
https://mangkyu.tistory.com/71
https://www.integrate.io/ko/blog/postgresql-vs-mysql-which-one-is-better-for-your-use-case-ko/