InfoGrab DocsInfoGrab Docs

CSV로 내보내기

요약

이 문서에서는 GitLab 코드베이스의 CSV 내보내기 구현 방식을 나열합니다. *로 표시된 내보내기 유형은 현재 작업 진행 중입니다.

이 문서에서는 GitLab 코드베이스의 CSV 내보내기 구현 방식을 나열합니다.

내보내기 유형 구현 방식 장점 단점 기존 사용 예
스트리밍 - 데이터를 배치 단위로 조회하여 응답 스트림에 전달합니다.
- 다운로드가 즉시 시작됩니다.
- 보고서를 즉시 확인할 수 있습니다. - 진행 표시기가 없습니다.
- 안정적인 연결이 필요합니다.
감사 이벤트 로그 내보내기
다운로드 - 데이터를 배치 단위로 조회하여 임시 파일에 기록합니다.
- 파일을 메모리에 로드합니다.
- 파일을 클라이언트에 전송합니다.
- 보고서를 즉시 확인할 수 있습니다. - 데이터가 많으면 요청 타임아웃이 발생할 수 있습니다.
- 메모리 사용량이 많습니다.
- 사용자가 다른 페이지로 이동하면 요청이 만료됩니다.
- 관리 연속성 보고서 내보내기
- 라이선스 사용 파일 내보내기
이메일 첨부 파일 - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 이메일에 내보낸 파일을 첨부합니다.
- 비동기로 처리합니다. - 사용자가 CSV를 내려받으려면 별도 앱(이메일)을 사용해야 합니다.
- 이메일 제공업체가 첨부 파일 크기를 제한할 수 있습니다.
- 이슈 내보내기
- 머지 리퀘스트 내보내기
이메일 내 다운로드 링크 (*) - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 이메일에 내보내기 링크를 사용합니다.
- 비동기로 처리합니다.
- 이메일 제공업체의 첨부 파일 크기 제한을 우회합니다.
- 사용자가 별도 앱(이메일)을 사용해야 합니다.
- 추가 스토리지와 정리 작업이 필요합니다.
사용자 권한 내보내기
폴링 (비영속 상태) - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 프론트엔드(FE)가 몇 초마다 CSV 파일 준비 여부를 폴링합니다.
- 비동기로 처리합니다.
- 완료 시 로컬 머신에 자동으로 내려받습니다.
- 인앱 솔루션입니다.
- 영속되지 않는 요청이므로 사용자가 다른 페이지로 이동하면 요청이 만료됩니다.
- 폴링 요청마다 API가 처리됩니다.
취약점 내보내기
폴링 (영속 상태) (*) - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 백엔드(BE)가 내보내기 상태를 유지합니다.
- FE가 몇 초마다 상태를 폴링합니다.
- 내보내기가 준비되면 FE가 'Download link' 를 표시합니다.
- 사용자가 내려받거나 새 보고서를 다시 생성할 수 있습니다.
- 비동기로 처리합니다.
- 폴링 요청 중에는 데이터베이스 호출이 없습니다(내보내기 상태가 바뀔 때까지 HTTP 304 상태를 반환합니다).
- 내보내기가 끝날 때까지 사용자가 페이지에 머물 필요가 없습니다.
- 인앱 솔루션입니다.
- 범용 CSV 기능(대시보드 / CSV API 등)으로 확장할 수 있습니다.
- 데이터베이스(DB)에서 내보내기 상태를 유지해야 합니다.
- CSV 내보내기가 로컬 머신에 자동으로 내려받아지지 않으므로 사용자가 'Download' 를 선택해야 합니다.
머지 커밋 보고서 내보내기
Note

*로 표시된 내보내기 유형은 현재 작업 진행 중입니다.

CSV로 내보내기

GitLab v19.4
원문 보기

요약

이 문서에서는 GitLab 코드베이스의 CSV 내보내기 구현 방식을 나열합니다. *로 표시된 내보내기 유형은 현재 작업 진행 중입니다.

이 문서에서는 GitLab 코드베이스의 CSV 내보내기 구현 방식을 나열합니다.

내보내기 유형 구현 방식 장점 단점 기존 사용 예
스트리밍 - 데이터를 배치 단위로 조회하여 응답 스트림에 전달합니다.
- 다운로드가 즉시 시작됩니다.
- 보고서를 즉시 확인할 수 있습니다. - 진행 표시기가 없습니다.
- 안정적인 연결이 필요합니다.
감사 이벤트 로그 내보내기
다운로드 - 데이터를 배치 단위로 조회하여 임시 파일에 기록합니다.
- 파일을 메모리에 로드합니다.
- 파일을 클라이언트에 전송합니다.
- 보고서를 즉시 확인할 수 있습니다. - 데이터가 많으면 요청 타임아웃이 발생할 수 있습니다.
- 메모리 사용량이 많습니다.
- 사용자가 다른 페이지로 이동하면 요청이 만료됩니다.
- 관리 연속성 보고서 내보내기
- 라이선스 사용 파일 내보내기
이메일 첨부 파일 - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 이메일에 내보낸 파일을 첨부합니다.
- 비동기로 처리합니다. - 사용자가 CSV를 내려받으려면 별도 앱(이메일)을 사용해야 합니다.
- 이메일 제공업체가 첨부 파일 크기를 제한할 수 있습니다.
- 이슈 내보내기
- 머지 리퀘스트 내보내기
이메일 내 다운로드 링크 (*) - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 이메일에 내보내기 링크를 사용합니다.
- 비동기로 처리합니다.
- 이메일 제공업체의 첨부 파일 크기 제한을 우회합니다.
- 사용자가 별도 앱(이메일)을 사용해야 합니다.
- 추가 스토리지와 정리 작업이 필요합니다.
사용자 권한 내보내기
폴링 (비영속 상태) - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 프론트엔드(FE)가 몇 초마다 CSV 파일 준비 여부를 폴링합니다.
- 비동기로 처리합니다.
- 완료 시 로컬 머신에 자동으로 내려받습니다.
- 인앱 솔루션입니다.
- 영속되지 않는 요청이므로 사용자가 다른 페이지로 이동하면 요청이 만료됩니다.
- 폴링 요청마다 API가 처리됩니다.
취약점 내보내기
폴링 (영속 상태) (*) - 백그라운드 job으로 쿼리를 비동기 처리합니다.
- 백엔드(BE)가 내보내기 상태를 유지합니다.
- FE가 몇 초마다 상태를 폴링합니다.
- 내보내기가 준비되면 FE가 'Download link' 를 표시합니다.
- 사용자가 내려받거나 새 보고서를 다시 생성할 수 있습니다.
- 비동기로 처리합니다.
- 폴링 요청 중에는 데이터베이스 호출이 없습니다(내보내기 상태가 바뀔 때까지 HTTP 304 상태를 반환합니다).
- 내보내기가 끝날 때까지 사용자가 페이지에 머물 필요가 없습니다.
- 인앱 솔루션입니다.
- 범용 CSV 기능(대시보드 / CSV API 등)으로 확장할 수 있습니다.
- 데이터베이스(DB)에서 내보내기 상태를 유지해야 합니다.
- CSV 내보내기가 로컬 머신에 자동으로 내려받아지지 않으므로 사용자가 'Download' 를 선택해야 합니다.
머지 커밋 보고서 내보내기
Note

*로 표시된 내보내기 유형은 현재 작업 진행 중입니다.