728x90
반응형

전체 글 41

[PostgreSQL] HOT(Heap Only Tuple) 란?

PostgreSQL HOT (Heap-Only Tuple)란?HOT(Heap-Only Tuple) 는 PostgreSQL에서 인덱스를 건드리지 않고 UPDATE를 처리하는 최적화 기법이다.즉, 인덱스 컬럼이 변경되지 않는 UPDATE일 경우 새로운 튜플을 같은 힙 페이지 내에만 생성하고 인덱스는 그대로 유지한다. 일반적인 UPDATE 동작 방식- 기존 튜플 무효화- 새 튜플 생성- 모든 관련 인덱스 갱신 HOT UPDATE가 되는 조건- UPDATE 대상 컬럼이 어떤 인덱스에도 포함되지 않을 것- 새로운 튜플이 같은 힙 페이지에 저장 가능할 것=> PK/UNIQUE/보조 인덱스 컬럼 변경 시 → HOT 불가 HOT의 장점- 인덱스 I/O 감소 → UPDATE 성능 향상- 인덱스 bloat 감소- WAL ..

postgres 2026.01.13

[PostgreSQL] pg_toast ?

pg_toast란 무엇일까?Toast(The Oversized-Attribute Storage Technique)PostgreSQL은 fixed page size(일반적으로 8KB)를 사용하며, 튜플이 여러 페이지에 걸쳐있는 것을 허용하지 않는다. 따라서 매우 큰 필드 값을 직접 저장할 수 없는데, 이러한 제한을 극복하기 위해 toast 기능이 생겼다.pg_toast는 PostgreSQL 데이터베이스 시스템에서 사용되는 개념입니다.PostgreSQL은 대량의 데이터를 효율적으로 저장하기 위해 TOAST(TOAST는 "The Oversized-Attribute Storage Technique"의 약자)라고 불리는 메커니즘을 사용합니다.TOAST는 대용량의 데이터를 관리하기 위해 PostgreSQL에서 사용..

postgres 2026.01.13

[PostgreSQL] postgres_fdw extension 테스트

