분류 전체보기
-
MySQL 5.7 이후부는 Online DDL을 지원하게 되었습니다. Online DDL시 장애를 줄이기 위해서 알아두면 좋은 환경설정에 대해 포스트팅 해보도록 하겠습니다. ■ Online DDL시 아래 작업들이 발생하게 됩니다. - online ddl시 row log buffer에 DDL이후의 데이터 변경사항을 저장하게 된다. - row log buffer는 sort_buffer_size 시스템 변수에 정의된 크기만큼씩 할당하며, 최대 innodb_online_alter_log_max_size 만큼 증가하게 된다. - innodb_online_alter_log_max_size ⇒ ONLINE DDL 중 DML문을 적재하는 Size 이다. 대부분 ONLINE DDL 중 해당 파라미터를 1G로 설정하고 진..
[ MySQL ] innodb_onlin_alter_log_max_size 중요성MySQL 5.7 이후부는 Online DDL을 지원하게 되었습니다. Online DDL시 장애를 줄이기 위해서 알아두면 좋은 환경설정에 대해 포스트팅 해보도록 하겠습니다. ■ Online DDL시 아래 작업들이 발생하게 됩니다. - online ddl시 row log buffer에 DDL이후의 데이터 변경사항을 저장하게 된다. - row log buffer는 sort_buffer_size 시스템 변수에 정의된 크기만큼씩 할당하며, 최대 innodb_online_alter_log_max_size 만큼 증가하게 된다. - innodb_online_alter_log_max_size ⇒ ONLINE DDL 중 DML문을 적재하는 Size 이다. 대부분 ONLINE DDL 중 해당 파라미터를 1G로 설정하고 진..
2023.02.27 -
MySQL를 운영하다 보면 DIsk 교체나 특정이유로 인해 데이터 디렉터리 경로를 변경하는 경우가 있습니다. 오늘은 데이터 디렉토리를 변경하는 방법에 대해 포스팅해 보겠습니다~ ■ 현재 Datadir 확인 1. MYSQL 들어가서 확인 mysql> select @@datadir; +-------------+ | @@datadir | +-------------+ | /data/data/ | +-------------+ 1 row in set (0.00 sec) 2.ps로 확인 [root@maria ~]# ps -ef | grep mysql root 6412 1 0 Feb20 ? 00:00:00 /bin/sh /mysql/bin/mysqld_safe --user=mysql mysql 6959 6412 0 F..
[ MySQL ] MySQL 데이터 디렉토리 변경MySQL를 운영하다 보면 DIsk 교체나 특정이유로 인해 데이터 디렉터리 경로를 변경하는 경우가 있습니다. 오늘은 데이터 디렉토리를 변경하는 방법에 대해 포스팅해 보겠습니다~ ■ 현재 Datadir 확인 1. MYSQL 들어가서 확인 mysql> select @@datadir; +-------------+ | @@datadir | +-------------+ | /data/data/ | +-------------+ 1 row in set (0.00 sec) 2.ps로 확인 [root@maria ~]# ps -ef | grep mysql root 6412 1 0 Feb20 ? 00:00:00 /bin/sh /mysql/bin/mysqld_safe --user=mysql mysql 6959 6412 0 F..
2023.02.21 -
PostgreSQL에서 Lock Session을 할 때 사용하는 SQL 쿼리 기본적으로 Postgresql의 Transaction isolation은 read-committed이다. ( Oracle DB의 격리 레벨과 동일 ) Autocomit이 on으로 되어있다. Lock 테스트는 총 3개의 Session으로 진행할 예정입니다. ■ Autocommit 비활성화 - Lock 테스트를 하기위해 Session의 Autocommit을 비활성화하였습니다. session1 > lee=# \set AUTOCOMMIT off session2 > lee=# \set AUTOCOMMIT off ■ Update Table session1 > lee=# update lee set a=2 where b='asd'; UPDAT..
[ PostgreSQL ] Lock Session 확인PostgreSQL에서 Lock Session을 할 때 사용하는 SQL 쿼리 기본적으로 Postgresql의 Transaction isolation은 read-committed이다. ( Oracle DB의 격리 레벨과 동일 ) Autocomit이 on으로 되어있다. Lock 테스트는 총 3개의 Session으로 진행할 예정입니다. ■ Autocommit 비활성화 - Lock 테스트를 하기위해 Session의 Autocommit을 비활성화하였습니다. session1 > lee=# \set AUTOCOMMIT off session2 > lee=# \set AUTOCOMMIT off ■ Update Table session1 > lee=# update lee set a=2 where b='asd'; UPDAT..
2023.02.19 -
몽고 DB의 성능을 테스트하기 위해 테스트 데이터를 입력하는 방법에 대해 기록하도록 하겠습니다.~~ ■ wget sampledata - 외부 에서 sample data를 받아 옵니다. wget https://atlas-education.s3.amazonaws.com/sampledata.archive ■ mongodb tools 다운로드 - sample data를 몽고 DB에 넣기 위해서는 mongorestore tool이 필요 ###mongodb tools 다운로드 [root@mongo ~]# vim /etc/yum.repos.d/mongodb-org-5.0.repo [mongodb-org-5.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yu..
[ MongoDB ] MongoDB Test Data몽고 DB의 성능을 테스트하기 위해 테스트 데이터를 입력하는 방법에 대해 기록하도록 하겠습니다.~~ ■ wget sampledata - 외부 에서 sample data를 받아 옵니다. wget https://atlas-education.s3.amazonaws.com/sampledata.archive ■ mongodb tools 다운로드 - sample data를 몽고 DB에 넣기 위해서는 mongorestore tool이 필요 ###mongodb tools 다운로드 [root@mongo ~]# vim /etc/yum.repos.d/mongodb-org-5.0.repo [mongodb-org-5.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yu..
2023.02.18 -
■ Opening Tables? Trying to open a table. Usually very quick unless the limit set by table_open_cache has been reached, or an ALTER TABLE or LOCK TABLE is in progress. 테이블을 열려고 합니다. table_open_cache에 의해 설정된 한계에 도달하거나 ALTER TABLE 또는 LOCK TABLE이 진행 중이 아니라면 일반적으로 매우 빠릅니다. ■ 결론 Opening Table State의 경우 Table_open_cache < open_tables 상태이며 새로운 Table이 open될떄 발생하게된다. 해결방안 show global status where variabl..
[ MySQL ] Openging Table 상태■ Opening Tables? Trying to open a table. Usually very quick unless the limit set by table_open_cache has been reached, or an ALTER TABLE or LOCK TABLE is in progress. 테이블을 열려고 합니다. table_open_cache에 의해 설정된 한계에 도달하거나 ALTER TABLE 또는 LOCK TABLE이 진행 중이 아니라면 일반적으로 매우 빠릅니다. ■ 결론 Opening Table State의 경우 Table_open_cache < open_tables 상태이며 새로운 Table이 open될떄 발생하게된다. 해결방안 show global status where variabl..
2023.02.17 -
Docker Compose를 이용해서 이전에 포스팅했던 Docker Image를 빌드한후 DB Replicatoin 올리는 방법을 작성해보곗습니다. 간략하게 요약하면 아래 순으로 실행이됩니다. Docker hub에 올려논 Docker Image를 통해서 → Docker file을 만들고 → Docker Compose를 이용하여 Replication 설계 https://github.com/dkwlfowh/docker_mysql8_repl ■ Docker-Compose 설치 [root@pmm-server ~]# sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)..
[ MySQL ] Container DB Replication ( Using. Docker-compose )Docker Compose를 이용해서 이전에 포스팅했던 Docker Image를 빌드한후 DB Replicatoin 올리는 방법을 작성해보곗습니다. 간략하게 요약하면 아래 순으로 실행이됩니다. Docker hub에 올려논 Docker Image를 통해서 → Docker file을 만들고 → Docker Compose를 이용하여 Replication 설계 https://github.com/dkwlfowh/docker_mysql8_repl ■ Docker-Compose 설치 [root@pmm-server ~]# sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)..
2023.02.15 -
테스트 DB를 구성하는데 있어 보다 편하게 하고싶어서 Docker 이미지를 생성하고 해당 이미지로 Container DB 생성을 해보았습니다. 이후에 해당 이미지를 이요하여 Container Replication을 구성해 볼 예정입니다. [root@pmm-server ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 508674e5261a centos:7 "/bin/bash" 8 minutes ago Up 8 minutes centos7 4c349fab5687 centos "/bin/bash" 58 minutes ago Up 57 minutes centos 44eeafff66ca percona/pmm-server:2 "/opt/ent..
[ MySQL ] Docker MySQL 이미지 생성테스트 DB를 구성하는데 있어 보다 편하게 하고싶어서 Docker 이미지를 생성하고 해당 이미지로 Container DB 생성을 해보았습니다. 이후에 해당 이미지를 이요하여 Container Replication을 구성해 볼 예정입니다. [root@pmm-server ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 508674e5261a centos:7 "/bin/bash" 8 minutes ago Up 8 minutes centos7 4c349fab5687 centos "/bin/bash" 58 minutes ago Up 57 minutes centos 44eeafff66ca percona/pmm-server:2 "/opt/ent..
2023.02.15 -
이번 Postgresql 관련 교육 자료를 만들게되면서 Autovacuum에 대해 공부해보았습니다. https://generated-ixia-4d4.notion.site/AutoVacuum-b1f5a5f647154efb8833f0d8098978f7
[ PostgreSQL ] Autovacuum이란??? 무엇일까?이번 Postgresql 관련 교육 자료를 만들게되면서 Autovacuum에 대해 공부해보았습니다. https://generated-ixia-4d4.notion.site/AutoVacuum-b1f5a5f647154efb8833f0d8098978f7
2023.01.26