본문 바로가기
Database & Bigdata/PostgreSQL

[PostgreSQL] Oracle과 PostgreSQL의 database 기본 구조 차이

by z.1nee 2022. 5. 17.
SMALL

 

  • Oracle vs PostgreSQL
항목 oracle postgreSQL
instance ° 1 instance = 1 database

° db 엔진이 올라간 후 인스턴스를 생성하면서 database가 생성
° 1 instance = 1 server

° 서버단위의 개념
cluster ° RAC 환경의 공유 노드 개념 ° psql DB의 집합체 

° postgreSQL 설치 시 기본적으로 postgres database, template0, template1 
총 3개의 database가 생성됨
-> 이 집합체를 postgreSQL 클러스터라고 함
database ° 실제 물리적인 database를 의미 ° database는 스키마의 상위 개념

° 여러개의 스키마로 구성되어있음 

° 다른 database에 있는 table은 서로 join이 될 수 없음
-> 반면, 서로 다른 스키마의 테이블 간에는 join이 가능
schema ° 사용자가 생성한 모든 object (table, index,procedure 등을 의미) ° 스키마는 object들의 논리적인 집합

° tables, views, sequences, synonyms, domains, functions 등의 object로 구성

 

 

  • 용어 정리

1.instance

- 물리적 개념으로 DBMS가 동작할 때의 단위 OS 입장에서는 프로세스라고도 부름

- physical database 내의 물리적인 데이터를 입출력 할 수 있도록 해주는 하나의 소프트웨어

- 사용자와 데이터베이스간의 물리적인 다리 역할

- 사용자는 반드시 인스턴스를 통해 데이터베이스에 접근하며 Database의 내용을 Instance 위에 올려놓고 Transaction을 처리하고, 변경된 데이터를 다시 Database에 기록하는 방식으로 동작

 

2. cluster

- 디스크로부터 데이터를 읽어오는 시간을 줄이기 위해서 조인이나 자주 사용되는

  테이블의 데이터를 디스크 내부에 같은 위치에 저장시키는 방법

- 물리적으로 함께 저장되는 하나 이상의 테이블의 그룹

 

3. database

- 실제 데이터들이 저장되는 물리적인 공간(Disk의 개념)

 

4. schema

- 데이터베이스 설계 및 데이터 구성 방법을 정의하는 메타 데이터

 

4. object

- 데이터를 저장하거나 참조(Reference) 하는데 사용되는 데이터 구조를 말함

      Table :  행과 여로 이루어진 저장소

      Indexes : 테이블에 있는 데이터를 바르게 찾기 위한 객체

      Sequences : 연속적인 숫자를 생성해내는 객체

      Views : 실제하지 않는 논리적인 테이블 (하나 이상의 태이블을 조합해 조회한 결과)

      Synonyms : 테이블, 뷰, 시퀀스, 프로시저 등에 붙이는 대체이름(Alias)

      Function : 프로그래밍 연산 및 기능을 수행하고 값을 반환하는 객체

      Procedure : 프로그래밍 연산 및 기능을 수행하고 값을 반환하지 않는 객체

      Package : 관련 있는 프로시저와 함수를 하나로 묶어 놓은 객체

      Trigger : 데이터 관련 작업의 연결 및 방지 관련 기능을 제공하는 객체

 

댓글