오늘의 QnA
Q. 스트림은 데이터를 연속적인 흐름으로 처리하는 개념이라고 하는데 실제로 구현해보면 청크단위로 쪼개져서 전송되는 것을 확인할 수 있다. 연속적인 흐름이라는 것은 무슨 뜻인가요?
----
스트림이 데이터를 연속적인 흐름으로 처리한다고 할 때, 이는 데이터가 전체적으로 한 번에 전송되는 것이 아니라 시간에 따라 연속적으로 처리되고 전송된다는 의미입니다.
청크를 사용함으로써의 이점
1. 데이터 관리의 용이성 (메모리 최적화)
- 한 번에 너무 많은 데이터를 로드하면 시스템 리소스에 부담을 줄 수 있으며, 청크 단위로 처리하면 각 청크가 처리된 후 메모리에서 해제될 수 있습니다.
2. 응답성 향상
- 사용자가 데이터의 일부만 필요로 할 때 전체 데이터를 로드하지 않고 필요한 부분만 빠르게 전송받을 수 있습니다. 예를 들어, 동영상 스트리밍 서비스에서는 사용자가 동영상의 특정 부분을 빠르게 접근할 수 있도록 청크 단위로 데이터를 전송합니다.
3. 신뢰성 있는 데이터 전송
- 네트워크 오류가 발생할 경우 전체 데이터를 처음부터 다시 전송하는 것이 아니라, 오류가 발생한 청크만 재전송할 수 있습니다. 이는 특히 네트워크 연결이 불안정한 환경에서 매우 유용합니다. (와이파이)