DB 인사이드 | PostgreSQL Setup - Minor Upgrade ※ 목차 ※ Upgrade PostgreSQL Minor Version on Linux Upgrade PostgreSQL Minor Version on Windows Upgrade PostgreSQL Minor Version on Linux목차PostgreSQL의 Minor버전 릴리즈는 Major버전의 아키텍처를 변경(변형) 하지 않는 선에서 자주 발생하는 버그, 보안 및 데이터 손상 문제에 대해서만 수정된 내용을 제공합니다. Major버전 내부 아키텍처 변경이 없기 때문에 Minor버전 간의 호환성을 유지할 수 있습니다.Linux에서 Minor Version Upgrade는 세가지 방법이 존재합니다.첫 번째로, yum, apt를 통한 Minor Upgrade가 있습니다. 인터넷이 연결되어 있고, Pos.. 2022. 9. 28. DB 인사이드 | PostgreSQL Setup - Installation 본 문서에서는 Linux와 Windows에서 PostgreSQL 여러 설치 방법에 대해 설명하도록 하겠습니다.※ 목차 ※ Install Overview Install PostgreSQL on Linux (CentOS - yum) Install PostgreSQL on Linux (CentOS - rpm) Install PostgreSQL on Linux (Ubuntu - apt) Install PostgreSQL on Linux (Ubuntu - dpkg) Install PostgreSQL on Linux (Source File) Install PostgreSQL on Windows (설치관리자) Install PostgreSQL on Windows (Binary File) 부록 1. 외부 접속을 위한 .. 2022. 8. 25. DB 인사이드 | PostgreSQL Setup - Version & Utility ※ 목차 ※ PostgreSQL 버전 정책 1. PostgreSQL 릴리즈 정책 2. PostgreSQL 릴리즈 현황 3. PostgreSQL 버전 표기 PostgreSQL 업그레이드 1. PostgreSQL Minor 업그레이드 2. PostgreSQL Major 업그레이드 PostgreSQL 응용프로그램 1. pg_dump 2. pg_dumpall 3. pg_restore 4. pg_upgrade 5. initdb 6. pg_upgradecluster 7. pg_dropcluster 8. pg_lsclusters .. 2022. 8. 25. DB 인사이드 | MySQL Architecture - 8. InnoDB : 동작 원리 앞서 MySQL의 InnoDB Architecture와 그 구성 요소들에 대해 알아보았습니다.본 문서에서는 해당 내용을 바탕으로 MySQL의 Connection 생성 및 사용자 요청 처리, 주요 Thread의 동작 방식에 대한 내용을 InnoDB 스토리지 엔진 사용을 토대로 설명하도록 하겠습니다. Connection 생성 과정MySQL의 Connection 생성 및 동작방식은 InnoDB 외 다른 스토리지 엔진에서도 모두 동일합니다.MySQL Server는 하나의 OS 프로세스로 실행되며, 내부적으로 여러 개의 Thread가 동시에 작업을 수행합니다. 이때, MySQL은 자체 Thread 구현 방식을 가지고 있지 않으므로 OS의 Thread 관리 방식에 의존하여 동작합니다.MySQL의 Connection.. 2022. 7. 27. DB 인사이드 | MySQL Architecture - 7. InnoDB : On-Disk Structure 본 문서에서는 MySQL에 주요 스토리지 엔진인 InnoDB의 On-Disk Structure에 대해 알아보도록 하겠습니다. InnoDB의 디스크 구조 관련 항목은 아래와 같으며, InnoDB는 모든 Data를 디스크 상의 Tablespace라는 논리적인 공간에 저장합니다.TablespaceTableIndexDoublewrite BufferRedo LogUndo Log TablespaceTablespace는 Data를 저장하는 데 사용되는 가장 큰 논리적 단위이며, 내부적으로 Segment → Extent → Page → Row의 형태로 구성됩니다.MySQL의 Tablespace는 저장하는 데이터의 종류와 방식에 따라 5가지로 분류가 가능한데, 각각의 Tablespace에 대해 알아보도록 하겠습니다. T.. 2022. 7. 27. DB 인사이드 | MySQL Architecture - 6. InnoDB : In-Memory Structure 본 문서에서는 주요 스토리지 엔진인 InnoDB Architecture 중 In-Memory Structure에 대해 다루도록 하겠습니다.In-Memory Structure의 주요 구성 요소는 다음과 같으며, 각각 순서대로 알아보도록 하겠습니다.Buffer PoolChange BufferAdaptive Hash IndexLog Buffer Buffer PoolInnoDB Buffer Pool은 테이블 및 인덱스 Data의 캐싱을 목적으로 하는 메인 메모리 영역입니다. Buffer Pool에는 테이블 및 인덱스 Data 뿐만 아니라 아래 그림과 같이 다양한 유형의 Data 역시 캐싱되며 Buffer Pool List를 이용하여 목록을 관리합니다.Buffer Pool을 사용하면 자주 사용하는 Data는 메모.. 2022. 7. 27. DB 인사이드 | MySQL Architecture - 5. SQL 처리과정 본 문서에서는 Client가 Query를 전달한 후 내부적인 처리 과정에 대해 알아보도록 하겠습니다. Query Cache먼저 Query를 분석하기 전에 MySQL Server는 Query Cache를 확인합니다. Query Cache는 Select문에 대한 전체 결과 집합을 저장하고 있습니다.Client가 Query 수행 시 제일 먼저 거치는 단계로, Query를 분석하기 전에 MySQL Server는 Query Cache를 참조합니다. Client가 이미 캐시에 있는 것과 동일한 Query를 실행하면 Server는 SQL Parser, Optimizer 단계를 건너뛰고 결과를 직접 반환합니다.📢 테이블의 Data가 변경되면 Query Cache의 내용 역시 달라지므로 변경된 테이블과 관련된 정보를 .. 2022. 6. 30. DB 인사이드 | MySQL Architecture - 4. Memory MySQL은 Database 작업 성능을 향상하기 위한 다양한 메모리 영역을 갖고 있으며, 각 영역의 값을 변경하여 MySQL 성능을 향상할 수 있습니다. 이러한 메모리 영역은 스토리지 엔진 또는 사용 중인 기능에 따라 다르지만, 일반적으로 공유 가능 여부를 기준으로 Global Memory와 Local Memory 영역으로 구분할 수 있습니다. Global MemoryGlobal Memory 영역이란 Client Thread 수와 무관하게 공통으로 사용되는 하나의 메모리 공간을 의미합니다. 단, 필요에 따라 2개 이상의 공간을 할당받을 수도 있지만 생성된 영역이 2개 이상이어도 모든 Thread에서 공유 가능합니다.Global Memory 영역은 MySQL Server가 시작될 때 운영체제로부터 할당되.. 2022. 6. 30. DB 인사이드 | MySQL Architecture - 3. Thread MySQL은 Process가 아닌 Thread 기반으로 동작합니다. Thread는 역할에 따라 2가지로 분류할 수 있는데, User Session에 해당하는 Foreground Thread와 내부적인 처리를 목적으로 하는 Background Thread가 여기에 해당합니다.Background Thread의 수는 MySQL Server 버전과 설정에 따라 다를 수 있으며, 병렬 작업을 수행하는 경우 동일한 이름의 Thread가 2개 이상 표시될 수 있습니다.mysql> select thread_id, name, type from performance_schema.threads;+-----------+----------------------------------------+------------+| thre.. 2022. 6. 30. 이전 1 2 3 4 5 6 다음