관리형 DB 서비스는 왜 비싸고 언제 사용하는 것이 좋을까 > 리눅스서버
리눅스서버

관리형 DB 서비스는 왜 비싸고 언제 사용하는 것이 좋을까

조회 9회 댓글 0건
  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기

관리형 DB 서비스는 사용자가 직접 서버에 MySQL이나 MariaDB 같은 데이터베이스를 설치하고 운영하는 대신 서비스 제공 업체가 데이터베이스 설치와 백업과 장애 감지와 복구와 보안 업데이트와 모니터링을 대신 수행해 주는 방식이며 일반 가상 서버보다 가격은 높지만 데이터베이스 운영에 필요한 관리 부담을 크게 줄일 수 있다는 것이 가장 큰 특징이다.



위는 디지털오션의 상품가격인데 국내에는 IDC가 없어 사용이 곤란하다. 

Akamai Cloud는 일본에 있어 그나마 가까운곳에 있고 Vultr은 국내 IDC가 있지만 아직도 인지도가 적은 것은 왜 일까?



자동 백업과 시점 복구

관리형 DB는 일정 주기로 자동 백업을 수행하고 일부 서비스는 특정 시점으로 데이터를 되돌릴 수 있는 시점 복구 기능도 제공하므로 실수로 데이터를 삭제하거나 잘못된 프로그램이 대량으로 데이터를 변경한 경우에도 직접 백업 파일을 찾아 복원하는 작업을 줄일 수 있으며 백업 파일 관리와 보관 정책까지 서비스 제공 업체가 관리한다는 장점이 있다.


장애 감지와 서버 복구

일반 서버에 직접 데이터베이스를 설치한 경우 서버가 멈추거나 데이터베이스 프로세스가 비정상 종료되면 사용자가 직접 상태를 확인하고 서비스를 재시작하거나 새로운 서버를 만들어 복구해야 하지만 관리형 DB는 서버와 데이터베이스 상태를 지속적으로 확인하면서 장애를 감지하고 필요한 경우 새로운 서버를 준비한 뒤 데이터를 복원하는 과정을 자동화할 수 있다.


대기 서버와 자동 마스터 승격

고가용성 구성을 사용하는 경우 주 서버가 장애를 일으키면 대기 서버를 새로운 마스터로 승격시키고 애플리케이션의 접속 경로까지 자동으로 변경할 수 있으므로 관리자가 직접 서버 상태를 확인하고 복제를 중단하고 마스터를 변경하고 접속 주소를 수정하는 작업을 하지 않아도 된다는 장점이 있으며 서비스 중단 시간을 크게 줄일 수 있다.


자동 마스터 승격이 어려운 이유

마스터 서버가 응답하지 않는다고 해서 단순히 대기 서버를 새로운 마스터로 바꾸면 되는 것은 아니며 기존 마스터가 완전히 죽은 것이 아니라 네트워크 문제로 잠시 분리된 상태일 수도 있기 때문에 잘못된 판단으로 새로운 마스터를 승격시키면 두 서버가 동시에 쓰기를 받는 상황이 발생할 수 있고 이를 스플릿 브레인이라고 하며 데이터가 서로 다른 방향으로 변경되기 시작하면 단순한 복제 복구만으로 해결하기 어려워진다.


 


어느 서버가 최신인지 판단하기 어려운 문제

장애 발생 시 가장 단순한 경우는 한 서버가 최신 데이터를 가지고 있고 다른 서버가 조금 뒤처져 있는 상황이지만 실제 운영 환경에서는 기존 마스터에만 존재하는 데이터와 새로 승격된 마스터에만 존재하는 데이터가 동시에 생길 수도 있으며 이렇게 되면 어느 서버가 최신인지 단순하게 판단할 수 없고 두 서버의 변경 내용을 비교하면서 데이터를 병합해야 하므로 복구 난도가 급격하게 높아진다.


기존 마스터를 차단해야 하는 이유

안전한 자동 장애 전환을 위해서는 새로운 마스터를 승격시키는 것보다 기존 마스터가 더 이상 쓰기를 받지 못하도록 확실하게 차단하는 과정이 중요하며 기존 마스터가 살아 있는 상태에서 새로운 마스터까지 동시에 쓰기를 받으면 두 데이터베이스의 내용이 갈라질 수 있기 때문에 관리형 DB는 기존 서버를 네트워크에서 분리하거나 쓰기를 차단하는 방식으로 데이터 충돌 가능성을 줄이는 구조를 사용한다.


복제 지연 문제

대기 서버는 주 서버의 데이터를 실시간에 가깝게 복제하지만 항상 완전히 동일한 시점까지 복제가 완료되었다고 보장할 수 있는 것은 아니며 주 서버가 갑자기 장애를 일으킨 순간 대기 서버가 마지막 변경 내용을 아직 전달받지 못했다면 새로운 마스터로 승격한 뒤 일부 데이터가 사라질 가능성이 있으므로 자동 장애 전환 시스템에서는 복제 상태와 마지막 반영 위치를 확인하는 과정이 매우 중요하다.


보안 관리의 장점

관리형 DB는 운영체제 보안 업데이트와 데이터베이스 보안 패치와 암호화 연결과 접근 제어와 네트워크 격리 같은 기능을 서비스 제공 업체가 일정한 기준으로 관리하므로 사용자가 직접 방화벽과 운영체제와 데이터베이스 보안 설정을 계속 확인해야 하는 부담을 줄일 수 있으며 여러 개발자가 함께 사용하는 환경에서는 설정이 제각각 달라지는 문제도 줄일 수 있다.


모니터링과 알림

