본문으로 건너뛰기

데이터베이스 백업

정보처리기사 목차물리 데이터베이스 설계레슨 115 / 233

목차

백업(backup)은 데이터베이스의 사본을 다른 저장 장소에 미리 떠 두는 일입니다. 디스크가 망가지면 로그만으로는 되살릴 수 없어, 떠 둔 사본을 되살린 뒤 그 뒤의 변경을 반영합니다.

회복에서 가른 장애 셋 가운데 미디어 장애는 디스크가 망가져 데이터를 읽을 수 없는 장애입니다. 로그까지 같은 디스크에 있었다면 로그마저 읽을 수 없습니다. 그래서 물리 설계에서는 '무엇을 얼마나 자주 떠서 어디에 두나'를 미리 정합니다. 한 벌을 통째로 뜨면 되살릴 때 쓰는 백업이 하나뿐이지만 뜨는 데 오래 걸리고, 바뀐 것만 뜨면 빨리 끝나지만 되살릴 때 여러 벌을 차례로 되돌려야 합니다. 아래 그림은 백업 달력에서 증분으로 운영한 줄과 차등으로 운영한 줄을 나란히 놓고, 목요일 아침 장애에 되살리는 데 쓰는 백업 수를 견줍니다.

7단계 중 1단계. 전체 백업은 데이터베이스를 한 벌 통째로 떠 두는 일입니다. 일요일 밤에 한 번 떴습니다.

1무엇을 담나 — 전체·차등·증분

그림은 일요일 밤의 전체 백업을 먼저 보입니다. 전체 백업(full backup)은 데이터베이스를 한 벌 통째로 뜨는 것입니다. 되살릴 때 밑바탕이 되는 백업이라, 차등도 증분도 전체 백업 한 벌이 있어야 뜻이 있습니다. 그림의 두 운영 줄이 같은 막대 하나에서 갈라지는 까닭입니다.

이어서 월·화·수 밤의 백업이 두 줄로 갈립니다. 증분 백업(incremental backup)은 마지막 백업 뒤에 바뀐 것만 담습니다. 여기서 마지막 백업은 전체 백업일 수도 있고 바로 앞 증분 백업일 수도 있습니다. 차등 백업(differential backup)은 언제나 마지막 전체 백업 뒤에 바뀐 것을 모두 담아, 그림의 차등 막대는 날마다 전체 백업 자리에서 다시 시작해 길어집니다.

가르는 기준전체 백업차등 백업증분 백업
무엇을 담나데이터베이스 전부전체 백업 뒤에 바뀐 것 모두마지막 백업 뒤에 바뀐 것만
어디를 기준으로 재나기준이 없다마지막 전체 백업마지막 백업(전체 또는 증분)
뜨는 시간과 자리가장 오래 걸리고 가장 많이 쓴다날이 갈수록 늘어난다날마다 적다
되살릴 때 쓰는 백업전체 1개전체 1개와 가장 최근 차등 1개전체 1개와 그 뒤 증분 전부

2되살리는 순서 — 로그 백업이 사이를 메운다

그림의 마지막 장면은 수요일 밤 백업과 목요일 아침 장애 사이에 띠 하나를 더합니다. 로그 백업(log backup)은 마지막 백업 뒤에 쌓인 변경 기록만 뜨는 것입니다. 데이터 백업이 하루에 한 번이어도 로그 백업은 몇 분마다 뜰 수 있어 장애 직전까지 되돌립니다.

되살리는 순서는 정해져 있습니다.

  1. 전체 백업을 되살립니다.
  2. 차등으로 운영했다면 가장 최근 차등 백업 하나를 되돌립니다. 증분으로 운영했다면 그 뒤의 증분 백업을 뜬 순서대로 모두 되돌립니다.
  3. 그 뒤에 뜬 로그 백업을 시간 순서대로 반영합니다.

증분 백업은 하나라도 빠지면 그 뒤를 되돌릴 수 없습니다. 로그 백업도 중간이 빠지면 빠진 곳까지만 되돌릴 수 있습니다.

