본 리포트는 nestpay 데이터베이스 설계(schema.dbml)를 실제 MariaDB 11.4 인스턴스에 적재하고, 기능별 표준 SQL(queries.sql)의 조회 계획을 EXPLAIN으로 검증하며, 원장 무결성 방어 장치의 실동작과 100만 건+ 규모의 성능을 실측한 결과입니다. 모든 수치는 실제 실행 결과이며 추정치가 아닙니다.
| 단계 | 내용 | 판정 기준 |
|---|---|---|
| 1. 스키마 적재 | schema.dbml → DDL → V2(MariaDB 기능) → 방어 루틴 순차 적용 | 오류 없이 전 객체 생성 |
| 2. 조회 계획(EXPLAIN) | 기능별 대표 쿼리 52종을 실 데이터에서 EXPLAIN | 대형 테이블은 인덱스 사용(const·ref·range), 풀스캔 0 |
| 3. 무결성 방어 | 원장 변조·삭제·규칙 위반 시도 12종 | DB가 실제로 거부(오류) / 허용 규약은 통과 |
| 4. 성능 실측 | 거래 200만·원장 400만 등 1,051만 행 적재 후 핵심 쿼리 실행 시간 측정 | 조회 쿼리 수 ms 이내 |
| 기능 | 적용 | 목적 |
|---|
각 기능별 대표 쿼리가 의도한 인덱스를 사용하는지 실 데이터에서 확인합니다. const/ref는 인덱스 정확 조회, range는 인덱스 범위 스캔으로 모두 정상입니다. ALL(풀스캔)은 0건입니다.
| ID | 기능 | 테이블 | 조회 방식 | 사용 인덱스 | 판정 |
|---|
테이블별 인덱스 구성입니다. UQ는 유일 제약(무결성·멱등 보장), 나머지는 조회 성능용 보조 인덱스입니다. 모든 인덱스는 queries.sql의 실제 조회 경로에서 사용됩니다.
개발이 사용할 표준 SQL 전량입니다. 이 카탈로그가 구현 기준이며, 모든 데이터 접근은 여기 정의된 SQL을 따릅니다.
각 SQL의 사용 인덱스는 주석으로 표기되어 있어 구현 시 이탈하면 코드 리뷰에서 확인됩니다. [TX]는 단일 트랜잭션 필수 블록입니다.
"누락 절대 금지 · 전 증거 보존" 원칙이 실제로 DB 레벨에서 강제되는지 확인합니다. 변조·삭제 시도는 실제로 거부되어야 하고(차단), 규약상 허용 동작은 통과해야 합니다.
| ID | 시도 | 기대 | 실제 결과 | 판정 |
|---|
| 테이블 | 행 수 | 크기 |
|---|