DataBase::PostgreSQL::begin()

YP J·2023년 2월 13일
0

Database

목록 보기
1/2

https://d2.naver.com/helloworld/227936
정리

  • http://www.postgresql.org

  • PostgreSQL 은 오픈소스 DBMS이다.

    DBMS
    DBMS stands for Database Management System. It is a software application that provides a user interface for interacting with a database, enabling the user to retrieve, store, and manipulate data stored in the database. The purpose of a DBMS is to provide an organized and efficient way of managing large amounts of data, as well as providing security, data integrity, and recoverability in the event of a system failure. Examples of DBMS include Oracle, Microsoft SQL Server, MySQL, and PostgreSQL.

  • 기능과 성능면에서 매우 훌룡한 RDBMS

    RDBMS ? 관계형 데이터베이스
    https://cloud.google.com/learn/what-is-a-relational-database?hl=ko
    관계형 데이터베이스(RDB)는 테이블, 행, 열의 정보를 구조화하는 방식입니다. RDB에는 테이블을 조인하여 정보 간 관계 또는 링크를 설정할 수 있는 기능이 있어, 여러 데이터 포인트 간의 관계를 쉽게 이해하고 정보를 얻을 수 있습니다.

  • Postgresql은 객체-관계형 데이터베이스 시스템 (ORDBMS)이다.

    객체 관계 데이터베이스(object-relational database; ORD, ORDB) 또는 객체 관계형 데이터베이스 관리 시스템(object-relational database management system; ORDBMS)은 객체지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템(RDBMS, 관계 데이터베이스)을 말합니다. 소프트웨어 개발자가 스스로 데이터 형과 메서드(이 두 조합은 객체 지향에서 말하는 객체의 클래스에 해당)를 자유롭게 정의하여 데이터베이스를 개발할 수 있는 데이터베이스 관리 시스템 (DBMS)입니다. 쉽게 풀어 쓰면 ORDBMS는 오브젝트 지향 모델 (OODBMS)과 관계형 모델 (RDBMS) 사이의 하이브리드 인 데이터베이스 관리 시스템입니다. 이 두 모델은 각각 장단점이 있습니다. DBMS는 두 모델을 결합하여 각 모델의 다양한 장점을 활용할 수 있습니다.

  • 엔터프라이즈급 DBMS의 기능과 차세대 DBMS 에서나 볼수 있을법한 많은 기능을 제공하는 오픈소스이다.

  • 실제 기능적인 면에서 Oracle과 유사한것이 많다.

기능 및 제한

  • PostgreSQL은 관계형 DBMS 의 기본적인 기능인
  • 트랜잭션, ACID(Atomicity, Consistency, lsolation, Durability)를 지원한다.

트랜잭션 ?
https://d2.naver.com/helloworld/407507

  • 제한 사항도 있다 참고.

내부 구조 및 프로세스

  • 클라이언트는 인터페이스 라이브러리(libpg, JDBC, ODBC 등의 다양한 인터페이스) 를 통해 서버와의 연결을 요청(1.) 하면
  • Postmaster 프로세스가 서버와의 연결을 중계 한다(2.)
  • 이후 클라이언트는 할당된 서버와의 연결을 통해 질의를 수행한다.(3.)

서버 내부의 질의 프로세스 과정

  • 클라이언트로부터 질의 요청이 들어오면 구문 분석과정(1.) 을 통해 Parse Tree를 생성하고

  • 의미 분석과정(2.) 를 통해 새로운 트랜잭션을 시작하고 Query Tree를 생성한다.

  • 이후 서버에 정의된 Rule에 따라 Query Tree가 재 생성 (3.) 되고

  • 실행 가능한 여러 수행 계획중 가장 최적화된 Plan Tree 를 생성한다.(4.)

  • 서버 는 이를 수행(5.)하여 요청된 질의에 대한 결과를 클라이언트로 전달하게된다.

--

  • 서버 쿼리 수행 과정에서는 데이터베이스 내부의 시스템 카탈로그가 많이 사용되는데

  • 사용자가 함수나 데이터 타입은 물론 인덱스 접근 방식 및 RULE 등을 시스템 카탈로그에 직접 정의할 수도 있다.

  • 따라서 PostgreSQL 에서는 이것이 기능을 새로 추가하거나 확장하는데 있어 중요한 포인트로 활용 된다.

  • 데이터 저장되는 파일들은 여러 개의 페이지들로 구성되며, 하나의 페이지는 확장 가능한 slotted page 구조를 가진다.

  • 블로그에 나와있는 큰 흐름은 다시 나중에 다시 크게 봐보자
profile
be pro

0개의 댓글

관련 채용 정보