데이터 기반의 μ›Ή μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 데이터λ₯Ό μ œκ³΅ν•˜λŠ” 방식은 λ‹€μ–‘ν•©λ‹ˆλ‹€. κ°œλ°œμžλ“€μ΄ REST APIλ₯Ό 톡해 ν΄λΌμ΄μ–ΈνŠΈμ™€ μ„œλ²„ κ°„μ˜ 데이터λ₯Ό 전달할 λ•Œ JSON ν˜•μ‹μœΌλ‘œ μ£Όκ³ λ°›λŠ” 것을 μ„ ν˜Έν•˜λŠ” 것과 λ³„κ°œλ‘œ μ‹œμŠ€ν…œμ„ μ΄μš©ν•˜λŠ” 일반 μ‚¬μš©μžλ“€μ€ 주둜 μ‚¬μš©ν•˜λŠ” μ—‘μ…€ ν”„λ‘œκ·Έλž¨μ—μ„œ 읽을 수 μžˆλŠ” XLS λ˜λŠ” XLSX둜 μ œκ³΅ν•˜κΈ°λ₯Ό μ„ ν˜Έν•©λ‹ˆλ‹€.

κ°œλ°œμžλ“€μ€ μ—‘μ…€ ν”„λ‘œκ·Έλž¨μ—μ„œ μ‚¬μš©ν•  수 μžˆλŠ” XLS λ˜λŠ” XLSX 파일 ν˜•μ‹μœΌλ‘œ 데이터λ₯Ό μ œκ³΅ν•˜λŠ” 것을 μ’‹μ•„ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. μ—‘μ…€ ν”„λ‘œκ·Έλž¨μ΄ 데이터λ₯Ό ν™œμš©ν•˜κΈ° μœ„ν•œ λ§Žμ€ κΈ°λŠ₯을 μ œκ³΅ν•˜μ—¬ νŽΈλ¦¬ν•œ λ°©λ²•μ΄κΈ°λŠ” ν•˜μ§€λ§Œ μžλ°”μ—μ„œ μ—‘μ…€ 파일 ν˜•μ‹μœΌλ‘œ μ €μž₯ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” Apach POI와 같은 λΌμ΄λΈŒλŸ¬λ¦¬μ—μ„œ μ—‘μ…€ 파일 ν˜•μ‹μ— λ”°λ₯Έ μ œμ•½μ΄λ‚˜ μ„±λŠ₯ μ΄μŠˆκ°€ 있기 λ•Œλ¬Έμž…λ‹ˆλ‹€. μ—‘μ…€ 파일 ν˜•μ‹μ—μ„œ κ°€μž₯ 기본적인 μ œμ•½μ‚¬ν•­μ€ 단일 μ‹œνŠΈμ— λŒ€ν•œ μ΅œλŒ€ ν–‰μˆ˜ μ œν•œμž…λ‹ˆλ‹€. 그리고 μ—‘μ…€ νŒŒμΌμ— 데이터λ₯Ό κΈ°λ‘ν•˜λŠ” 방식에 따라 μ„œλ²„μ— λΆ€ν•˜κ°€ λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€.

