CodeGym /행동 /SQL SELF /백업(Backup) 소개

백업(Backup) 소개

SQL SELF
레벨 43, 레슨 0
사용 가능

자, 얘들아, 또 멋진 이야기 시간이야. 진짜야! 네 데이터베이스가 소중한 정보가 담긴 책이라고 생각해봐. 만약 실수로 그 책에서 페이지를 찢어버리거나, 아니면 드래곤(혹은 하드디스크)이 갑자기 "지금 고장날 타이밍이 딱이네!"라고 생각해서 불타버린다면? 현실이든 판타지든, 정보는 날아가버려. 이럴 때 백업이 바로 등장하지 — 네 데이터의 "안전줄" 같은 거야.

백업, 즉 쉽게 말해서 백업 만들기는, 데이터를 따로 파일이나 다른 곳에 저장해서, 예상치 못한 상황이 생기면 다시 복구할 수 있게 해주는 과정이야.

백업은 뭔가 잘못됐을 때를 대비한 보험 같은 거야. 하드웨어나 소프트웨어 장애가 나도, 실수로 DELETE를 WHERE 없이 날려도, 혹은 서버를 development에서 production으로 옮길 때도, 백업이 있으면 데이터 복구가 가능해. 그리고 백업은 오래된 데이터를 "혹시 몰라서"나 기록용으로 보관할 때도 자주 써. 백업 없으면 진짜 위기 상황에 아무것도 못 건질 수도 있어.

데이터 손실 위험

이제 진짜로 데이터를 날려버릴 수 있는 위험에 대해 얘기해보자. 농담 아냐! 데이터베이스 관리자라면 식은땀 흘릴 만한 예시 몇 개 들어볼게:

하드웨어 장애. 하드디스크는 고장나고, USB는 잃어버리고, 서버는 가끔 "영원한 휴가"를 떠나기도 해.

사용자 실수.

개발자가 실수로 이런 쿼리를 날릴 때:

DELETE FROM 학생들;

WHERE 없이 말이야. 축하해, 이제 모든 학생이 삭제됐어! (네가 데이터베이스 관리자 아니길 바란다.)

악성 공격.
해커가 시스템을 공격해서 데이터를 암호화하거나 삭제할 수도 있어.

자연재해.
영화 같은 얘기지만, 지진이나 홍수로 서버가 박살날 수도 있지.

그리고, 안전하다는 느낌은 언제나 나쁠 게 없어. 백업 한 번 세팅해두는 게, 나중에 데이터베이스를 처음부터 복구하려고 드래곤한테 빌기보단 훨씬 낫지.

백업 주요 활용 시나리오

이제 백업이 왜 필요한지 알았으니, 언제 백업이 진짜로 도움이 되는지 대표적인 상황을 살펴보자.

장애 후 데이터 복구

일하다가 갑자기 모든 게 멈춰 — 데이터베이스, 서버, 인터넷. 장애! 백업 없으면 마지막 데이터가 어디 있었는지 기억만 더듬게 돼. 백업이 있으면 바로 복구 가능! 보통 장애 직전에 만든 데이터 복사본을 써. 예를 들면:

  • 서버 전체 장애. 백업에서 데이터베이스 전체를 복구해.
  • 특정 테이블 손상. 필요한 테이블만 복구할 수 있어.

서버 간 데이터 이동

데이터베이스를 한 서버에서 다른 서버로 옮겨야 할 때가 있어: 예를 들어 장비 업그레이드나 새 서버 세팅할 때. 이런 경우 백업이 빠르게 해결해줘. 옛날 서버에서 백업 만들고, 새 서버에 복원하면 끝.

데이터베이스 백업 만드는 명령어 예시:

pg_dump -U postgres -d 대학교 -f 대학교_백업.sql

위 명령어는 대학교 데이터베이스의 백업 파일을 만들어서, 다른 서버에서 복구할 때 쓸 수 있어.

장기 보관용 데이터 아카이빙

가끔 데이터 분석이나 기록용으로 오래된 데이터를 보관하고 싶을 때가 있어. 예를 들어 지난 10년간 주문 내역이 있다면, 제일 오래된 데이터는 아카이브로 옮기고 메인 데이터베이스 공간을 비울 수 있지.

이런 방식은 다음에 도움이 돼:

  • 메인 데이터베이스 속도를 빠르게 해줘.
  • 언젠가 필요할지도 모르는 소중한 기록 데이터를 보관할 수 있어.

백업이 실제로 상황을 구한 사례

백업의 중요성을 제대로 느낄 수 있는 실제 사례 몇 개 들어볼게:

해킹 공격 후 복구. 어떤 회사가 랜섬웨어 때문에 모든 데이터를 잃었어. 다행히 전날 만든 백업 덕분에, 비즈니스가 날아가는 대신 2시간만 멈췄지.

개발자 실수. (개발자도 실수한다는 거, 다들 알지?) 한 학생이 졸업 논문 데이터가 들어있는 테이블을 삭제했어. 다행히 백업 덕분에 10분 만에 복구 완료!

오늘은 여기까지. 이제 백업이 왜 필요한지, 어떤 위험을 막아주는지, 얼마나 자주 만들어야 하는지 알았지? 다음 강의에서는 백업의 종류와, 어떤 게 네 상황에 맞는지 더 깊게 알아볼 거야. 다음 강의에서 보자!

2
과제
SQL SELF, 레벨 43, 레슨 0
잠금
서버에 있는 모든 데이터베이스 알아보기
서버에 있는 모든 데이터베이스 알아보기
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION