← 블로그로 돌아가기

SQLVantage 보고서 시스템: 데이터 보고서 설계와 전달을 간단하고 효율적으로

经验分享 632 회 읽음

이 글은 순수 웹 아키텍처 기반의 경량 보고서 시스템인 SQLVantage를 소개합니다. SQL 쿼리, 매개변수 폼, 결과 표시를 하나의 인터페이스에서 통합 관리하며, 압축 해제 후 즉시 사용 가능한 배포, 상태 기반 보고서 관리, Excel 내보내기용 열 메타데이터 설정, 매개변수 연동, 권한 격리 등의 핵심 기능을 다룹니다. Oracle EBS 환경에서 보고서를 통합 관리하려는 팀에 유용한 참고 자료입니다.

SQLVantage 보고서 시스템: 데이터 보고서 설계와 전달을 간단하고 효율적으로

즉시 사용 가능한 웹 보고서 도구로, 데이터 쿼리, 매개변수 폼, 결과 표시의 전체 과정을 간편하게 처리할 수 있습니다.

독립적인 보고서 시스템이 필요한 이유는?

기업의 일상적인 운영에서 데이터 보고서는 필수적인 요소입니다. 재무 대사, 매출 분석, 운영 모니터링 등 거의 모든 부서가 다양한 형태의 보고서 출력에 의존합니다.

하지만 실제 도입 과정에서 다음과 같은 문제를 자주 겪게 됩니다:

  • 데이터 분산: 보고서 SQL이 이메일, 채팅 기록, 스크립트 파일에 흩어져 있어 통합 관리와 재사용이 어렵습니다;
  • 매개변수 전달의 번거로움: 매 쿼리마다 SQL을 수동으로 조합하거나 코드를 수정해야 하여 오류가 발생하기 쉽습니다;
  • 내보내기 형식 불일치: Excel, PDF, HTML이 각각 따로 동작하여 스타일 유지보수가 어렵습니다;
  • 권한 제어 미흡: 누가 어떤 데이터를 조회했는지, 조작 기록이 불분명합니다;
  • 중복 개발: 유사한 요구사항의 보고서를 매 프로젝트마다 프론트엔드와 백엔드 코드를 새로 작성해야 합니다.

따라서 보고서 정의를 통합 관리하고, 매개변수화된 쿼리를 지원하며, 다양한 형식의 결과를 자동 생성하고, 권한 격리 기능을 갖춘 경량 보고서 시스템이 매우 필요해집니다.

최근 SQLVantage라는 보고서 시스템(버전 v1.0.2, 2026-07-15 출시)을 접하게 되었는데, 이 시스템이 위의 문제점들을 정확히 해결해 줍니다. 설계 철학이 매우 명확합니다: 표준화된 프로세스를 통해 「SQL 쿼리, 매개변수 폼, 결과 표시」 세 가지 작업을 연결하여 보고서의 전체 라이프사이클을 추적 가능하게 만듭니다.

이 글에서는 공식 문서를 바탕으로 핵심 설계와 사용 방법을 정리하여, 여러분의 팀에 적합한지 빠르게 파악할 수 있도록 돕겠습니다.

1. SQLVantage란 무엇인가?

SQLVantage는 순수 웹 아키텍처 기반의 보고서 시스템입니다. 핵심 특징은 다음과 같습니다:

  • 브라우저 측에 플러그인 설치가 필요 없으며, 현대 브라우저로 바로 접속할 수 있습니다;
  • 서버 측에는 실행 파일 하나와 설정 디렉터리만 있으면 되며, Java, Python, Node.js 등의 추가 런타임 환경 설치가 불필요합니다;
  • Windows와 Linux 듀얼 플랫폼 배포를 지원합니다;
  • 기본적으로 Oracle 데이터베이스에 연결되며(특히 Oracle EBS 환경에 적합), 다른 데이터베이스로의 확장 가능성도 갖추고 있습니다.

핵심 개념 요약

개념 설명
보고서 하나의 보고서 = SQL 쿼리 + 매개변수 폼 (FORM) + 결과 표시 (HTML) + 세 개의 형식 JSON 설정, 특정 「책임」에 속함
책임 보고서 분류 디렉터리, Oracle EBS의 책임 개념에 대응하며, 모듈별로 그룹화하여 사용자에게 표시
매개변수 쿼리 조건(날짜, 고객, 조직 등), 사용자 제출 후 명명된 매개변수로 SQL 실행에 바인딩
요청 사용자의 구체적인 보고서 실행 작업, 시스템이 비동기적으로 실행하고 결과 파일 생성
권한 부여 License 파일, 보고서 수량 상한과 사용 기한을 제어

사용자 역할

