DBA 5

DBA 의 컴퓨터 공부 - write throuth , write back 그리고 Postgres

기존의 MCU가 아닌 리눅스 기준으로 write throuth , write back 을 정리해보자 차이라면 아마도 디스크냐 메모리에 기입이냐 차이가 아닐지싶다.  write-through 방식은 캐시 데이터가 변경될 때 즉시 디스크에도 기록하는 방식이다. 성능은 낮지만, 데이터 일관성과 안정성을 보장하는 데 유리하다. 예를 들어, 매우 중요한 데이터를 다루는 시스템에서 write-through가 사용될 수 있다. 리눅스에서는 데이터를 캐시나 버퍼에 먼저 저장한 후, 일정 시점에 디스크로 기록하는 write-back 방식을 많이 사용한다. 이는 성능을 극대화하기 위한 것이며, 시스템 충돌이나 전원 장애 시 데이터 손실의 위험이 있을 수 있다. 그러나 데이터베이스나 파일 시스템에서 로그나 WAL을 사용해 ..

DBA의 길 2024.10.20

DBA 의 컴퓨터 공부 - 엔지니어로써 알아야 할 LINUX Memory (free -h)

Postgres 공부를 하면서 그리고 datapage , memory에 관한 공부를 진행하면서 더욱 근본적인 컴퓨터에 대해서 공부의 필요성을 느꼈다. 어쩌면 컴퓨터에서 일어나는 일이기에 당연한 것이기도하다. 컴공과 출신이 아닌 내가 지금이라도 한 번 정리해야하는건 필연적인 과정이다. 리눅스에서 메모리는 시스템 성능에 매우 중요한 역할을 한다. 메모리 자원의 적절한 관리는 시스템 안정성과 성능을 유지하는 데 필수적이다. `free -h` 명령어는 시스템의 메모리 사용 상태를 확인하는 데 유용한 도구로, 사람이 읽기 쉽게 메모리 사용량을 보여준다. 여기서는 `free -h` 명령어의 출력 항목을 기반으로 리눅스 메모리 관리에 대해 설명한다. 1. Mem (물리적 메모리) 섹션 - total (전체 메모리) ..

DBA의 길 2024.10.20

Postgres - vacuum .. 은 메모리를 청소하지 않아

postgres 에서 MVCC(Multi Version Concurrency Control) 을 위해서 독특한 기능이 존재하는데 바로 VACUUM이다. 그런데 필자도 그렇고 주변에 vacuum에 대해서 오해하는 경우가 더러 있는 것 같았다. vacuum이 메모리를 청소하는가? 아니다 vacuum 과 메모리 확보는 상관관계지 원인과 결과가 아니다. 24.1.2. Recovering Disk Space In PostgreSQL, an UPDATE or DELETE of a row does not immediately remove the old version of the row. This approach is necessary to gain the benefits of multiversion concurren..

DBA의 길 2024.10.15

INDEX에 대하여 .. 조금 더 깊은 이야기 (Postgres 와 datapage)

INDEX란 .. 간단하게 이야기하면 하나의 테이블의 레코드와 그 레코드가 담긴 데이터 페이지의 매핑정보를 담아놓은 구조라고 볼 수 있다. 또한 랜덤 액세스는 인덱스가 제공하는 중요한 이점 중 하나이다. PostgreSQL에서 인덱스는 테이블의 특정 컬럼 값과 해당 값이 저장된 위치 정보를 연결해, 쿼리를 효율적으로 실행할 수 있게 돕는다. 이 정보를 통해 데이터베이스는 테이블 전체를 탐색하지 않고도 필요한 데이터를 빠르게 찾아낼 수 있다. 인덱스의 역할인덱스는 특정 컬럼의 값과 그 값이 저장된 데이터 페이지 번호와 페이지 내 위치(오프셋)를 연결한다. PostgreSQL에서는 이 정보를 TID(Tuple Identifier)라고 부르며, TID는 해당 데이터가 저장된 페이지 번호와 행의 위치(오프셋) ..

DBA의 길 2024.10.15

Postgres - PG Architecture and Process

한달전 회사에서 postgres의 구조에 대해서 살펴보고 간단하게 설명해보는 시간을 가졌다. 알아도 아는 게 아닌것같은 묘한 IT 세계 정답은 기록뿐 그동안의 공부한것들을 다시한번 가벼운 마음으로 회상해보도록 하자  아래의 사진은 기존에 인터넷에서 돌아다니는 사진을 가져와봤는데   흠 마음에 들지않아 내가 임의로 그려보았다.  postmaster 는 client의 요청을 받을때마다 자신을 pork하여 postgres daemon을 생성한다. 이 daemon의 백그라운드 프로세스들(BG writer , Wal Writer , Check pointer , Archiver , Vacuum launcher , Logger ... ETC)  1. BG Writer (Back Ground Writer) - 버퍼 캐..

DBA의 길 2024.10.13