LionSQL의 테스트, 데이터 시딩, 자동화 검증을 위한 보조 스크립트 도구 모음입니다.
notes/TEST_VERIFICATION_REPORT.ko.md에 기술된 13대 핵심 아키텍처 및 무결성 도메인을 단일 스크립트로 신속하게 일괄 검증하는 확장 스모크 테스트 도구입니다.
bin/ 디렉터리에 핵심 바이너리가 컴파일되어 있어야 합니다:
go build -tags wiredtiger -buildvcs=false -o bin/lionsql ./cmd/lionsql
go build -tags wiredtiger -buildvcs=false -o bin/tpcc-runtime ./cmd/tpcc_runtime# 1. 기본 실행 (In-Memory OCC 초고속 검증, 약 3초 소요)
./scripts/verify_report.sh
# 2. WiredTiger 영속 B+Tree 엔진 기반 전체 검증
./scripts/verify_report.sh --engine=wiredtiger
# 3. 상세 디버깅 로깅 모드
./scripts/verify_report.sh -v
# 4. 도움말 확인
./scripts/verify_report.sh --help| Phase | 검증 도메인 | 주요 점검 내용 |
|---|---|---|
| Phase 1 | TDS 7.3 핸드셰이크 & 라이프사이클 | DDL/DML, T-SQL 저장 프로시저 컴파일/실행, 원자적 롤백 |
| Phase 2 | 복합 엔터프라이즈 T-SQL 쿼리 | 3-Way JOIN, 윈도우 함수(ROW_NUMBER), CTE, OFFSET...FETCH 페이징 |
| Phase 3 | 고동시성 TPC-C VDBE 스트레스 | 4개 워커 고동시성 New-Order/Payment 트랜잭션 1초 연속 부하 (13,000+ TPS) |
| Phase 4 | TDS 프로토콜 극한 경계 | 25KB 초과 PLP 대용량 청크 스트리밍 및 SHA-256 무손실 일치 |
| Phase 5 | 이종 프로토콜 트라이브릿지 | PGWire, TDS, HTTP REST 인터페이스 간의 실시간 스토리지 카탈로그 일치 |
| Phase 6 | ACID 크래시 복구성 | kill -9 (SIGKILL) 돌발 사살 후 콜드 재기동 시 50건 100% 무손실 복구 |
| Phase 7 | Always On HA 복제 및 페일오버 | 복제 카탈로그 일치 및 Replica 노드 읽기 전용 가드레일 |
| Phase 8 | 디커플드 HTAP 분석 파이프라인 | CDC 트랜잭션 이벤트 스트림 기반 벡터 집계 쿼리 |
| Phase 9 | CBO 비용 모델 및 커버링 인덱스 | EXPLAIN 기반 Index-Only Scan 선택 및 테이블 힙 조회 0건 입증 |
| Phase 10 | 반정형 JSON B-Tree 인덱스 | ((doc->>'city')) 함수형 인덱스 탐색 및 쿼리 플랜 가속 매칭 |
| Phase 11 | 세분화된 SQL RBAC 보안 거버넌스 | SETUSER Default Deny 원칙 및 비인가 테이블 접근 100% 차단 |
| Phase 12 | 선언적 스키마 마이그레이션 CLI | lionsql migrate new -> status (Pending) -> up (Applied) -> down (Pending) |
| Phase 13 | 롤링 테이블 파티셔닝 | toYYYYMM 자동 파티셔닝, EXPLAIN 파티션 프루닝, DROP PARTITION O(1) 파기 |
LionSQL 초기 기동 후 실습용 전자상거래/ERP 예제 데이터베이스(고객, 상품, 주문, 재고, 계좌 등)를 적재하기 위한 SQL 시드 스크립트입니다:
./bin/lionsql sql "source scripts/demo_seed.sql;"
# 또는 서버 기동 시 -seed 플래그 사용:
./bin/lionsql serve -seed버전 SSOT 동기화, 커밋 로그 수집, Keep a Changelog 분류, 크로스 컴파일(Unix 및 Windows .exe), Git Tag 생성 및 GitHub 원격 푸시를 한 번에 원자적으로 수행하는 릴리스 도구입니다.
상세한 아키텍처 및 동작 원리는 **doc/RELEASE_AUTOMATION_GUIDE.ko.md**를 참조하십시오.
# 1. 릴리스 미리보기 (Dry-Run)
./scripts/release.sh v0.90.0-beta4 --dry-run
# 2. 정식 릴리스 수행 (빌드 -> CHANGELOG/버전 갱신 -> 커밋 -> 태깅 -> GitHub 푸시)
./scripts/release.sh v0.90.0-beta4