시스템은 두 가지 역할로 나뉘며, 진입점과 권한이 완전히 분리되어 있습니다:

  • 관리자 (/admin/login): 사용자, 책임, 보고서, 권한 부여, 시스템 설정을 관리하며, 모든 사용자의 요청을 조회할 수 있습니다;
  • 일반 사용자 (/login): 보고서 선택, 매개변수 입력, 요청 제출, 본인 요청 조회, 결과 다운로드, 비밀번호 변경.

2. 설치 및 배포: 정말 「압축 해제 후 바로 사용」 가능

SQLVantage의 배포 방식은 매우 「실용적」입니다.

Windows

배포 패키지를 임의의 디렉터리(예: D:\SQLVantage)에 압축 해제한 후, SQLVantage.exe를 더블클릭하면 시작됩니다. 기본적으로 127.0.0.1:8080을 수신하며, 브라우저에서 열면 바로 접속할 수 있습니다.

Linux

/opt/sqlvantage에 압축 해제 후, 실행 권한을 부여한 다음 nohup 또는 systemd로 백그라운드 실행하면 됩니다. 마찬가지로 기본 포트는 8080입니다.

최초 실행 자동 초기화

최초 실행 시 시스템은 다음 작업을 자동으로 수행하여, 운영 담당자에게 매우 친화적입니다:

  1. conf/data.dat의 존재 여부 확인 (패키지에 포함된 비즈니스 데이터베이스);
  2. user, responsibility, report, request 네 개의 테이블 자동 생성;
  3. 관리자 계정 root 자동 생성, 초기 비밀번호 SQLVantage (로그인 후 반드시 변경);
  4. 권한 부여 파일이 없을 경우 경고를 출력하지만, 시스템은 계속 실행 가능 (보고서 수량 제한만 적용).

이러한 설계 덕분에 「제로부터 시험 사용」하는 비용이 최소화됩니다.

3. 관리자 관점: 보고서의 전체 라이프사이클 관리

3.1 사용자 및 책임 관리

관리자는 일반 사용자(normal 역할)를 생성할 수 있으며, 상태를 active 또는 inactive로 설정할 수 있습니다 (퇴사 시 비활성화, 계정 삭제 불필요).

책임 관리는 Oracle EBS의 책임 개념에 대응하며, 수동으로도 생성할 수 있습니다. 보고서는 반드시 특정 책임 하에 등록되어야 하며, 일반 사용자 화면에서 보고서 메뉴가 책임별로 자동 그룹화되어 표시되어 사용 경험이 깔끔합니다.

3.2 보고서 관리: 상태 기반

보고서에는 세 가지 상태가 있습니다:

  • Draft (초안): 설계 단계, 사용자에게 보이지 않음;
  • Release (게시됨): 사용자에게 보이며 실행 가능;
  • Discard (폐기): 사용자에게 보이지 않지만 기록은 보존.

게시된 보고서는 직접 삭제할 수 없으며, 먼저 초안 또는 폐기 상태로 변경해야 합니다 — 이 설계는 프로덕션 보고서의 실수 삭제를 효과적으로 방지합니다.

목록 페이지에서는 「셀 더블클릭으로 직접 편집」 기능으로 이름, 설명, 상태를 수정할 수 있어, 작은 디테일이 조작 효율을 높입니다.

3.3 권한 부여 관리 (License)

권한 부여 파일 conf/license.dat은 보고서 수량 상한과 유효 기간을 제어합니다. 미권한 또는 만료 시, 시스템은 최대 3개의 보고서만 생성할 수 있으며, 초과 시 새 보고서 생성이나 요청 제출이 불가능합니다.

이 메커니즘은 상용 버전이나 내부 시험 사용 시나리오에 매우 유용합니다 — 전체 기능을 유지하면서도 합리적인 제한 임계값을 설정합니다.

4. 보고서 디자이너: 가장 핵심적인 하이라이트

SQLVantage에서 시간을 들여 알아볼 만한 기능이 하나 있다면, 그것은 단연 보고서 디자이너입니다.

보고서 개발 과정을 세 개의 독립적이면서도 연동되는 모듈로 분해하여, 하나의 인터페이스에서 통합적으로 완료합니다.

4.1 디자이너 레이아웃

보고서 목록에서 보고서 행의 「코드」 버튼(보라색)을 클릭하면, 화면의 약 98%를 차지하는 대형 디자이너가 팝업됩니다. 인터페이스는 다음으로 구성됩니다:

  • 상단: 모드 전환 드롭다운 (SQL / FORM / HTML) + 「전체 저장」 버튼;
  • 좌측: 코드 에디터 (모드에 따라 내용 전환);
  • 우측: 동적 설정 패널 (모드에 따라 다른 설정 표와 실시간 미리보기 표시).