CPU 사용률과 메모리 사용량과 디스크 사용량과 접속 수와 느린 쿼리와 복제 지연 같은 정보를 자동으로 수집하고 이상 상태가 발생하면 알림을 받을 수 있으므로 문제가 실제 장애로 커지기 전에 확인할 수 있으며 직접 구축하는 경우 별도의 모니터링 프로그램을 설치하고 설정해야 하는 작업을 줄일 수 있다.


마스터 슬레이브 구조에서 승격 잘못 했다가 데이터 꼬이면 인생에 기억나는 하루로 죽기 전까지 잊지 못할듯.




  • 현재 페이지 주소 복사
  • 페이스북으로 공유
  • X 로  공유
  • 트위터로  공유
  • 네이버 블로그로 공유
  • 네이버 카페 공유하기
  • 네이버 라인 공유하기
  • 네이버 밴드 공유하기
  • 링크드인으로 공유하기
  • 핀터레스트에 공유하기
전체 187건 1 페이지
  • profile_image ▷ 오픈코드 설치후 재접속curl -fsSL https://opencode.ai/install | bash설치를 했는데 아래처럼 깔끔하게 나오는것이 아니라 화면이 깨져서 나온다면 터미널에서 처리를 모두 해주고 있지 못해서 생기는 문제로 다른 터미널을 사용해 보면 됩니다. https://github.com/Eugeny/tabby예전엔 이런것 찾으려면 힘들었는데 요즘엔 쉽게 알아 낼 수 있습니다. 그럼에도 불구하고 삽질의 숫자는 여전히 유효하고 앞으로도 그럴 것으로 생각 됩니다.▷ Tabby의 단점도 있는데 다음과 같습니다.- 일렉트론 기반으로 무겁다.- 버그가 있다 하지만 사용 못할 정도는 아니다.
  • profile_image 설치된 확장 프로그램: SFTP Natizyskunk▷ sftp 서버 설정sftp가 ssh 서버에서 설정이 되어 있지 아니하면 아래와 같이 설정 후 재싲가 해야 한다.   vim /etc/ssh/ssh_config  Subsystem sftp /usr/lib/openssh/sftp-server  systemctl restart sshd▷ 잘 설정 했는데 안된다면 .bashrc 수정 (중요)vi ~/.bashrc# SFTP / non-interactive session 보호case $- in    *i*) ;;    *) return;;esac▷ 윈도…
  • profile_image swappiness는 커널이 RAM의 데이터를 스왑 공간으로 얼마나 공격적으로 옮길지 결정하는 값입니다. (0~100 사이)- 60 (기본값): 어느 정도 메모리가 차면 스왑을 사용하기 시작합니다.- 10 (권장): 물리 메모리가 거의 가득 찼을 때만 스왑을 사용합니다.- 0: 물리 메모리가 완전히 바닥나기 전까지 스왑을 절대 사용하지 않습니다. ▷ Swappiness 값 수정 (메모리 우선 사용)  /etc/sysctl.conf  파일 맨 아래에 vm.swappiness=10을 추가하고 저장  sudo sysctl -p를 입력해 즉시 반영▷ 스왑 메모리 완전히 끄기완전히 끄기만 하면…
  • profile_image 개발자라면 한 번쯤 이런 생각을 해봤을 것이다. "MySQL 잘 쓰고 있는데 굳이 바꿔야 하나?" 충분히 이해 하는데 익숙한 도구를 버리는 것은 언제나 두렵기 마련이죠. 경험이 많은 분들은 알겠지만 무슨일이 벌어질지 모르니까 하지만 데이터베이스 세계의 흐름은 이미 방향을 틀었고 그 중심에는 PostgreSQL이 있습니다. 숫자가 말해주는 현실PostgreSQL은 DB-Engines 선정 "올해의 DBMS" 상을 2017년부터 2024년까지 총 다섯 차례나 수상했고 지난 7년 중 5년을 PostgreSQL이 가져간 셈이다. 나머지 2년은 Snowflake가 받았을 뿐 MySQL은 단 한 번도 이름을 올리지 못했다…
  • profile_image 왜? 소스 설치를 하는가 하면 패키지 관리자 설치는 버전이 낮아서 그렇지요.tmux는 터미널 멀티플렉서(Terminal Multiplexer)로 하나의 터미널 창 안에서 여러 세션을 동시에 관리할 수 있게 해주는 도구를 말함. ▷ 주요 기능- 화면 분할(수평/수직)- 세션 유지(SSH 연결이 끊어져도 작업이 유지됨)- 여러 윈도우와 패널 간 전환- 세션 공유(다른 사용자와 같은 세션 접속) ▷ 필요한 경우 예전 전송방식 설치curl -sL https://github.com/trzsz/trzsz-go/releases/download/v1.2.0/trzsz_1.2.0_linux_x86_64.tar.gz -…
  • profile_image 인터넷에는 공인IP만 다닐 수 있는데 사설IP나 예약된 다른 IP 대역이 들어올 수는 없습니다.공인IP가 아니기 때문에 중간에 라우팅이 안되기 때문에 그렇지요. 하지만 문제는 정상적인 사용자도 있을 수 있기 때문 프록시 서버를 통해서 들어오는 경우인데 이런 경우는 프록시서버의 IP를 막을 수는 없습니다.막는 통로는 방화벽, 웹서버, 프로그램 등을 통해서 막는 방법이 있겠지만 여기서 배포방식이 아닌 오래전에 대형 업체에서 많이 사용하는 방법으로 갱신시키는 형태로 적용을 시킨다면 모니터링과 대응이 빠른 프로그램을 이용하는것도 괜찮습니다.    function blockBogonIp(): void&…

상업적 이용 금지. 컨텐츠는 개인 용도로만 사용이 가능 합니다.