개키우는개발자 : )

PostgreSQL 간단 소개 본문

PostgreSQL/시작하기 (소개 및 설치)

PostgreSQL 간단 소개

DOGvelopers 2019. 10. 23. 21:36
반응형

PostgreSQL은 오픈 소스 데이터 베이스 입니다.

랭킹보기 : https://db-engines.com/en/ranking

 

2019년도 랭킹을 보면 매우 높은 점유율을 가지고 있는 RDBM중 하나입니다.

 

데이터베이스 랭킹

개요

- PostgreSQL은 관계형 데이터베이스 시스템의 일종입니다.

- 가장 진보한 오픈소스 데이터베이스 시스템이라고 할 수 있으며

- Unix/Linux, MAC OS, Soraris, Windows 등의 OS를 지원합니다.

- PostgreSQL 은 완전 무료 소프트웨어입니다.

 

특징

- multi-version concurrency control (MVCC) 의 완벽한 지원

- C/C++,Java등의 프로그래밍 언어 연동을 완벽 지원

- 확장성에 매우 좋음(Data Types,Index Types, Fuction 등)

- 커뮤니티 활성화(오픈소스 커뮤니티가 있고 많은 기업들이 기술지원 서비스를 하고 있음)

 

MVCC (다중 버전 동시성 제어) 의 중요성

다중 버전 동시성 제어(multiversion concurrency control, MCC, MVCC), 다중 버전 병행 수행 제어 데이터베이스 관리 시스템이 일반적으로 사용하는 동시성 제어 방식으로, 데이터베이스로의 동시 접근을 제공하고 프로그래밍 언어에서 트랜잭셔널 메모리를 구현한다.

동시성 제어 없이 누군가가 데이터베이스를 읽는 동시에 다른 누군가가 기록을 하려고 한다면 독자는 반쯤 기록되거나 일관성이 없는 데이터를 보게 될 가능성이 있다.

MVCC 데이터베이스가 데이터의 업데이트가 필요할 때, 기존 데이터 항목을 새로운 데이터가 덮어쓰는 대신 데이터 항목의 새로운 버전을 만든다. 즉, 여러 버전이 저장된다. 각 트랜잭션이 주시하는 버전은 구현된 격리 레벨에 따른다. MVCC로 구현된 가장 흔한 격리 레벨은 스냅샷 격리이다. 스냅샷 격리를 사용하는 경우 트랜잭션은 트랜잭션이 시작할 당시처럼 데이터의 상태를 관찰한다.

MVCC는 포인트-인-타임 일관성(point-in-time consistent) 뷰를 제공한다. MVCC 상태에서 읽기 트랜잭션은 일반적으로 타임스탬프나 트랜잭션 ID를 사용하여 읽을 DB의 상태를 결정하고 데이터의 버전들을 읽는다. 그러므로 읽기, 쓰기 트랜잭션은 락(lock)의 필요 없이 다른 트랜잭션과 격리된다. 그러나 락이 불필요함에도 불구하고 오라클 등 일부 MVCC 데이터베이스에서는 락이 사용된다. 쓰기는 더 새로운 버전을 만드는 반면, 동시성 읽기는 더 오래된 버전에 접근한다.

 

출처 : 위키백과

 

다중 버전 동시성 제어 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 다중 버전 동시성 제어(multiversion concurrency control, MCC, MVCC), 다중 버전 병행 수행 제어는 데이터베이스 관리 시스템이 일반적으로 사용하는 동시성 제어 방식으로, 데이터베이스로의 동시 접근을 제공하고 프로그래밍 언어에서 트랜잭셔널 메모리를 구현한다.[1] 동시성 제어 없이 누군가가 데이터베이스를 읽는 동시에 다른 누군가가 기록을 하려고 한다면 독자는 반쯤 기록되거나 일관성이 없는

ko.wikipedia.org

MVCC 개념은 매우 중요하니 참고참고! ㅎㅎ

반응형
Comments