이러한 「좌측 코드 + 우측 설정 + 실시간 미리보기」 레이아웃은 개발자에게 매우 직관적입니다.

4.2 SQL 모듈: 데이터 소스 정의

SQL 작성

Oracle 구문을 사용하며, 쿼리 조건은 명명된 매개변수 자리표시자 :매개변수명을 사용합니다:

SELECT company_name, ou_id, amount
  FROM fnd_ou_tl
 WHERE ou_id = :P_OU_ID

여기서 P_OU_ID는 FORM 모듈에서 정의된 매개변수명과 반드시 일치해야 합니다.

열 메타데이터 설정 — Excel 내보내기의 핵심

우측 패널에서 각 열의 다음 항목을 설정할 수 있습니다:

  • field: SQL 출력의 열 이름
  • title: 표시 헤더 (Excel 헤더이기도 함)
  • type: text / number / percent / date / month / time / datetime
  • precision: 소수 자릿수
  • format: Excel 사용자 정의 형식 (예: #,##0.00)
  • align: 정렬 방식

이 설정은 Excel 내보내기의 전문성을 직접적으로 결정합니다 — 헤더의 한글 표시, 숫자 우측 정렬, 천 단위 구분, 백분율 형식이 모두 여기서 한 번에 처리됩니다.

다시 말해, 여기서 열 메타데이터만 설정하면 Excel 내보내기의 품질은 더 이상 백엔드 추가 코드에 의존하지 않습니다.

4.3 FORM 모듈: 쿼리 매개변수 설계

이것은 보고서 상호작용의 진입점입니다. 우측 「매개변수 설정 표」의 각 행은 하나의 쿼리 매개변수를 정의합니다:

필드 설명
매개변수명 field SQL의 :매개변수명과 엄격히 일치해야 함
표시 라벨 label 폼 표시 텍스트
컴포넌트 유형 type text / number / select / radio / date / month / datetime / hidden / temp
정적 옵션 static_options 형식 키:값,키:값
동적 API / SQL {변수명} 자리표시자 지원, 매개변수 연동 구현

매개변수 연동 (종속 필터링)

이것은 FORM 모듈의 매우 실용적인 기능입니다: 하위 드롭다운이 상위 매개변수에 종속될 때 (예: 「조직 선택」 후에야 「부서 목록」이 로드됨), api_url 또는 query_sql에서 {P_OU_ID}와 같은 자리표시자를 참조할 수 있습니다.

사용자가 상위 값을 변경하면, 시스템이 자동으로 하위 옵션을 새로고침합니다 — 추가 JavaScript 코드 작성이 불필요합니다.

우측 패널 하단에는 실시간 미리보기 영역이 있어, 매개변수 설정 완료 후 실제 렌더링 결과를 확인할 수 있으며, 생성된 HTML 코드를 에디터에 「복사 및 적용」할 수 있습니다.

4.4 HTML 모듈: 결과 표시

보고서 실행 완료 후, 결과가 어떤 형태로 사용자에게 제공될까요? HTML 모듈이 이 정의를 담당합니다.

우측 「HTML 뷰 컴포넌트 설정」은 여러 표시 블록 정의를 지원하며, 각 블록은 다음을 포함합니다:

  • 컨테이너 ID
  • 제목
  • 그리드 너비 (1~12)
  • 컴포넌트 유형: table (표), chart (차트), card (지표 카드), custom (사용자 정의 컨테이너)
  • 차트 유형 (line / bar)
  • X/Y 축 필드 매핑

최종적으로, 사용자가 HTML 결과를 다운로드할 때, 시스템은 표, 차트, KPI 카드가 포함된 완전한 페이지를 동적으로 렌더링하며, 쿼리 매개변수도 결과 상단에 표시됩니다.

이 설계 계층은 보고서의 「표시 측」도 설정화 능력을 갖추게 하여, 각 보고서마다 별도의 프론트엔드 페이지를 작성할 필요가 없습니다.

4.5 게시 프로세스

전체 프로세스는 한 줄로 이어집니다:

  1. 새 보고서 생성 (상태를 Draft로 선택);
  2. 디자이너 진입, 순서대로 SQL → FORM → HTML 설정 완료;
  3. 「전체 저장」 클릭;
  4. 보고서 목록으로 돌아가 상태를 Release로 변경;
  5. 일반 사용자가 로그인 후 해당 책임 메뉴에서 보고서를 확인하고 실행할 수 있습니다.

5. 일반 사용자 관점: 보고서 선택 → 매개변수 입력 → 결과 대기

일반 사용자의 경로는 매우 간결합니다:

  1. 포털 홈페이지 로그인 (로컬 계정 로그인 또는 Oracle EBS ERP 인증 지원);
  2. 「새 보고서 요청」 클릭;
  3. 보고서 메뉴에서 책임별 그룹화된 목록을 탐색하거나, 이름으로 검색;
  4. 보고서 선택, 매개변수 폼 작성;
  5. 제출, 시스템이 비동기적으로 실행;
  6. 「내 요청」 목록에서 상태 확인, 완료 후 「출력」 드롭다운을 통해 Excel / HTML / JSON / TEXT 결과 다운로드.

요청 상태 전환

Queued (대기 중) → Processing (실행 중) → Success (성공)
                                      → Error (실패)
                                      → Terminated (시간 초과 종료)

시스템 백그라운드는 3초마다 대기 중인 작업을 폴링하며, 동시 실행 수는 조정 가능하고 기본값은 최대 3개 작업 동시 실행입니다. 시간 초과는 기본 30분이며 설정에서 조정할 수 있습니다.

6. 주목할 만한 설계 디테일

1. 보고서 = 세 개의 코드 + 세 개의 형식 JSON

SQL, FORM, HTML 각각에 「코드」와 「형식 JSON」 두 가지 데이터가 있어, 향후 버전 관리와 템플릿 재사용을 위한 확장 공간을 남겨둡니다.

2. Excel 내보내기는 열 메타데이터에 엄격히 의존

이것은 「먼저 내보내고 후처리하는」 방식이 아니라, 설계 단계에서 Excel의 스타일을 결정합니다. 즉, 보고서 설계자가 출력 품질을 완전히 제어할 수 있으며, 추가적인 후처리 스크립트에 의존할 필요가 없습니다.

3. 매개변수 연동에 JavaScript 작성 불필요

자리표시자 메커니즘으로 매개변수 종속성을 구현하여, 프론트엔드 개발 진입 장벽을 낮춥니다.

4. 요청 권한 격리

일반 사용자는 본인의 요청 기록만 조회할 수 있으며, 관리자는 전체를 조회할 수 있습니다. ERP 로그인 사용자가 제출할 때, 시스템은 OU/ORG 조직 권한을 추가로 검증하여 권한 외 접근을 방지합니다.

5. 데이터 저장 투명성

모든 비즈니스 데이터는 conf/data.dat에 저장되며, 결과 파일은 data/ 디렉터리에 생성됩니다. 마이그레이션 시 conf/와 data/ 디렉터리만 복사하면 되어 매우 명확합니다.

7. 적용 시나리오 및 주의사항

어떤 시나리오에 적합한가?

  • 기업 내부 데이터 보고서 통합 관리, 특히 이미 Oracle EBS를 사용하는 팀;
  • 보고서 요구사항을 빠르게 전달하고, 보고서의 정의, 실행, 결과를 기록으로 추적 가능하게 하고자 하는 경우;
  • 보고서 개발 비용을 절감하고, SQL을 이해하는 비즈니스 담당자나 DBA도 독립적으로 보고서 설정을 완료할 수 있게 하고자 하는 경우.

주의해야 할 사항

  • 현재 버전은 기본적으로 Oracle 데이터베이스에 맞춰져 있으며, 다른 데이터베이스(MySQL, PostgreSQL 등)를 사용하려면 자체 적응 작업이 필요합니다;
  • 권한 부여가 없을 경우 보고서 수량이 3개로 제한되며, 정식 사용 시에는 합법적인 권한 부여 파일을 가져와야 합니다;
  • 시스템 설정(포트, Oracle 비밀번호 등) 수정 후 서비스를 재시작해야 적용됩니다 (Session 시간 초과 설정 제외).

마지막으로

SQLVantage가 주는 전반적인 인상은: 실용적, 절제적, 사용하기 편하다는 것입니다.

무작정 「크고 포괄적인」 것을 추구하지 않고, 「보고서」라는 핵심 시나리오를 중심으로 SQL 관리, 매개변수 상호작용, 결과 표시, 권한 격리라는 핵심 단계들을 명확하고 완전한 링크로 연결했습니다.

보고서 관리로 어려움을 겪고 있는 팀에게 좋은 참고 방안을 제공합니다 — 프로덕션 도구로 직접 사용할 수도 있고, 경량 웹 보고서 시스템의 설계 사고방식을 이해하기 위한 학습 샘플로도 활용할 수 있습니다.

간단하고 사용하기 쉬우며 자체 배포 가능한 보고서 시스템을 찾고 계신다면, SQLVantage부터 시작해 보세요.

이 글은 SQLVantage v1.0.2 (2026-07-15 출시) 공식 사용 문서를 바탕으로 정리 및 작성되었습니다. 자세한 내용은 프로젝트에 포함된 다국어 문서(docs/ 디렉터리)를 참조하십시오.