정지용
프로젝트 목록
데이터

NFT 마켓플레이스 운영 분석 SQL 패턴집

materialized view 갱신, wei 단위 거래량 집계, soft hide 등 NFT 마켓 운영 SQL 패턴과 함정을 정리한 문서

nft-marketplace-analytics-queries-docs최근 업데이트 2026년 5월 13일

개요

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일 에 자동 분석으로 생성되었습니다.