PE Notes · DB
DBMS 전환과 HA
상용에서 오픈소스 DBMS로 옮길 때 SQL 방언과 이중화를 가르고, Patroni 스트리밍 복제와 Galera 다중 마스터를 RAC와 같은 비교표에 올립니다.
라이선스와 이 커지면 엔진을 바꿉니다. 은 스키마·데이터뿐 아니라 방언, 프로시저, 운영 습관을 옮기는 일입니다. 오픈소스가 싸다고 끝이 아니고, 상용 RAC가 주던 가용성을 다시 설계해야 합니다.
무엇을 고르고 어떤 순서로
PostgreSQL은 SQL·JSON·트랜잭션이 두껍고, MySQL/MariaDB는 웹 쓰기, 국내 호환 엔진은 방언 잔여가 적은 공공 대체에 쓰입니다. 순서는 인벤토리와 방언 차이, 대상 선정과 설계, 비핵심 파일럿, 정합 검증 이관, 이중 운영 절체입니다.
| 비교축 | 상용 | 오픈소스 |
|---|---|---|
| 라이선스 | 코어당 고가 | 엔진 무료, 지원은 별도 |
| 기능 | RAC, 고급 파티션 | 따라잡는 중, 공백 있음 |
| 지원 | 벤더 | 커뮤니티 + 파트너 |
| 종속 | 독점 SQL·도구 | 표준 SQL에 가깝다 |
| 인력 | 국내 DBA 다수 | 오픈소스 운영 경험 |
ROWNUM은 LIMIT로, CONNECT BY는 재귀 CTE로 바뀝니다. 체크섬과 건수 비교가 이관의 합격선입니다.
이중화를 다시 짜기
PostgreSQL은 WAL 에 가 장애 시 승격을 맡기고, 프록시가 읽기를 스탠바이로 나눕니다. MariaDB 는 동기 다중 마스터로 모든 노드에 쓰기를 엽니다.
| 비교축 | Oracle RAC | Patroni | Galera |
|---|---|---|---|
| 구성 | 공유 스토리지 다중 인스턴스 | Primary-Standby + 자동 승격 | 동기 다중 마스터 |
| Failover | 초 단위 | 십수 초 | 거의 즉시 |
| 쓰기 확장 | 여러 노드 | Primary만 | 모든 노드 |
| 비용 | 매우 고가 | 무료 | 무료 |
| 주의 | 복잡도 | 스플릿 브레인 방지 | 지연에 민감 |
분산 DB 토픽의 복제와 맞닿습니다. 회복 기법은 장애 후 로그 적용의 자리입니다.
막히는 지점
방언, 플랜 차이, 파티션, 타입 매핑, 모니터링 공백이 일정을 밉니다. 이관은 일괄보다 증분 동기 후 짧은 절체가 가동을 지킵니다.
| 이슈 | 대응 |
|---|---|
| 방언·PL | 변환 도구 + 수동 리뷰 |
| 성능 | 인덱스·SQL 재작성 |
| 정합 | 체크섬, 건수, 샘플 조회 |
| 운영 | 런북, 알람, DBA 교육 |
라이선스 절감만 쓰면 약한 답입니다. 방언과 HA를 한 쌍으로 닫습니다.
기술사 답안 포인트
관련 용어
관련 토픽
DB
NoSQL, CAP, BASE, PACELC
분산에서 C·A·P를 동시에 못 지키는 CAP, 분단 없을 때의 지연 트레이드오프 PACELC, AP 쪽 BASE와 네 데이터 모델, ACID를 지키는 NewSQL을 한 줄로 잇습니다.
DB
분산 데이터베이스 — 투명성과 분할
여러 사이트에 두고도 하나로 보이게 하는 다섯 투명성, 수평·수직·혼합 분할과 복제, 2PC 분산 커밋을 정리합니다.
DB
데이터 무결성 회복기법
트랜잭션·시스템·미디어 장애와 WAL, UNDO/REDO, 체크포인트, 그림자 페이징, 즉시·지연 갱신, RPO/RTO 백업을 정리합니다.