피드로 돌아가기
Visualizing Database Design: From Interactive Canvas to Drizzle, Prisma, and SQL in Real-time
Dev.toDev.to
Frontend

Serverless 기반 Client-side Compilation을 통한 비용 제로의 DB 스키마 시각화 도구 구현

Visualizing Database Design: From Interactive Canvas to Drizzle, Prisma, and SQL in Real-time

Ishaan2026년 5월 23일2intermediate

Context

관계형 데이터베이스 설계 시 ERD 작성과 ORM 코드 생성 사이의 반복적인 수동 작업으로 인한 생산성 저하 발생. 기존 도구들의 서버 의존적 구조로 인해 유지 비용 발생 및 초기 진입 장벽이 존재하는 한계점 존재.

Technical Solution

  • 서버 비용 제로화를 위한 React 및 Vite 기반의 100% Client-side SPA 아키텍처 설계
  • 브라우저 내 JavaScript 엔진을 통한 Visual Node의 SQL 및 TypeScript 실시간 Compilation 로직 구현
  • 서버 DB 저장소를 대체하기 위해 LZ-Compression 기반의 URL Hash 데이터 저장 및 공유 메커니즘 채택
  • 데이터 휘발 방지를 위한 Local Storage 기반의 상태 Persistence 전략 적용
  • UX 개선을 위해 노드 외곽 5px 지점에 Target Handle을 배치하여 클릭 충돌을 방지한 인터랙션 설계
  • 정렬 효율성 확보를 위한 알파벳 기준 Grid Auto-Layout 알고리즘 도입

- 단순 설정 저장 및 공유 기능 구현 시 DB 도입 전 URL Hash 기반의 상태 압축 전송 방식 검토 - 연산 부하가 낮은 변환 로직의 경우 Client-side Compilation을 통해 서버 리소스 비용 절감 시도 - 복잡한 노드 기반 UI 설계 시 클릭 충돌 방지를 위한 Handle 외부 배치 및 시각적 피드백 적용

원문 읽기