파일 전송
수천만 개의 파일을 탐색부터 결과까지 하나의 Transfer로 처리하는 INNORIX 대량 파일 전송을 소개합니다.
MASSIVE FILE COUNTS
전송해야 할 데이터의 크기가 같아도 파일의 개수가 달라지면 Transfer의 성격은 완전히 달라집니다.
100GB짜리 파일 하나와 100KB짜리 파일 100만 개는 총 데이터 크기는 비슷할 수 있지만, 작은 파일이 많아질수록 File Discovery, Open/Close, Metadata, Directory, Queue, File System I/O와 개별 Transfer Result가 전체 처리 시간에 큰 영향을 줍니다.
INNORIX 대량 파일 전송은 수천·수백만 개의 파일을 하나의 Transfer로 처리하고, 탐색부터 병렬 처리, Recovery와 파일별 결과까지 전체 작업을 운영합니다.
SAME SIZE, DIFFERENT TRANSFER
대용량 파일 전송과 대량 파일 전송은 같은 문제가 아닙니다.
LARGE FILE vs HIGH-VOLUME FILES
파일 수가 증가할수록 실제 성능은 Network Bandwidth만으로 결정되지 않습니다.
DISCOVER TO RESULT
대량 파일 전송은 첫 번째 Byte를 보내기 전부터 시작됩니다.
Source의 파일을 찾고, 필요한 파일을 선택하고, Directory와 Metadata를 처리한 뒤 Queue에 넣어야 실제 Transfer가 시작됩니다.
INNORIX는 실제 Network Transfer뿐 아니라 대량 파일을 발견하고 처리하고 결과를 확인하는 전체 과정을 하나의 High-Volume Transfer로 운영합니다.
NETWORK + PROCESSING
Network가 빨라지면 큰 파일의 전송 시간은 크게 개선될 수 있습니다. 작은 파일이 수없이 많아지면 Network 외의 처리 시간이 상대적으로 커집니다.
따라서 대량 파일 전송에서는 Gbps 하나보다 초당 얼마나 많은 File Operation과 Transfer를 지속적으로 처리할 수 있는가가 중요합니다.
NO ARCHIVE STEP
많은 작은 파일을 빠르게 이동하기 위해 하나의 Archive로 묶는 방법은 효과적인 선택이 될 수 있습니다.
하지만 Archive 자체가 업무에 추가되면 Source에서 압축하거나 묶고, 전송하고, Target에서 다시 풀고, 결과를 확인하는 단계가 생깁니다.
Archive Workflow
INNORIX High-Volume Transfer
원래 File과 Directory Structure를 유지한 채 전달할 수 있어 Transfer를 위한 별도의 Archive Workflow를 추가하지 않고 실제 데이터 구조 그대로 처리할 수 있습니다.
PARALLEL PROCESSING
대량 파일을 하나씩 순차적으로 처리하면 개별 파일 사이의 작은 지연도 전체 작업에서는 크게 누적됩니다.
INNORIX는 여러 파일을 병렬로 처리하고 Source, Target과 Network 상태에 맞춰 동시성을 운영합니다.
Transfer Queue
Dynamic Concurrency
Parallel Processing, Dynamic Concurrency와 Queue Management를 통해 수많은 파일을 지속적으로 처리합니다.
중요한 것은 동시에 가장 많은 파일을 여는 것이 아니라 전체 Dataset을 가장 안정적으로 완료하는 것입니다.
CAPACITY-AWARE
High-Volume Transfer에서는 동시 처리량을 계속 높이는 것이 항상 더 빠른 결과로 이어지지는 않습니다.
Source File System, Target Storage, Disk I/O, Metadata 처리, Network와 다른 Workload가 함께 영향을 받기 때문입니다.
INNORIX는 전체 Transfer를 Queue와 Concurrency 단위로 운영해 현재 Infrastructure가 처리할 수 있는 범위에서 지속적인 Throughput을 유지합니다.
PER-FILE STATUS
대량 파일 전송에서 전체 Progress만 확인하면 실제 업무 완료 여부를 판단하기 어렵습니다.
예를 들어 1,284,392개 파일 중 1,284,389개가 정상적으로 전달되었다면 전체 성공률은 매우 높아 보이지만 실제 업무에서는 남은 3개 파일이 무엇인지가 중요합니다.
RUN-2841
INNORIX는 Transfer 전체 상태와 함께 개별 파일의 결과를 유지해 운영자가 실제 실패 범위를 확인할 수 있도록 합니다.
SELECTIVE RETRY
대량 Transfer에서 일부 파일에 문제가 발생했을 때 전체 Dataset을 다시 보내는 것은 비용이 큽니다.
대량 파일 전송의 Recovery를 전체 작업의 재실행이 아니라 남아 있는 파일을 완료하는 과정으로 운영합니다.
SUCCESS RATE AT SCALE
파일 수가 적을 때는 99.99%와 100%의 차이가 작아 보일 수 있습니다.
파일 수가 커지면 작은 비율도 실제 파일 수에서는 의미 있는 차이가 됩니다.
Total Files → 0.01%
따라서 High-Volume Transfer에서는 평균 성공률만 보는 것보다 실패한 파일을 식별하고 다시 처리해 최종적으로 필요한 Dataset을 완성하는 과정이 중요합니다.
Runs, File Status와 Receipt를 통해 이 과정을 확인합니다.
DIRECTORY STRUCTURE
대량 Dataset은 단순한 File List가 아니라 Directory Structure 자체가 데이터의 일부인 경우가 많습니다.
/dataset
Research Dataset, Machine Vision, Media Project와 Software Package에서는 Directory 구조를 유지한 상태로 전달해야 Target에서 바로 사용할 수 있습니다.
INNORIX는 File과 Directory 관계를 유지하면서 Transfer하고 Target에서 원래 Data Structure를 이어서 사용할 수 있도록 구성합니다.
FILE FILTER
Source에 수백만 개의 파일이 존재한다고 해서 모든 파일을 항상 이동해야 하는 것은 아닙니다.
Source → Filter
File Name, Extension, Directory와 필요한 조건을 기준으로 Transfer 대상을 구성할 수 있습니다.
전체 Source를 복사하기보다 업무에 필요한 File Set을 Dataset처럼 선택해 전송합니다.
CONTINUOUS DATA FLOW
High-Volume Data는 한 번 생성되고 끝나는 경우보다 계속 추가되는 환경에서 더 많이 발생합니다.
Machine Vision Image, Log, Sensor Data, Research Result와 Media Asset은 매일 또는 지속적으로 새로운 파일을 생성합니다.
한 번의 Migration에서 시작해 새롭게 생성되는 파일을 지속적으로 전달하는 Data Flow로 같은 Transfer를 확장할 수 있습니다.
FLOW AUTOMATION
수많은 파일을 매번 운영자가 직접 선택하고 실행할 필요는 없습니다.
Schedule, File Event, API와 외부 요청을 통해 High-Volume Transfer를 시작하고 완료 결과를 다음 업무와 연결할 수 있습니다.
High-Volume Transfer와 Automated File Transfer를 같은 Flow Model에서 운영합니다.
COLLECTION
대량 파일은 여러 Server, Branch, Factory와 Device에서 동시에 생성될 수 있습니다.
Data Center
Source별 Transfer를 개별 Script로 운영하기보다 하나의 Collection으로 구성해 어느 Source에서 얼마나 수집되었고 어떤 파일이 남아 있는지 확인할 수 있습니다.
Source Path와 Target Path Rule을 이용해 여러 곳에서 들어오는 파일의 원래 출처와 Directory Structure를 유지할 수 있습니다.
DISTRIBUTION
High-Volume Transfer는 Collection뿐 아니라 Distribution에도 적용됩니다.
Dataset
Image Dataset, Software Package, Media Asset와 Project Files를 여러 Server와 Compute Environment로 전달하면서 Target별 진행 상태와 File Result를 확인할 수 있습니다.
High-Volume Transfer + Distribution을 결합해 1:N 대량 Data Movement를 같은 방식으로 운영합니다.
ANY LOCATION
수많은 파일이 존재하는 위치는 하나의 Server에 한정되지 않습니다.
Data가 어디에 존재하든 File Discovery, Queue, Parallel Processing, Recovery와 Result라는 동일한 High-Volume Transfer Model을 적용합니다.
OBJECT STORAGE
Object Storage에서는 File System의 File 대신 수많은 Object를 처리하게 됩니다.
Object Storage의 Listing과 Object Transfer 특성을 반영하면서도 운영 관점에서는 Server의 High-Volume Transfer와 동일하게 전체 작업, 개별 Object 결과, Retry와 최종 완료 상태를 관리합니다.
AI & MACHINE DATA
AI와 Machine-Generated Data는 High-Volume Transfer가 필요한 대표적인 환경입니다.
이러한 환경에서는 하나의 파일 크기보다 파일의 생성 속도, 전체 개수와 지속적인 Collection이 Transfer Architecture를 결정할 수 있습니다.
INNORIX는 High-Volume Transfer를 AI Data Delivery, Collection과 Automated Transfer에 연결해 사용할 수 있습니다.
ONE RUN
파일이 많아질수록 개별 Server의 Log를 직접 확인하는 방식은 전체 작업을 파악하기 어려워집니다.
RUN-2841
운영자는 전체 Dataset의 진행 상태에서 시작해 필요한 경우 실패한 개별 파일까지 내려가 확인하고 처리할 수 있습니다.
SAME MODEL AT SCALE
High-Volume Transfer의 규모는 특정 숫자에서 시작되지 않습니다.
수천 개의 파일만으로도 기존 업무가 느려질 수 있고, 환경에 따라 수백만·수천만 개까지 증가할 수 있습니다.
Tested Files
중요한 것은 몇 개부터 "대량"이라고 부를 것인가가 아니라 현재 업무의 파일 수가 증가해도 같은 방식으로 처리하고 운영할 수 있는가입니다.
TEST ENVIRONMENT
100,000,000 Files는 모든 고객이 필요한 파일 수를 의미하지 않습니다.
High-Volume Transfer Architecture가 실제로 파일 수 증가를 처리할 수 있는지를 확인하기 위한 Scale Test의 한 지점입니다.
대량 파일 전송의 목표는 특정 숫자를 자랑하는 것이 아니라 파일 수가 증가해도 Discovery, Transfer, Recovery와 Result를 같은 방식으로 운영하는 것입니다.
GET STARTED
많은 파일을 별도의 Archive 작업으로 바꾸기보다 원래 File과 Directory Structure를 유지하면서 Discovery, Queue, Parallel Processing과 Transfer를 연결합니다.
일부 파일에 문제가 발생하면 File-Level Result를 기준으로 필요한 범위만 다시 처리하고, 일회성 Dataset부터 지속적인 Collection과 Distribution까지 같은 Transfer Model로 확장합니다.
파일 수와 데이터 구조에 맞는 대량 파일 전송 방법을 함께 검토해드립니다.