[MySQL] MySQL Dump vs MyDumper 대용량 MySQL/MariaDB 마이그레이션 성능 비교
·
Database | SQL | OS/MySQL | Maria
안녕하세요 오늘은 최근 마이그레이션 프로젝트에서 MySQL Dump와 MyDumper를 사용하며 느꼈던 비교점과 장단점에 대해서 정리하고 비교해보려고 합니다. 정리에 들어가기 앞서 AWS RDS Maria 10.11.18 버전으로 테스트를 진행하였고, 보통 MySQLDump를 사용하는 것이 일반적이나, 정리 및 공부를 위해 두가지 경우 모두 테스트했다는 점 참고 부탁드립니다. 1. 핵심 아키텍처 MySQLDump vs MyDumper항목MySQLDumpMyDumper실행 구조단일 스레드멀티 스레드 (병렬 dump/load)출력 형식단일 SQL 파일(또는 단일 스트림)스키마별/테이블별 개별 파일 분리일관성 보장--single-transaction + FLUSH TABLES WITH READ LOCKName..
[PostgreSQL] Vacuum 활용법과 실제 Vacuum 적용 실습
·
Database | SQL | OS/PostgreSQL
오늘은 지난 포스팅에 이어서 Vacuum이 실제 PostgreSQL DB 에 미치는 영향과 쿼리 성능에 어떤 영향을 미치는지,실습을 통해서 알아보려고 합니다. 개념적인 부분은 아래 링크에서 정리하였으니, 한번씩 확인하시면 좋을 것 같습니다. [PostgreSQL] PostgreSQL 기본 개념과 Vacuum이란?최근 Aurora PostgreSQL을 업그레이드 했는데, 이 과정에서 필수로 ANALYZE를 진행해야 하는 프로세스가 있었습니다.이것을 정리하면 좋을 것 같아, ANALYZE와 항상 함께 나오는 VACUUM도 함께 정리해보려hyungyun.tistory.com 환경구성 : EC2 (Red Hat Enterprise Linux release 8.10 (Ootpa) / psql (PostgreSQL..
[PostgreSQL] PostgreSQL 기본 개념과 Vacuum이란?
·
Database | SQL | OS/PostgreSQL
최근 Aurora PostgreSQL을 업그레이드 했는데, 이 과정에서 필수로 ANALYZE를 진행해야 하는 프로세스가 있었습니다.이것을 정리하면 좋을 것 같아, ANALYZE와 항상 함께 나오는 VACUUM도 함께 정리해보려고 합니다. PostgreSQL을 다루는 첫 포스팅인 만큼, PostgreSQL이 어떤 데이터베이스인지부터 간단히 살펴본 뒤, VACUUM의 개념과 필요성, 방치했을 때 생기는 문제, Autovacuum의 동작 원리를 정리하고 마지막으로 직접 테스트해보는 것까지 공부해보겠습니다.PostgreSQL 이란?PostgreSQL은 1986년 버클리 대학의 POSTGRES 프로젝트에서 출발한 오픈소스 객체-관계형 데이터베이스(Object-Relational DBMS)입니다. 상용 DBMS에 ..
데이터 웨어하우스 AWS Redshift 란?
·
Cloud/AWS
오늘은 AWS 에서 제공하는 DW, Data warehouse인 Redshift에 대해서 공부해보려고 합니다.DW 에 대한 필요성이 급증하고, 사용량이 증가함에 따라서 공부하고 정리하는 시간을 가지면 좋을 것 같아 공부한 내용을 포스팅해보려 합니다. 개요DW란? Data Warehouse 로 기업의 다양한 테이터를 통합하여 정보에 입각하여 보다 쉽고 정확하게 의사 결정을 내릴 수 있도록 분석 가능한 정보의 중앙 리포지토리 입니다.쉽게 생각하면 가공된 데이터들이 모여있는 데이터 집합소라고 생각하면 됩니다.이렇게 가공된 데이터들을 어플리케이션이나 시스템 내부에 관리하며 데이터 엔지니어가 BI나 SQL을 활용해 데이터를 액세스 하는 방식으로 사용됩니다. 일반적인 Database가 아닌 ata warehous..
[MySQL] View란?
·
Database | SQL | OS/MySQL | Maria
오늘은 Database 에서 유용하게 많이 사용되는 가상 테이블인 View에 대해서 공부하고 정리해보려고 합니다.View의 목적, 특징, 장단점을 살펴보고 실무적으로도 활용이 가능한 활용 방안에 대해서도 공부 해보겠습니다. 개요View는 하나 이상의 기본 테이블로부터 유도된 가상 테이블(Virtual Table) 로, 물리적으로 데이터를 저장하지 않고 실행 시점에 SQL 쿼리를 통해 데이터를 보여주는 역할을 합니다. 뷰는 일반적으로 단순 뷰 (Simple View), 복합 뷰 (Complex View), 인라인 뷰 (Inline View) , 구체화 된 뷰 (Materialized View)의 4가지로 정의할 수 있으며 시스템에서 요청하는 정보나, 필요에 따라서 사용 방법이 조금씩 다릅니다. View의..
[AWS Aurora] 리더 인스턴스와 라이터 인스턴스란?
·
Cloud/AWS
안녕하세요. 오늘은 AWS Aurora MySQL 환경에서의 Redaer Instance, Writer Instance에 대해서 정리해보려고 합니다.이전에 작성했던, 일반 MySQL과 Aurora MySQL의 차이점을 참고하면 더욱 이해하기에 쉬울 것 같아 첨부합니다. [AWS] AWS RDS MySQL vs AWS Aurora MySQL이번에는 RDS MySQL 과 Aurora MySQL 의 아키텍처적인 차이점에 대해서 공부해볼까 합니다. AWS 의 Aurora MySQL 소개 Document를 보면 MySQL을 기반으로 한 MySQL 와 호환되는 완전 관리형 데이터베이스 엔진이hyungyun.tistory.com 개요온프레미스 환경에서 MySQL 부하분산을 위해서 Master-Slave 을 구성해 ..
[DMS] 복제 인스턴스 Memory 관리 방법
·
Cloud/AWS
오늘은 AWS의 Migration 을 담당하는 복제 인스턴스의 메모리 관리 방법과 권장 사용량에 대해서 경험한 것을 공부해보고 공유할까 합니다. 아래는 예전에 작성했던 DMS 복제 인스턴스에 관한 글입니다. 참고하셔서 복제 인스턴스가 어떤것인지 사전에 알면 좋을 것 같아 첨부합니다. [AWS] DMS 복제 인스턴스 및 태스크 사용 방법오늘은 AWS 에서 제공하는 복제 인스턴스를 활용하여, Database Migration 을 진행해보겠습니다. Migration 이란? Source Database 에서 Target Database로 데이터를 옮기는 과정입니다. 단순 복사 뿐 아니라 RDBMShyungyun.tistory.com 개요DMS 복제 인스턴스는 이전 글에서 어떤 용도인지 확인했습니다. 간략하게 ..
[MySQL] Audit Log, Slow Query, Error Log 정리
·
Database | SQL | OS/MySQL | Maria
오늘은 MySQL 에서 장애 상황을 파악하기에 매우 중요한 Audit Log, Slow Query Log, Error Log를 정리해보려 합니다. 장애 상황이 생겼을 때나, 성능에 문제가 발생했을 때, Long Running Query가 발생했을 때 꼭 살펴봐야 합니다. 아래는 MySQL 의 공식 매뉴얼 문서입니다. 참고하면 좋을듯 하여 첨부합니다. MySQL :: MySQL 8.4 Reference Manual :: 7.4.2 The Error LogThis section discusses how to configure the MySQL server for logging of diagnostic messages to the error log. For information about selecting..
[SQL] Index를 활용한 SQL 튜닝과 Index 사용 불가능 조건
·
Database | SQL | OS/SQL Tuning
안녕하세요. 오늘은 Index를 활용한 SQL 튜닝과 Index가 사용 불가능한 조건에 대해서 공부하고 기록해보려 합니다. 아래는 예전에 Oracle Database를 기준으로 작성한 Index에 관한 설명과 MySQL 에서의 쿼리 Plan 확인 방법에 대한 게시글입니다. 참고하면 좋을듯하여 첨부합니다. 오라클 DBMS 기본 - 인덱스오늘은 오라클에서 쿼리 튜닝과 성능 분석에 꼭 필요한 개념인 인덱스, 성능을 개선시키지만 때로는 저하시키기도 하는 인덱스에 대해서 공부해보려고 합니다. DBMS의 테이블에서 데이터를 찾는hyungyun.tistory.com [SQL] MySQL 쿼리 Plan 확인 방법오늘은 Database 의 성능 관리와 튜닝에서 중요한 부분을 차지하는 Query Plan 에 대해서 공부..
[SQL] Logical I/O 와 Physical I/O
·
Database | SQL | OS/SQL Tuning
오늘은 DB 성능과 굉장히 밀접한 관련이 있는 I/O 에 대해서 공부해보려고 합니다. SQL 튜닝에서는 굉장히 중요한 부분이고, 제 생각에는 성능 튜닝의 관점에서는 어디서 Physical I/O 를 줄여 SQL 성능을 높이느냐 라고 생각합니다. 아래는 일전에 작성해 둔 MySQL InnoDB Buffer Pool 에 대한 내용입니다. Oracle, MySQL,Maria 각 아키텍처의 구조가 다르지만 Memory, Disk 튜닝과 성능의 관점에서의 큰 틀은 유사하기 때문에 참고하시면 좋을 것 같아 첨부합니다. [MySQL] InnoDB_Buffer Pool 이란?안녕하세요. 오늘은 MySQL 과 MariaDB 에서 성능으로 중요한 부분을 차지하고 있는 InnoDB_Buffer_Pool 에 대해서 공부 ..