------------------------------------------------------------ 환경----------------------------------------------------------- OS: Rocky Linux release 8.10 (Green Obsidian)- PostgreSQL: 15.12- 외부 서버: 172.30.1.26 => 데이터베이스: test 사용자: postgres 패스워드: P!ssw0rd 스키마: public- 로컬 서버: 172.30.1.43 => 사용자: postgres 스키마: public------------------------------------------------------------ 시나리오(모두 로컬 서..

postgres/extension 2025.06.16

[Linux] Raid

1. Raid 란?Redundant Array of Independent Disk (독립된 디스크의 복수 배열)Redundant Array of Inexpensive Disk (저렴한 디스크의 복수 배열)Raid는 여러개의 디스크를 묶어 하나의 디스크처럼 사용하는 기술입니다Raid는 컴퓨터를 구성하는 여러 부품 중 기계적인 특성 때문에 상대적으로 속도가 느린 하드디스크를 보완하기 위해 만든 기술입니다.Raid를 구성하는 디스크의 개수가 같아도, Raid의 구성 방식에 따라 성능, 용량이 바뀌게 되며, 이 구성 방식을 Raid level 이라고 부릅니다2. Raid 를 사용했을 때 기대되는 효과대용량의 단일 볼륨을 사용하는 효과디스크 I/O 병렬화로 인한 성능 향상(Raid 0, Raid 5, Raid 6..

Linux 2024.12.01

[AWS] EC2

EC2(Elastic Cloud Compute)가상 서버를 제공하는 서비스로 실제 물리서버와 똑같은 형태의 서비스를 제공한다.(Linux나 Window 같은 기본 운영체제가 설치되어있음)SSH로 원격 연결이 가능함(설치된 OS유형에 따라 Username이 달라지므로 주의 / 아래 설명할 예정)기본 동작으로는 시작, 중지, 종료, 재부팅이 있다.중지가 가능한 디스크 기반 인스턴스인 “EBS 기반 EC2 인스턴스” 와 임시 스토리지를 제공하여 중지가 불가능한 "인스턴스 스토어(Instance Store) 기반 EC2 인스턴스"로 나뉜다.재부팅의 경우, “EBS 기반 EC2 인스턴스”와 “인스턴스 스토어 기반 EC2 인스턴스” 모두 사용 가능하나 중지는 EBS기반 EC2만 가능!인스턴스 유형(사용 사례에 맞게..

AWS 2024.12.01

SQL 처리과정과 I/O_데이터 저장 구조 및 I/O 메커니즘

데이터 저장 구조 및 I/O 메커니즘 논리적 I/O vs. 물리적 I/O DB 버퍼 캐시 데이터를 캐싱하는 'DB Buffer Cache'는 SGA의 구성요소 중 하나다. Library Cache가 SQL과 실행계획, DB 저장형 함수/프로시저 등을 캐싱하는 '코드 캐시'라고 한다면, DB Buffer Cache는 '데이터 캐시'라고 할 수 있다. 디스크에서 읽은 데이터 블록을 캐싱해 둠으로써 같은 불 록에 대한 반복적인 Disk I/O Call을 줄이는 데 목적이 있다. 서버 프로세스는 데이터 블록을 읽을 때 항상 버퍼캐시부터 탐색한다. 캐시해서 블록을 찾으면 Disk I/O Call을 하지 않고, 못 찾으면 I/O Call을 한다. 버퍼캐시는 공유메모리 영역이므로 같은 블록을 읽는 다른 프로세스도 득..

SQL/SQL Processing 2021.07.03

SQL Processing

출처 : https://docs.oracle.com/database/121/TGSQL/tgsql_sqlproc.htm#TGSQL183 출처 : https://o2sunn.tistory.com/4 SQL Processing About SQL Processing SQL 처리는 Parsing, Optimization, Row Source Generation, Execution 단계로 되어있다. 명령문에 따 라 데이터베이스는 이 단계들 중 몇몇 단계를 생략할 수 있다. 다음 그림은 SQL처리하는 일반적인 단계 를 보여준다. SQL 문장이 수행되는 과정 1. User Process는 자신이 가져온 SQL 문장을 Server Process에 전달해주고 결과가 나올 때까지 기 다린다. 2. SQL문장을 받은 Serv..

SQL/SQL Processing 2021.07.03

INDEX의 기본 개념_INDEX RANGE SCAN VS. TABLE ACCESS FULL

INDEX RANGE SCAN VS. TABLE ACCESS FULL 랜덤 액세스(RANDOM ACCESS) IO 작업 한 번에 하나의 블록을 가져오는 접근 방법을 뜻한다. 인덱스의 리프 블록에서 ROWID를 이용해 테이블에 접근할 때 랜덤 액세스가 발생한다. 실행계획에는 'TABLE ACCESS BY INDEX ROWID'로 표시 된다. 찾으려는 데이터가 많지 않으면, 랜덤 액세스가 나쁜 방법은 아니다. 그러나 찾으려는 데이터가 많 으면 랜덤 액세스는 오히려 비효율적이다. 예제 ) INDEX RANGE SCAN을 사용하는 SQL SELECT /*+ GATHER_PLAN_STATISTICS */ T1.CUS_ID, COUNT(*) ORD_CNT FROM T_ORD_BIG T1 WHERE T1.ORD_YM..

INDEX 2021.07.03

INDEX의 기본 개념_데이터를 찾는 방법

데이터를 찾는 방법 오라클에서 데이터를 찾는 방법은 아래와 같이 세 가지가 있다. - 테이블 전체 읽기(TABLE ACCESS FULL) - 인덱스를 이용한 찾기(INDEX RANGE SCAN & TABLE ACCESS BY INDEX ROWID) - ROWID를 이용한 직접 찾기(TABLE ACCESS BY INDEX ROWID) '테이블 전체 읽기(TABLE ACCESS FULL)'는 테이블의 데이터 블록을 차례대로 모두 읽으면서 필요한 데 이터를 찾는 방법이다. 인덱스를 이용한 찾기(INDEX RANGE SCAN & TABLE ACCESS BY INDEX ROWID)'는 인덱스를 이용 해 필요한 데이터만 찾는 방법이다. 이 방법은 필요에 따라 'TABLE ACCESS BY INDEX ROWID'작업..

INDEX 2021.07.03
728x90
반응형