db (9) 썸네일형 리스트형 [Real MySQL 8.0] 02. 설치와 설정 & 03. 사용자 및 권한 글을 작성하기 전에 Real MySQL 8.0 (위키북스/ 백은빈,이성욱 지음)을 읽어보고 Real MySQL 8.0 + 기존의 알고 있던 내용을 나름대로 정리하고자 합니다. 본 서적에 대한 정리 외에도 MySQL의 특징을 개인적으로 학습한 오픈소스 DBMS인 PostgreSQL와 비교할만한 점을 추가하여 포스팅할 예정이니 잘못기입된 내용이 있다면 자유롭게 댓글 부탁드립니다. Real MySQL 8.0 02장 설치와 설정 2.1 MySQL 서버 설치 OS 종류에 따라 매우 다양한 방법을 통해 설치 할 수 있으므로 해당 포스팅에서는 다루지 않음 작성자가 주로 사용했던 리눅스에서는 아래와 같은 방법등을 통하여 설치하였음 - Tar 파일 압축 해제 방식( 바이너리 파일 압축 해제) - 패키지로 설치 ( Y.. PostgreSQL 파티션의 목적 및 프루닝 조건 글을 작성하기 전에 PostgreSQL은 버전에 따른 파티셔닝 구성의 발전이 이루어져 왔으며 11버전에 이르러서야 파티션 테이블의 장점이 도드라졌습니다. 파티셔닝에 대해서는 추후 포스팅에 상세하게 정리할 예정이지만, 파티션 구성의 목적 및 프루닝 조건에 특이점을 미리 포스팅에 정리하겠습니다. PostgreSQL 파티션의 목적 및 프루닝 조건 작성자가 운영하는 서버들에 대해서는 50GB 이상의 단일 테이블의 경우 파티션테이블로 전환을 검토하고 있다. 파티셔닝 구성의 제약조건은 분명히 있지만 장점이 많기 때문에 전환을 검토하는 것인데 이부분을 관리적 차원, 성능적 차원으로 정리하려고 한다. 관리적 차원의 파티셔닝의 장점 - 대용량 테이블을 파티션으로 전환함으로써 각각의 테이블에 대한 관리를 용이하게 함 - .. 데이터베이스 고가용성(High Availability) 글을 작성하기 전에 작성자는 PostgreSQL/EDB PAS를 주로 이용하고 있어 PostgreSQL/EPAS 관련 정보가 다른 DBMS 보다 많이 포함될 수 있습니다. PostgreSQL 고가용성 부분은 https://postgresql.kr/blog/postgresql_ha.html 페이지에서 추가적으로 확인이 가능하며 데이터베이스의 고가용성에 대해 정리해보겠습니다. 데이터베이스 고가용성(High Availability) 데이터베이스 고가용성이란 99.999%와 같이 수치 상으로 표현되기도 하지만, DB서버의 장애 상황에서 다운타임을 최소화 하기 위한 방안들을 가르키는 경우가 많다. 특히 데이터베이스의 경우 기업에서 필요한 데이터를 담고 있어 고가용성이 필수이기 때문에 다양한 방식, 다양한 솔루션이.. PostgreSQL Manual Vacuum Tuning 글을 작성하기 전에 Vacuum은 PostgreSQL의 MVCC 구현 방식으로 인해 필수적이며, 기본적으로 Manual Vacuum 외에 autovacuum process에 의해 수행됩니다.(off로 설정되어 있어도 autovacuum_freeze_max_age가 넘어서게 되면 자동 수행) 그러나 작성자가 운영하는 서비스에서는 autovacuum parameter 변경을 통해서 빈공간회수와 Transaction ID Wraparound(TXID 겹침)이 해결 되지 않아 manual Vacuum 을 수행하였는데 그로 인한 Vacuum의 부하와 그를 줄이는 방법에 대해 정리하겠습니다. 추후 Vacuum 장애 History 포스팅에 해당 포스팅을 링크로 달아 놓겠습니다. PostgreSQL Manual Vac.. PostgreSQL 백업/복구 제약사항 검토(EPAS와 비교하여) 글을 작성하기 전에 MongoDB Enterprise Edition 에서는 OpsManager등을 활용하여 시점복구가 가능하지만 MongoDB Community 버전에서는 데이터 백업은 Dump로만 수행 가능하여 시점복구(Point in Time Recvoery)가 불가하다. (그러나 MongoDB는 대부분 ReplicaSet 과 Sharding 환경으로 구성되어 복구가 필요할 확률이 적을 수 있음) 이와 같은 사례를 검토하기 위해 PostgreSQL(오픈소스) 와 EPAS(상용) 에 대한 백업/복구 제약사항을 검토하였다. PostgreSQL 백업/복구 제약사항 검토(EPAS와 비교하여) pg_dump vs 아카이브 로그 방식 - PostgreSQL & EPAS는 pg_dump를 활용해 백업을 받을 수 .. PostgreSQL & EPAS Client tool - psql 활용 PostgreSQL & EPAS Client tool - psql 활용 개발업무 시 pgadmin, dbeaver , workbench 등과 같은 GUI 기반 클라이언트 툴도 자주 활용 하지만, PostgreSQL & EPAS에서 리눅스 상의 CLI Client 도구인 psql이 매우 편리하게 구성되어 있어 이 내용을 소개한다. (mysql에서는 자동완성 기능을 제공하지 않으며 sqlplus, tbsql 등 에서는 컬럼길이를 지정해야 하므로 매우 불편) 자동 완성 기능 psql 접속 시 다양한 구문에 대한 자동완성 기능을 제공한다. SQL 구문, 내부 파라미터등의 일부를 기술하고 Tab버튼을 누르게 되면 자동완성이 되고, 리스트들을 출력 해준다. 직관적인 오브젝트 확인 psql 접속 시 간단한 명령어를 .. PostgreSQL & EPAS System Architecture - 2. Memory PostgreSQL & EPAS Architecture - 2.Memory Overall PostgreSQL & EPAS 서버에서 사용하는 메모리 구조는 크게 2가지로 분류할 수 있다. 1.Shared Memory - PostgreSQL Server 내 모든 프로세스들이 사용하는 공유 메모리 영역 2.Local Memory - Postmaster에서 생성한 backend process(세션) 마다 할당되는 메모리 Shared Memory Shared buffers - 데이터에 대한 Select, DML을 수행하기 위해 디스크 영역에 있는 Data를 캐싱하는 메모리 공간 - 실제 메모리의 25%를 할당하여 사용하는 것으로 권장 - 페이지 교체 알고리즘으로 Clock Sweep 알고리즘을 사용 WAL buf.. PostgreSQL & EPAS System Architecture - 1. Process 글을 작성하기 전에 최근(22.04) Oracle, PostgreSQL, MySQL core Architecture의 출판사인 Exem 사에서 PG Architecture 에 대한 글이 올라왔는데, 매우 정리가 잘되어 있어 이 포스트는 간단한 내용 및 버전 별 변동 사항을 중점으로 정리할 것입니다. internal 구조 기반 아키텍처를 상세하게 알고 싶으시다면 https://exem.tistory.com/1645?category=1010730 링크를 참고하시길 추천드립니다. PostgreSQL & EPAS Architecture PostgreSQL & EPAS는 동일한 엔진 아키텍처를 사용하고 있음, 오라클 아키텍처와 유사성이 있으나 EDB PAS를 운영하기 위해서는 PostgreSQL의 아키텍처를 알아.. PostgreSQL & EDB PAS 란? PostgreSQL PostgreSQL 이란 대표적인 오픈소스 객체 관계형 데이터베이스(ORDBMS)의 하나로, 1986년 POSTGRES 프로젝트의 일부로 시작되어 30년 이상 발전해가고 있는 데이터베이스 중에 하나이다. - University Postgres (1986~1993), Postgres95(1994~1995), PostgreSQL (1996~cureent) 현재 2022년 기준 글로벌 DB 엔진 4위에 랭크되어 있으며, 오픈소스 DBMS 중에서는 2위를 차지하고 있다. (전체 2위인 MySQL의 경우 상용라이선스가 존재하지만 오픈소스로 분류 ) 우리나라에서는 PostGIS 확장모듈을 활용한 지리정보처리를 위한 DBMS로 많이 알려져 있으나, 출시 초기부터 ACID를 준수하며 OLTP,OLA.. 이전 1 다음