logo
GeekFormat

JSON SQL 변환

백엔드 엔지니어, 데이터 아키텍트, DBA를 위해 개발된 별도의 로그인이 필요 없는 산업용 온라인 JSON SQL 변환 플랫폼. MySQL, PostgreSQL(JSONB 포함), SQLite, SQL Server 방언을 완벽히 지원합니다. 내장된 글로벌 타입 추론 엔진을 통해 대용량 JSON 객체 배열을 수 밀리초 만에 고처리량 벌크 INSERT 스크립트와 최적화된 CREATE TABLE 구조로 역컴파일합니다. 중첩 구조 평탄화(Flatten)와 JSONB 직렬화 옵션을 자유롭게 제어할 수 있어, API 응답의 고속 입고, 테스트 환경 구축, 로그 분석의 효율을 극대화하는 개발자 필수 유틸리티입니다.

관련 추천

사용 사례

  • 웹훅, API 응답 메시지 또는 ELK 게이트웨이 로그 등에서 수집한 비구조화 JSON 데이터를 관계형 데이터베이스에 대량 임포트하기 위한 정제 및 클렌징 작업.
  • 애자일 개발 주기 동안 프론트엔드 팀에서 제공한 Mock JSON 계약 문서를 기반으로 데이터베이스 설계 규격에 준수하는 DDL 테이블 정의 스키마를 역공학으로 자동 생성.
  • QA 자동화 성능 테스트 및 부하 검증 환경을 위해 수만 행의 임의 레코드를 포함한 대량 다중 행 SQL INSERT 데이터 삽입 스크립트 고속 빌드.
  • 다층 계층 구조를 가진 복잡한 비즈니스 객체 데이터를 재귀적 평탄화(Flattening) 매커니즘을 적용하여 SQL 쿼리가 용이한 플랫 2차원 테이블 형태로 변환.

주요 기능

  • 대량 다중 행 삽입(Bulk Insert) 최적화: 수천 개의 레코드를 단일 Extended INSERT 문으로 통합하여 트랜잭션 오버헤드를 줄이고 데이터베이스 쓰기 효율을 20배 이상 높입니다.
  • 글로벌 세로 방향 타입 추론: 전체 JSON 페이로드를 포괄적으로 분석하여 TINYINT, BIGINT, VARCHAR(N), TEXT, TIMESTAMP 등의 최적 데이터 타입으로 정밀 매핑합니다.
  • 자동화된 CREATE TABLE DDL 생성: 기본 키(Primary Key) 설정 및 엄격한 NULL / NOT NULL 제약 조건 검출을 포함한 완벽한 테이블 구조 스키마를 빌드합니다.
  • 고급 계층 구조 평탄화(Flatten): 복잡한 중첩 구조를 언더스코어 연결 컬럼으로 해체하는 방식과 이진 JSONB 스키마용 문자열 직렬화 방식을 모두 지원합니다.
  • 서버리스 클라이언트 사이드 샌드박스: 모든 계산이 로컬 브라우저 내에서 완벽하게 격리되어 수행되므로, 외부 클라우드 유출 위험 없이 기업 전사 보안 감사 표준을 충족합니다.

이용 방법

  1. 해석할 원본 JSON 배열을 좌측 에디터에 붙여넣거나, 로컬의 `.json` 파일를 패널 내부로 드래그 앤 드롭하여 로컬 메모리에 로드합니다.
  2. 설정 패널에서 대상 데이터베이스 방언(MySQL/PostgreSQL/SQLite/SQL Server)을 선택하고, 건표 DDL 생성 여부 및 중첩 평탄화 옵션을 지정합니다.
  3. 우측 출력 패널에서 실시간으로 역컴파일된 표준적이고 효율적인 `CREATE TABLE` 및 대량 벌크 `INSERT INTO` 실행 스크립트를 즉시 확인합니다.
  4. 'SQL 복사' 버튼을 클릭하거나 '.sql' 파일로 내보내어 DBeaver, Navicat, DataGrip 또는 CLI 터미널에서 그대로 실행하여 임포트를 완료합니다.

자주 묻는 질문

이 온라인 툴은 MySQL, PostgreSQL, SQLite, SQL Server 간의 엄격한 구문 및 이스케이프 규칙 차이를 어떻게 처리하나요?

본 툴에는 전용 SQL 방언 컴파일러(SQL Dialect Compiler)가 내장되어 있어 각 RDBMS 하위 사양의 차이를 자동으로 파악합니다. MySQL용 백쿼트(`) 삽입 및 불리언 값의 1/0 매핑, SQL Server용 대괄호([]), PostgreSQL 고유의 싱글 쿼트 이스케이프 및 타임존 감지형 타임스탬프(TIMESTAMPTZ), `JSONB` 타입 매핑을 정확하게 수행합니다. 또한 문자열 내 특수 문자(싱글 쿼트 '를 ''로 변환 등)를 엄격하게 이스케이프하여 구문 오류를 방지합니다.

내장된 지능형 타입 추론 엔진(Type Inference Engine)은 어떻게 전체 JSON 데이터를 스캔하여 최적의 CREATE TABLE DDL을 결정하나요?

첫 번째 레코드만 검사하는 간단한 변환기와 달리, GeekFormat은 투입된 JSON 배열 전체를 세로 방향으로 전수 스캔하는 알고리즘을 사용합니다. 모든 요소의 키-값 쌍을 검증하여 정수(INT/BIGINT), 고정 소수점(DECIMAL), 불리언 또는 ISO 8601 날짜 문자열을 식별합니다. 문자열의 경우 전체 레코드 중 최대 길이를 계산하여 안전한 버퍼를 둔 최적의 `VARCHAR(N)` 또는 `TEXT` 타입을 할당하며, NULL/NOT NULL 제약 조건도 자동 검출하여 완성도 높은 DDL을 출력합니다.

깊게 중첩된 JSON 객체나 복잡한 다차원 배열은 어떻게 관계형 데이터베이스 열로 평탄화되나요?

계층 구조를 가진 복잡한 데이터 처리를 위해 두 가지 강력한 전략을 제공합니다. 1. **재귀적 평탄화(Recursive Flattening)**: 중첩된 경로를 언더스코어(_)로 연결하여 2차원의 플랫한 컬럼명으로 전개합니다(예: `{"meta": {"user_id": 1}}`은 `meta_user_id` 컬럼으로 변환). 2. **JSON 직렬화(Serialization)**: 하위 객체나 배열 구조를 유지한 채 표준 JSON 문자열로 압축하여 데이터베이스의 `JSON` 열이나 PostgreSQL의 바이너리 최적화된 `JSONB` 컬럼에 직접 저장할 수 있도록 변환합니다.

수만 건의 대규모 JSON 데이터를 변환할 때 브라우저 처리 성능이나 보안상의 리스크가 있습니까?

성능 측면에서는 레코드를 한 건씩 개별 생성하는 대신, 멀티 밸류 지원 다중 행 삽입(Bulk/Extended Insert) 구문인 `INSERT INTO table VALUES (...), (...);` 형태로 병합 출력하여 데이터베이스 쓰기 처리량을 최대 20배 향수시킵니다. 보안 측면에서 GeekFormat은 철저한 제로 트러스트 아키텍처(Zero-Trust Architecture)를 따르며, 100% 브라우저의 로컬 샌드박스 메모리 내(클라이언트 사이드)에서만 처리가 이루어집니다. 어떠한 기밀 데이터나 로그도 외부 서버로 전송되지 않습니다.