ν˜„μž¬ μ‘°μ§μ—μ„œ κ°œλ°œν•˜λŠ” μ‹œμŠ€ν…œμ€ μ‹œκ³„μ—΄ 데이터λ₯Ό μˆ˜μ§‘ν•˜κ³  이λ₯Ό ν™œμš©ν•  수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•˜λ―€λ‘œ 고객이 λ“±λ‘ν•œ μ‹œκ³„μ—΄ 데이터λ₯Ό λ‹€μš΄λ‘œλ“œν•  수 μžˆλŠ” 방법도 μ œκ³΅ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 이 μš”κ±΄μ€ μ‹œκ³„μ—΄ 데이터λ₯Ό μ§‘κ³„ν•˜μ—¬ μ •μ œλœ 데이터λ₯Ό μ œκ³΅ν•˜λŠ” 것이 μ•„λ‹ˆλ―€λ‘œ 고객이 λ³΄μœ ν•˜λŠ” μ—λ„ˆμ§€ μžμ› 및 데이터 ν•­λͺ©λ§ŒνΌ νŒŒμΌμ— ν¬ν•¨λ˜μ–΄μ•Όν•˜λŠ” λ°μ΄ν„°μ˜ κ±΄μˆ˜κ°€ κΈ°ν•˜κΈ‰μˆ˜μ μœΌλ‘œ λŠ˜μ–΄λ‚  수 있으며 그에 λŒ€ν•œ 규λͺ¨λ₯Ό μ˜ˆμƒν•˜κΈ° νž˜λ“­λ‹ˆλ‹€. 아무리 μžλ°” μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ SXSSF둜 슀트리밍 λ°©μ‹μœΌλ‘œ μ—‘μ…€ νŒŒμΌμ— 데이터λ₯Ό κΈ°λ‘ν•˜κ±°λ‚˜ μ–΄λ– ν•œ λ™μž‘μ„ μ΅œμ†Œν™”ν•˜λ„λ‘ μ½”λ“œλ₯Ό μ΅œμ ν™”ν•œλ‹€κ³ ν•΄λ„ μ²˜λ¦¬ν•΄μ•Όν•˜λŠ” 데이터 κ±΄μˆ˜κ°€ 많음으둜 λ°œμƒν•˜λŠ” μ†Œμš” μ‹œκ°„ 및 μ• ν”Œλ¦¬μΌ€μ΄μ…˜ λΆ€ν•˜μ— λŒ€ν•œ μ΄μŠˆλŠ” ν•΄κ²°λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ λŒ€μš©λŸ‰ 데이터λ₯Ό λ‹€μš΄λ‘œλ“œν•˜λŠ” μš”κ±΄μ— λŒ€ν•΄μ„œλŠ” λΆˆν•„μš”ν•œ μž‘μ—…μ„ μ΅œμ†Œν•˜ν•˜λŠ” λ°©μ•ˆμ΄ μ€‘μš”ν•©λ‹ˆλ‹€. μ‹œκ³„μ—΄ 데이터에 λŒ€ν•΄ λΉ λ₯Έ μ„±λŠ₯을 λ³΄μ—¬μ£ΌλŠ” μ‹œκ³„μ—΄ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μœΌλ‘œ μ „λ‹¬λ˜λŠ” λ°μ΄ν„°μ˜ 양을 μ΅œλŒ€ν•œ 쀄일 수 μžˆλ„λ‘ ν•΄μ•Όν•©λ‹ˆλ‹€. μ‹œκ³„μ—΄ 데이터 νŠΉμ„± 상 같은 μ‹œκ°„λŒ€μ— λŒ€ν•œ 데이터 ν•­λͺ©λ“€μ„ μ—΄λ‘œ ν‘œν˜„ν•  수 μžˆλ„λ‘ ν…Œμ΄λΈ”μ„ ν”Όλ΄‡ν•˜λŠ” 방법이 μžˆμœΌλ―€λ‘œ 이λ₯Ό ν™œμš©ν•˜λ©΄ μ—‘μ…€ νŒŒμΌμ— κΈ°λ‘ν•΄μ•Όν•˜λŠ” 데이터행 수λ₯Ό 쀄일 수 μžˆμŠ΅λ‹ˆλ‹€.

피봇 ν…Œμ΄λΈ”μ„ λ„μž…ν•˜λ”λΌλ„ μ—‘μ…€ 파일이 읽을 수 μžˆλŠ” λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ„ λ§Œλ“œλŠ” κ²ƒμ΄λ―€λ‘œ 일반적인 ν…μŠ€νŠΈ νŒŒμΌμ„ κΈ°λ‘ν•˜λŠ” μž‘μ—…λ³΄λ‹€ λ§Žμ€ λΆ€ν•˜κ°€ λ°œμƒν•©λ‹ˆλ‹€. CSVλŠ” RFC 4180 ν‘œμ€€μœΌλ‘œ λ˜μ–΄μžˆλŠ” 데이터 ν˜•μ‹μœΌλ‘œ ν…Œμ΄λΈ” ν˜•μ‹μœΌλ‘œ λ˜μ–΄μžˆλŠ” 데이터λ₯Ό ν‘œν˜„ν•˜κΈ°μ— μ ν•©ν•œ λ°©λ²•μž…λ‹ˆλ‹€. ν‘œμ€€μœΌλ‘œ μ •μ˜λ˜μ–΄μžˆκΈ°μ— λŒ€λΆ€λΆ„μ˜ μŠ€ν”„λ ˆλ“œμ‹œνŠΈ ν”„λ‘œκ·Έλž¨μ—μ„œλŠ” CSV νŒŒμΌμ— ν¬ν•¨λœ 데이터λ₯Ό 뢈러올 수 μžˆλŠ” κΈ°λŠ₯을 μ œκ³΅ν•©λ‹ˆλ‹€. μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©ν•˜λŠ” μ‹œκ³„μ—΄ λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ ν…Œμ΄λΈ”μ„ CSV둜 λ³€ν™˜ν•  수 μžˆλŠ” 방법도 μ œκ³΅ν•˜κ³  μžˆμœΌλ―€λ‘œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ 데이터λ₯Ό κ°€κ³΅ν•˜λŠ” λ³„λ„μ˜ μž‘μ—…μ„ ν•˜μ§€ μ•Šκ³  κ³ κ°μ—κ²Œ 데이터λ₯Ό 전달할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ‹œμŠ€ν…œμ˜ 파일 λ‹€μš΄λ‘œλ“œ ν‘œμ€€μ€ CSV이고 XLS 및 XLSXλ‘œλ„ λ‹€μš΄λ‘œλ“œν•  수 μžˆλ„λ‘ μΈν„°νŽ˜μ΄μŠ€λŠ” μ œκ³΅ν•©λ‹ˆλ‹€λ§Œ μ‹€μ œλ‘œ μ†Œμš”λ˜λŠ” μ‹œκ°„μ„ λΉ„κ΅ν•˜λ©΄ κ·Ήλ‹¨μ μœΌλ‘œ CSV의 λ‹€μš΄λ‘œλ“œμ— μ†Œμš”λ˜λŠ” μ‹œκ°„μ΄ 적은 것을 확인할 수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.