NFT 마켓플레이스 운영 분석 SQL 패턴집
materialized view 갱신, wei 단위 거래량 집계, soft hide 등 NFT 마켓 운영 SQL 패턴과 함정을 정리한 문서
개요
NFT 마켓플레이스 백엔드의 분석/리포팅 단계에서 반복적으로 쓰이는 PostgreSQL 쿼리 패턴을 정리한 문서 레포지토리입니다. materialized view 갱신(CONCURRENTLY), 월별/누적 거래량 집계, wei 단위 금액 환산, 토큰 soft hide 등 실제 운영 쿼리에서 도출된 데이터 모델과 설계 결정을 관찰자 시점으로 기록했습니다. project/sub_project 두 단계 materialized view의 갱신 순서 의존성, v2/v3 동시 운영에 따른 일관성 문제, 정수 나눗셈으로 인한 wei 환산 오류 등 실무에서 흔히 겪는 함정을 별도 문서로 정리했습니다. 코드 자체보다는 쿼리에서 역추론한 아키텍처와 운영 노하우를 공유하는 데 초점을 맞춘 문서 전용 레포입니다.
담당 역할
NFT 마켓플레이스 운영 쿼리를 관찰하고, 쿼리에서 데이터 모델과 갱신 흐름을 역추론하여 아키텍처/함정/스택 문서로 정리했습니다.
아키텍처 다이어그램
레포지토리 분석 결과를 바탕으로 자동 생성된 구조도입니다.
운영 쿼리 흐름
스케줄러에 의한 materialized view 갱신과 운영자의 on-demand 분석 쿼리 실행 흐름을 보여줍니다.
데이터 모델 추정
쿼리에서 역추론한 project, token, trade 간의 관계를 나타냅니다.
기술스택
각 기술을 이 프로젝트에서 어떤 용도로 썼는지 정리했습니다.
데이터베이스
- PostgreSQL거래 이력, materialized view 등 분석 쿼리의 대상 DB
- Materialized Viewproject/sub_project 레벨 집계 데이터를 CONCURRENTLY 옵션으로 갱신
핵심 포인트
- 거래 금액을 wei(1e18) 정수로 저장하고 쿼리 시점에 numeric 캐스팅 후 환산하는 패턴 정리
- project/sub_project, v2/v3 materialized view의 갱신 순서 의존성과 일관성 문제 분석
- CONCURRENTLY refresh의 UNIQUE index 필수 조건과 실제 I/O·메모리 비용을 문서화
- token.valid 플래그를 이용한 soft hide 패턴과 audit trail 부재의 리스크 정리
- PostgreSQL materialized view의 한계와 ClickHouse 등 OLAP 대안으로의 진화 경로 제시
문제와 해결
문제정수 나눗셈으로 wei를 그대로 나누면 1 ETH 미만 거래가 0으로 집계됨
해결result::numeric / 10^18 처럼 명시적 캐스팅을 거쳐 부동소수 환산을 강제
문제v2/v3 materialized view를 동시 운영하면서 갱신 시점 사이에 두 view의 상태가 달라 외부 cross-check 시 race condition 발생
해결동일 transaction 또는 lock으로 갱신을 묶거나 외부 cross-check 자체를 제거하도록 권장
문제soft hide된 토큰이 read 쿼리에서 valid=TRUE 조건 누락 시 그대로 노출될 위험
해결모든 read를 강제하는 view 또는 RLS(Row Level Security) 도입을 권장 패턴으로 제시
레포지토리 정보
- 생성
- 2026년 5월 13일
- 최근 커밋
- 2026년 5월 13일
- 크기
- 5 KB
- 라이선스
- 없음
이 문서는 2026년 7월 26일 에 자동 분석으로 생성되었습니다.