3주기와 보관

주기는 '얼마만큼 잃어도 되나'로 정합니다. 주말 밤에 전체 백업, 평일 밤에 차등이나 증분, 낮에는 로그 백업을 몇 분마다 뜨는 꼴이 흔합니다. 차등으로 운영하면 날이 갈수록 백업이 커지므로 새 전체 백업을 떠 기준을 다시 세웁니다.

둔 자리도 백업의 일부입니다. 데이터베이스와 같은 디스크에 둔 백업은 그 디스크가 망가질 때 함께 사라지므로, 다른 저장 장치에 여러 날의 백업을 남기고 주기마다 한 번씩 되살려 봅니다.

예제

일요일 밤에 전체 백업을 뜨고 평일 밤마다 한 번씩 뜨는 운영입니다. 목요일 아침에 디스크가 망가졌습니다.

언제증분으로 운영차등으로 운영
일 밤전체 백업전체 백업
월 밤월에 바뀐 것전체 뒤에 바뀐 것(월)
화 밤화에 바뀐 것전체 뒤에 바뀐 것(월·화)
수 밤수에 바뀐 것전체 뒤에 바뀐 것(월·화·수)
목 아침장애장애

되살리는 데 쓰는 백업은 운영에 따라 갈립니다.

운영되살리는 차례백업 수
증분전체 → 월 → 화 → 수4개
차등전체 → 수2개

증분 쪽은 날마다 뜨는 양이 적은 대신 백업 4개를 차례로 되돌립니다. 차등 쪽은 수요일 백업 하나에 월·화의 변경까지 들어 있어 2개로 끝납니다. 수요일 밤 뒤의 변경은 두 운영 모두 데이터 백업에 없어, 목요일 아침까지의 로그 백업을 반영해 장애 직전으로 맞춥니다.

시험 포인트

  • 필기: 전체 백업은 데이터베이스 전부를, 차등 백업은 마지막 전체 백업 뒤에 바뀐 것을 모두, 증분 백업은 마지막 백업 뒤에 바뀐 것만 담습니다. 되살리는 순서는 전체 백업 다음에 차등은 가장 최근 하나, 증분은 그 뒤 전부를 되돌리고 마지막으로 로그 백업을 시간 순서대로 반영하는 것입니다. 증분은 뜨는 양이 적고 되살릴 때 쓰는 백업이 많으며, 차등은 그 반대입니다.
  • 실기: 전체 백업(Full Backup)·차등 백업(Differential Backup)·증분 백업(Incremental Backup)·로그 백업(Log Backup)으로 씁니다.

확인 문제

1. 토요일 밤에 전체 백업을 뜨고, 일·월·화 밤마다 차등 백업을 뜨는 운영입니다. 수요일 낮에 디스크가 망가졌습니다. 되살리는 데 쓰는 백업으로 알맞은 것을 고르세요.

  • ① 전체 백업 1개
  • ② 전체 백업과 화요일 차등, 2개
  • ③ 일·월·화 차등, 3개
  • ④ 전체 백업과 일·월·화 차등, 4개
정답

②입니다. 차등 백업은 날마다 마지막 전체 백업 뒤에 바뀐 것을 모두 담으므로, 화요일 차등 하나에 일·월의 변경까지 들어 있습니다. 전체 백업을 되살린 뒤 가장 최근 차등 하나만 되돌립니다.

  • ① 차등 백업을 되돌리지 않았습니다. 전체 백업만 되살리면 토요일 밤 상태로 돌아가고 일·월·화의 변경이 사라집니다.
  • ③ 전체 백업 없이 차등만으로 된다고 봤습니다. 차등 백업은 전체 백업 뒤에 바뀐 것만 담아, 밑바탕이 되는 전체 백업이 있어야 합니다.
  • ④ 뜬 순서대로 모두 되돌린다고 봤습니다. 그것은 증분 백업으로 운영했을 때입니다. 차등은 뒤의 것이 앞의 것을 품고 있어 가장 최근 하나로 끝납니다.

