데이터베이스 기술 24

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는..

PostgreSQL vs VectorDB 소개 및 Apache AGE 적용사례

pgvector를 이용한 PostgreSQL vector 관리 및 분석 워크로드 기능확장 : FDS 시나리오 기반 활용 가이드 VectorDB 개요 산업 전반적으로 AI의 영향이 커져감에 따라, AI의 결과물인 벡터의 관리에 대한 수요도 증가하고 있다. 그에 따라 VectorDB 니즈또한 증가하고 있음을 알 수 있다. 또한, 그림1의 차트에서 변동이 미미한 상단부 RDBMS 들과 다르게 2022년을 기점으로 DB 종합랭킹이 큰 폭으로 상승하고 있는 현황을 발견할 수 있다. 투자금액 뿐만아니라, DB 산업 내부적으로 많은 사용량이 발생하고 있기에, 지금은 VectorDB 시대라고 말해도 무리가 없을 정도로 대세의 길을 걷고 있다. 대세인 VectorDB, 그 작동원리와 장점은 무엇이기에 과연 인기를 받고 ..

PostgreSQL - LogCollector

1. 개요 PG log 기록은 DB에 직접 저장하도록 설정할 수도 있다, 하지만 그렇게 되면 DB에 직접 트랜잭션이 발생하므로 DB성능을 저하시킬 우려가 있다. 그래서 log를 파일로 저장하고 해당파일을 읽어서 다른 DB에 저장 시키서 원천 DB는 사용하지 않도록 할 필요가 있다. 2. 목표1 - 파일 생성 event를 감지 PG의 로그는 아래와 같이 날짜별로 데이터가 쌓이는데 날짜가 바뀌어서 새로운 파일 생성된다면 그 event를 감지할 수 있어야 한다. 3. 목표2 - 파일 내용 변경 event를 감지 log 파일내용이다, 아래와 같이 어떠한 log 발생하면 해당 시간과 함께 row별로 쌓이는데 새로운 한 줄이 추가 됐을때 변경 이벤트를 감지할 수 있어야 한다. 4. 구현기술 해당 관련 기술에는 Ap..