데이터베이스 기술/POSTGRESQL 20

[PostgreSQL]Streaming Replication의 이해 및 한계

블로그 글을 보시기 전에 2024년 비트나인의 첫 번째 월간 백서인 '오픈소스 DB 전성시대, PostgreSQL을 선택하는 이유'를 읽어보세요! ▶ 지금 다운로드하기! Replication이란? Replication(복제)을 이야기하려면 High Availability(고가용성)에 대한 이해가 우선시 되어야 합니다. 고가용성이란 시스템 운용의 신뢰를 보장하는 것을 뜻하는데 여기서의 신뢰란 사용자가 시스템을 사용할 수 있는지의 여부(Availability)를 뜻합니다. 그 척도는 주로 Uptime¹ 또는 Downtime과 연관지어 다양한 표현² 으로 단계를 분류하기도 합니다. 그렇다면 Replication(복제)은 그 고가용성이란 추상적인 개념을 구현하기 위해 사용되는 구현 중 하나입니다. 실시간 데이터..

논리적과 스트리밍 복제의 차이 및 사용 사례

PostgreSQL에서 데이터 복제(Data Replication)란? 데이터를 배포하거나 문제가 발생할 경우를 대비하여 재해 복구에 사용할 수 있는 백업을 확보하기 위해서는 데이터베이스에 저장된 정보를 복제하는 것이 필수적입니다. 이름에서 알 수 있듯이 복제(replication)는 모든 사용자가 동일한 수준의 정보에 접근할 수 있도록 컴퓨터 서버의 한 데이터베이스에서 다른 서버의 다른 데이터베이스로 데이터를 복사하는 프로세스입니다. 컴퓨팅에서 복제는 디지털 시스템의 결함을 제거할 때 사용됩니다. 복제를 함으로써 데이터 사일로를 없애고, 중요한 정보를 보호하며, 개발 프로세스를 간소화시킬 수 있습니다. PostgreSQL에는 논리적 복제(Logical Replication) 및 스트리밍 복제(Strea..

PostgreSQL TAM을 통한 그래프 성능 향상 방법론

1. 목적 : Table Access Method(이하 TAM)를 통한 그래프 성능 향상 방법론 제시 PostgreSQL은 12 버전부터 CREATE ACCESS METHOD라는 기능을 제공한다. 이는 기존의 테이블 접근 방식인 Heap 구조를 벗어나 테이블에 데이터를 저장하는 대체 방법을 제공한다. 이를 통해 OLTP 작업을 위한 Heap 접근, OLAP 작업을 위한 컬럼 기반 테이블, 초고속 검색 처리를 위한 인메모리 기반 테이블 등 근본적인 성능 향상이 가능한 획기적인 방법론들을 제시해 준다. 그렇다면 그래프DB에는 TAM을 통해 어떤 방식으로 응용될 수 있을지 알아보겠다. 이를 위해서 사전적으로 이해할 개념은 아래와 같다. 그래프 DBMS 데이터 저장 방식 : Native Graph Storage..

PostgreSQL Architecture

PostgreSQL Architecture PostgreSQL 의 Architecture 구조는 매우 단순한 편이다. 공유 메모리, 적은 수의 백 그라운드 프로세스와 데이터 파일로 구성된다. (그림 1-1. 참조) 1-1. Shared Memory Shared Memory에서 가장 중요한 요소는 Shared Buffer와 WAL Buffer이다. Shared Buffer Shared Buffer의 목적은 모든 데이터베이스가 그렇듯 DISK I/O 를 최소화하는 것이다. 이를 위해, 아래 항목을 만족해야 한다. 매우 큰(수십, 수백 GB) 버퍼를 빠르게 액세스해야 한다. 많은 사용자가 동시에 접근할 때 경합을 최소화 해야 한다. 자주 사용되는 블록은 최대한 오랫동안 버퍼 내에 있어야 한다. WAL Buff..

PostgreSQL의 장점과 단점

PostgreSQL이란? PostgreSQL(또는 Postgres)은 사용자 정의 객체와 테이블 접근 방식을 결합하여 보다 복잡한 데이터 구조를 구축하는 엔터프라이즈급 오픈소스 객체 관계형(object-relational) 데이터베이스 관리 시스템(DBMS)입니다. 확장성과 SQL 규정 준수를 위해 관계형 및 비관계형 쿼리를 위한 SQL과 JSON을 모두 지원합니다. PostgreSQL은 고급 데이터 유형과 성능 최적화 기능을 지원하며, 이는 보통 Oracle 및 SQL Server와 같은 고가의 상용 데이터베이스에서만 사용할 수 있는 기능입니다. PostgreSQL 글로벌 개발 그룹(Global Development Group)이 소유하고 개발해 왔으며, 완전한 오픈소스로 남아 있습니다. 이 DBMS는..