2. 다음 (가)~(라)에 맞는 이름을 한글 이름과 영문으로 함께 쓰세요. 답을 끝까지 쓴 뒤 정답을 펼치세요.

  • (가) 데이터베이스를 한 벌 통째로 떠 둡니다. 다른 백업들이 되살릴 때 밑바탕으로 삼습니다.
  • (나) 바로 앞에 뜬 백업 뒤에 바뀐 것만 떠 둡니다. 날마다 뜨는 양이 가장 적고, 되살릴 때는 뜬 순서대로 모두 되돌려야 합니다.
  • (다) 떠 두는 범위가 늘 마지막 (가) 자리에서 시작합니다. 날이 갈수록 커지지만 되살릴 때는 가장 최근 하나만 되돌립니다.
  • (라) 데이터가 아니라 그 사이에 쌓인 변경 기록만 떠 둡니다. 몇 분마다 뜰 수 있어 장애 직전까지 되돌릴 수 있습니다.
정답

받는 답: (가) 전체 백업(Full Backup) · (나) 증분 백업(Incremental Backup) · (다) 차등 백업(Differential Backup) · (라) 로그 백업(Log Backup)

(가)의 실마리는 '한 벌 통째로, 다른 백업의 밑바탕', (나)는 '바로 앞에 뜬 백업 뒤', (다)는 '늘 전체 백업 자리에서 시작', (라)는 '데이터가 아니라 변경 기록'입니다.

  • 틀리는 꼴 차등 백업 — (나)에: 기준이 마지막 전체 백업이라 되살릴 때 하나만 되돌립니다. (나)는 뜬 순서대로 모두 되돌립니다.
  • 틀리는 꼴 증분 백업 — (다)에: 기준이 바로 앞 백업이라 날마다 담는 양이 비슷합니다. (다)는 날이 갈수록 커집니다.
  • 틀리는 꼴 로그 — (라)에: 백업하지 않고 데이터베이스가 쌓아 두는 변경 기록 자체의 이름입니다. (라)는 그 기록을 떠 두는 백업의 이름입니다.

3. 증분 백업으로 운영하는 데이터베이스가 있습니다. 밤마다 백업을 뜨는 시간은 짧은데, 장애가 났을 때 되살리는 데 너무 오래 걸린다는 지적을 받았습니다. 밤 백업을 차등으로 바꾸면 어떻게 되는지 알맞은 것을 고르세요.

  • ① 밤마다 뜨는 양이 늘고, 되살릴 때 되돌리는 백업 수는 줄어든다
  • ② 밤마다 뜨는 양이 줄고, 되살릴 때 되돌리는 백업 수도 줄어든다
  • ③ 밤마다 뜨는 양은 그대로이고, 되살릴 때 되돌리는 백업 수만 줄어든다
  • ④ 밤마다 뜨는 양이 늘고, 되살릴 때 되돌리는 백업 수도 늘어난다
정답

①입니다. 차등 백업은 기준이 마지막 전체 백업이라 전체 백업에서 멀어질수록 담는 양이 늘어납니다. 대신 되살릴 때는 전체 백업과 가장 최근 차등 하나만 되돌려 백업 수가 줄어듭니다.

  • ② 뜨는 양과 되살리는 품이 함께 줄어든다고 봤습니다. 둘은 반대로 움직입니다. 뜨는 양이 가장 적은 쪽이 증분이고, 그쪽이 되돌릴 백업이 가장 많습니다.
  • ③ 담는 범위가 그대로라고 봤습니다. 기준이 바로 앞 백업에서 마지막 전체 백업으로 바뀌므로 범위가 넓어집니다.
  • ④ 되돌리는 백업 수까지 늘어난다고 봤습니다. 차등은 뒤의 백업이 앞의 변경을 품고 있어, 가장 최근 하나로 끝납니다.

끝까지 내려오면 저절로 표시됩니다. 이 기기에만 저장합니다.

정보처리기사 목차로