AP 과목 A 32 — 데이터베이스 공백을 닫는 AP1–32 핵심 지도 종합 진단
응용정보기술자시험 과목 A의 AP1–32 핵심 지도를 마무리하는 종합 진단으로 B-tree·해시·비트맵·커버링 인덱스, 페이지 접근 수 계산과 성능 측정, GRANT·REVOKE와 최소 권한을 정리하고 오리지널 진단 문제 5문항으로 점검합니다.
AP 과목 A 제32편 · 2026년도·실라버스 Ver.7.2 기준의 독립 학습 자료입니다. IPA와 제휴하지 않으며 합격을 보장하지 않습니다. 시리즈 허브 보기
2026년 IPA 응용정보기술자시험(AP) 과목 A, Syllabus Ver.7.2 기준이며 2026-10-21 확인했다. 이 자료는 합격을 보장하지 않으며 Ver.7.2 전체를 한 줄씩 망라하지 않는다. 모든 사례는 가상이다.
개정 이력: 2026-10-28 마무리 안내를 수정함. 이 글은 AP1–32 핵심 지도만 닫으며, 시리즈는 AP33–38 마무리 계획을 거쳐 AP38에서 끝난다.
학습 인덱스
AP1–32 전 회차는 공개 시리즈 목차에서 볼 수 있다. 위에서 밝혔듯 이 시리즈는 Ver.7.2 전체를 한 줄씩 망라한다고 주장하지 않는다.
1. 인덱스(インデックス) 선택
- B-tree 인덱스(B-treeインデックス): 키가 정렬된 구조라 등가 검색과 범위 조건(
=,<,BETWEEN)에 보통 적합하다. - 해시 인덱스(ハッシュインデックス): 해시값 기반 등가 검색에 적합할 수 있으나 순서를 보존하지 않으므로 일반적인 범위 검색의 해결책으로 고르면 안 된다.
- 비트맵 인덱스(ビットマップインデックス): 성별·상태처럼 카디널리티가 낮은 열을 읽기 위주 분석에서 결합할 때 유용할 수 있다. 갱신이 잦은 환경의 동시성·유지 비용은 제품과 구현에 따라 불리할 수 있으므로 만능 규칙이 아니다.
- 커버링 인덱스(カバリングインデックス): 질의에 필요한 열을 인덱스가 모두 제공해 테이블 접근을 줄일 수 있다. 실제로 테이블 접근이 생략되는지는 DBMS, 실행 계획, 가시성·캐시 상태 등에 달렸다.
인덱스를 늘리면 읽기가 빨라질 수 있지만 INSERT/UPDATE/DELETE 때 구조도 고쳐야 하고 저장 공간과 캐시를 쓴다. 선택도(選択性)가 낮은 조건은 많은 행을 읽어 인덱스 이점이 작을 수 있다. 따라서 술어, 정렬, 조인, 읽기/쓰기 비율을 보고 후보를 세운 뒤 실행 계획과 실제 부하로 검증한다. 어떤 인덱스 방식도 모든 DBMS에서 같은 기능·비용을 보장하지 않는다.
2. 성능 설계와 측정
독립 확인 가능한 단순 계산
가정: 총 100회 작업은 읽기 80회와 삽입 20회뿐이다. 비용 단위는 논리 페이지 접근 수이고, 대기·캐시·병렬성·경합은 무시한다.
| 상태 | 읽기 | 삽입 | 합계 | 작업당 평균 |
|---|---|---|---|---|
| 인덱스 전 | 80 × 1000 = 80,000 |
20 × 2 = 40 |
80,040 |
80,040 ÷ 100 = 800.4 |
| 인덱스 후 | 80 × 4 = 320 |
20 × 5 = 100 |
420 |
420 ÷ 100 = 4.2 |
이 가상 모델에서는 총비용이 80,040에서 420으로 줄고 평균은 800.4에서 4.2로 줄지만, 삽입 한 건은 2에서 5로 늘었다. 이것은 산술 예제일 뿐 실제 지연시간 예측이 아니다. 실제 시스템은 대표 데이터와 같은 SQL로 실행 계획, 논리/물리 I/O, p50/p95/p99 지연, 처리량, 잠금 대기, CPU, 캐시 상태를 부하 전후에 측정해야 한다.
3. 접근 제어(アクセス制御)
최소 권한(最小権限)은 사용자가 업무에 필요한 권한만 갖게 한다. 가상 report_reader에는 orders의 SELECT만 주고 INSERT/UPDATE/DELETE는 주지 않는다. order_writer에도 필요한 쓰기 권한만 분리한다. 권한은 정기 검토하고 퇴직·역할 변경 시 회수한다.
다음은 보충 PostgreSQL 문법 예시이며 IPA가 특정 제품을 권고한다는 뜻이 아니다.
GRANT SELECT ON TABLE orders TO report_reader;
GRANT INSERT, UPDATE ON TABLE orders TO order_writer;
REVOKE UPDATE ON TABLE orders FROM order_writer;
GRANT(권한 부여)와 REVOKE(권한 회수)의 세부 효과, 역할 상속, 소유자·스키마 권한, DELETE 표현은 DBMS마다 다를 수 있다. “SELECT 가능 = INSERT/UPDATE/DELETE도 가능”은 틀리다. 애플리케이션 계정 분리, 감사 로그, 비밀 관리도 함께 설계한다.
4. 기술·관리·전략 연결
- 기술: 인덱스 후보와 권한 행렬을 설계하고 실행 계획·부하 시험으로 검증한다.
- 관리: 변경 승인, 회귀 시험, 모니터링, 권한 정기 검토와 감사 로그를 운영한다.
- 전략: SLA와 사업 KPI를 먼저 정하고 읽기 개선이 추가 저장·쓰기 비용과 보안 위험을 상쇄하는지 판단한다. 가장 빠른 질의가 아니라 사업 목표와 위험 허용도에 맞는 설계가 답이다.
5. 퀵 시트와 함정
- 범위 → B-tree 후보 / 등가 → hash도 후보 / 낮은 카디널리티·읽기 위주 → bitmap을 신중히 검토.
- covering은 “필요 열을 포함”이지 모든 환경에서 무조건 테이블 I/O 0이라는 뜻이 아니다.
- 인덱스 수 증가 → 쓰기·저장·유지 비용 증가 가능. 낮은 선택도는 이익 감소 가능.
- 평균만 보지 말고 꼬리 지연, 처리량, 실행 계획, 부하를 함께 측정한다.
- SELECT와 INSERT/UPDATE/DELETE는 별도 권한이다. 최소 권한, GRANT, REVOKE를 구분한다.
- 함정: “항상”, “모든 DBMS”, “인덱스는 많을수록 좋다”, “모의 산술=실측” 같은 절대 표현.
6. 오리지널 진단 5문제
아래 문제는 과거 기출을 사용·번안하지 않은 원문이다.
Q1 — 인덱스
주문 테이블에서 ordered_at BETWEEN ... 범위 검색이 많고 날짜순 출력이 필요하다. 가장 적절한 첫 후보는?
A. 순서를 보존하지 않는 해시 인덱스만 사용한다.
B. ordered_at의 B-tree 인덱스를 후보로 삼고 실행 계획으로 확인한다.
C. 선택도와 무관하게 모든 열에 bitmap 인덱스를 만든다.
D. 인덱스는 쓰기 비용이 없으므로 가능한 만큼 만든다.
- A: 오답. 해시는 일반적인 범위 검색의 첫 선택이 아니다. AP5 탐색 구조 복습
- B: 정답. B-tree의 정렬 특성과 범위 조건이 맞지만 실측 확인이 필요하다.
- C: 오답. bitmap은 낮은 카디널리티·읽기 위주 등 조건을 본다. AP13 DB 설계 복습
- D: 오답. 쓰기·저장 비용이 있다. AP15 트랜잭션 복습
Q2 — 성능 계산과 측정
본문의 100회 단순 모델에 대한 설명으로 옳은 것은?
A. 인덱스 전 합계는 80,400이다.
B. 인덱스 후 평균은 42이다.
C. 합계는 80,040에서 420으로 줄지만 실제 시스템은 계획·지연·부하를 측정해야 한다.
D. 삽입 비용도 2에서 1로 줄었다.
- A: 오답.
80×1000 + 20×2 = 80,040이다. AP1 수 표현·계산 복습 - B: 오답.
420÷100=4.2다. AP3 통계·평균 복습 - C: 정답. 단순 계산과 실제 측정을 구분한다.
- D: 오답. 가정상 삽입 비용은 5로 증가했다. AP7 성능 계산 복습
Q3 — 접근 제어
보고 계정의 업무는 주문 조회뿐이다. 최소 권한에 가장 맞는 것은?
A. orders의 SELECT만 GRANT하고 불필요한 쓰기 권한은 주지 않거나 REVOKE한다.
B. SELECT를 주면 DELETE도 자동으로 필요한 것으로 본다.
C. 편의를 위해 관리자 권한을 공유한다.
D. 역할 변경 뒤에도 권한을 영구 보존한다.
- A: 정답. 읽기와 쓰기 권한을 분리하고 회수한다.
- B: 오답. SELECT와 DELETE는 별도 권한이다. AP14 SQL 복습
- C: 오답. 최소 권한과 책임 추적을 해친다. AP20 인가·접근제어 복습
- D: 오답. 정기 검토와 역할 변경 시 회수가 필요하다. AP26 감사·내부통제 복습
Q4 — 기술·관리 통합
새 인덱스를 운영계에 반영하는 접근으로 가장 적절한 것은?
A. 평균 응답만 한 번 보고 즉시 전사 적용한다.
B. 읽기가 빨라졌으니 쓰기 회귀는 시험하지 않는다.
C. DBMS가 달라도 동일한 계획을 가정한다.
D. 대표 부하의 계획·꼬리 지연·처리량·쓰기 영향을 시험하고 변경 승인·롤백·모니터링을 준비한다.
- A: 오답. 대표 부하와 꼬리 지연도 필요하다. AP4 대기행렬·처리량 복습
- B: 오답. 인덱스 유지가 쓰기에 영향을 줄 수 있다. AP23 테스트·품질 복습
- C: 오답. 구현과 옵티마이저가 다르다. AP10 분산·클라우드 복습
- D: 정답. 기술 검증과 변경 관리를 함께 묶는다.
Q5 — 전략 통합
읽기 SLA가 중요하지만 쓰기 급증 시간도 있는 서비스의 의사결정으로 가장 적절한 것은?
A. 인덱스 개수를 KPI로 삼아 최대화한다.
B. SLA·사업 KPI·위험 허용도를 정하고 읽기 이득과 쓰기·저장·보안 비용을 측정해 선택한다.
C. covering 인덱스면 권한 검토가 필요 없다.
D. 빠른 쿼리 하나만 확인하면 투자 판단이 끝난다.
- A: 오답. 개수 자체는 사업 성과가 아니다. AP28 KPI·기술전략 복습
- B: 정답. 측정 가능한 기술 결과를 관리·전략 목표에 연결한다.
- C: 오답. 성능 구조와 접근 권한은 다른 통제다. AP21 계층형 방어 복습
- D: 오답. 비용과 위험을 포함한 투자 평가가 필요하다. AP29 투자 평가 복습
정답: 2, 3, 1, 4, 2
7. 셀프 체크와 공식 출처
-
B-tree/hash/bitmap/covering의 적합 조건과 한계를 말할 수 있다.
-
80,040, 800.4, 420, 4.2를 직접 재계산할 수 있다.
-
계획·지연·처리량·부하 측정이 필요한 이유를 설명할 수 있다.
-
SELECT와 세 쓰기 권한, GRANT/REVOKE, 최소 권한을 구분한다.
-
기술·관리·전략 결정을 한 문장으로 연결할 수 있다.
-
IPA AP Syllabus Ver.7.2 — DB 성능 향상·접근 제어, PDF pp.44–45 (printed pp.40–41)
-
PostgreSQL 인덱스, GRANT, REVOKE — 보충 제품 문서이며 구현은 달라질 수 있다.
이것으로 AP1–32 핵심 학습 지도를 닫는다. 시리즈 전체는 여기서 끝나지 않는다. 다음 회차는 AP33 컴파일러와 언어 처리이며, 고정된 마무리 계획 AP33–38(AP33–36 보충, AP37–38 종합 진단)을 거쳐 AP38에서 끝난다.