Database&SE 넓고 많은 IT 지식을 위한 Blog

PostgreSQL Localization

    PostgreSQL Localization 로케일 지원은 initdb를 이용해 클러스터를 구성하면 자동으로 초기화 됩니다. 특별히 옵션을 넣지 않으면 en_US.UTF8로 설정이 됩니다. LC_COLLATE String 정렬 순서 LC_CTYPE 문자 분류 (어떤글자인지, 대문자도 동일한지) LC_MESSAGES 메세지 언어 LC_MONETARY...

MySQL 8 vs MariaDB 10.4

MySQL 8 MariaDB 10.4 Storage Engines FEDERATED MEMORY InnoDB Performance_Schema MyISAM MRG_MYISAM BLACKHOLE CSV ARCHIVE Default Installation (8) CSV MRG_MyISAM MEMORY Aria MyISAM SEQUENCE InnoDB PERFORMANCE_SCHEMA Plugins (6) TokuDB RocksDB Spider Connect OQGRAPH Mroonga...

InnoDB dirty pages

  Dirty pages? Row 값을 업데이트하면 MySQL은 Buffer Pool에서 Row값을 업데이트 하여 Page를 Dirty로 표시합니다. 변경 사항은 바이너리 로그에도 기록되므로 충돌이 발생하면 MySQL이 로그를 재생하고 데이터가 손실되지 않습니다. 바이너리 로그에 쓰는 작업은 append-only로 동작하지만,...

MariaDB Replication

  Replication? MariaDB 또는 MySQL에서 Replication은 단어 그대로 복제를 의미합니다. 일반적으로 Replication은 읽기 부하 분산 또는 HA를 위해서 구축합니다. Replication을 사용하는 이유는 다양합니다. 데이터 분산: DR 구축이나 사본을 저장하기 위한 설정 부하 분산:  Read가...

MariaDB 5.5와10.0의 차이점

  MariaDB 5.5와10.0의 차이점 MySQL은 5.5 버전에서 5.6으로 업데이트 되었고, 5.7 버전을 거쳐 지금은 8버전이 되었습니다. 반면 MySQL이 5.6 버전이 업데이트 되었지만, MariaDB는 5.5에서 바로 10으로 넘어갔습니다. 오라클의 정책에 의해 더이상 오픈소스가 아닌것 처럼...

오픈소스 모니터링 툴 PMM2 (MySQL, MariaDB, PostgreSQL, Mongo)

  Percona Monitoring and Management 2 PMM은 Percona에서 프로메테우스와 그라파나를 이용해 무료로 배포하고 있는 모니터링 툴입니다. (https://www.percona.com/software/database-tools/percona-monitoring-and-management) 최근에 2버전으로 업데이트가 되면서 기존 1.7버전과는 많은 것이 바뀌었습니다. MariaDB의 Galera Cluster 모니터링 뿐만아니라, PostgreSQL 모니터링도 정식으로...

[Playbook] PostgreSQL 다중화 구성

  PostgreSQL 다중화 구성 미리 /etc/hosts 파일에 pgsql01,02,03의 ip를 넣어줬습니다. inventory [master] pgsql01 [slave] pgsql02 pgsql03 . . . [postgres:children] master slave ansible_user=root ansible_password=<mypassword> 10,11 버전 사용가능. (9.6 사용 불가) ansible-playbook -i inventory inst_psql.yml...

Redis #.9 분산캐시와 사용시 주의사항

  Redis  분산캐시   캐시란? (Cache) 이미 요청됐거나, 나중에 요청될 결과를 미리 저장해 두었다가 이를 빠르게 서비스 해주는 것입니다. 이는 웹서비스에서 이용할 수도 있고, RDBMS에 접근 할 때도 사용할 수 있습니다. CPU에서도 L1, L2,...

Disk I/O Check를 위한 iostat 사용법

  Disk I/O 체크를 위한 iostat 사용법 DB를 운영하면서, DB의 성능 분석을 위해 Disk I/O 점검을 하는 경우가 많습니다. Linux의 sysstat 패키지안에 있는 iostat을 이용하여 I/O 체크를 할 수 있습니다. $ iostat -xtmdz -p...

Process 별로 CPU, MEM 사용량 모니터링

  Process 별로 CPU, MEM 사용량 모니터링 특별히 모니터링 툴이라던가 다른 방법이 없을때 OS에서 ps 명령을 가지고 모니터링하는 방법입니다. #!/bin/bash LOG_FILE=test.log while true do date >> $LOG_FILE ps -U postgres -o user,pid,ppid,rss,pcpu,pmem,size,vsize,time,cmd –sort -rss...

Redis #.8 Docker를 이용한 Redis cluster 구축 (ver. 5.0.5-buster)

  Docker를 이용한 Redis cluster 구축 (ver. 5.0.5-buster) 패키지를 이용한 구축 방법은 별로 어렵지 않아서, 그냥 각 노드에 패키지 깔고, 파라미터 수정해서 redis-server를 port에 맞게 실행만 해주면 됩니다. 해당 구조로 6개의 Redis를 각각의 도커로...

Redis #.7 HA구성하기 (Master-Slave)

  HA구성하기 (Master-Slave) Redis도 다른 Database와 마찬가지로 replication 기능을 지원합니다. redis.conf 파일에 slaveof 파일에 Master 서버의 IP와 Port를 입력해준뒤 구동만 해주면 됩니다. vi /root/redis-5.0.5/redis.conf slaveof <master ip> <port> 추가하고 구동하면 root@testdb01:~/redis-5.0.5]# src/redis-server redis-s1.conf 16524:C...

Redis #.6 Redis DB 정보 조회 및 환경설정

  Redis DB 정보 조회 Database에 대한 정보를 조회할 필요가 있을 때가 있습니다. INFO 명령을 이용하면 Redis 서버에 대한 정보 조회를 할 수가 있습니다. 127.0.0.1:6379> info # Server redis_version:5.0.5 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:281ad9c0dbce71d8 redis_mode:standalone os:Linux...

Redis #.5 Publish & Subscribe

  Publish & Subscribe 유투브 같은 사이트에서 내가 누군가의 영상을 구독했을때, 새 영상이 올라오면 유투브는 자동으로 구독자들에게 발행자의 업데이트 소식을 알려줍니다. 레디스로 이런 기능 구현이 가능합니다. 구독자에게 SUBSCRIBE 설정을 하면, 레디스는 구독자의 CLI를 블록킹하게...