2026/02/16 3

[디지털 전송] 라인 코딩 (Line Coding)

라인 코딩은 컴퓨터 네트워크 및 데이터 통신에서 디지털 데이터(0과 1의 비트열)를 전송 매체(구리선, 광섬유 등)를 통해 보낼 수 있는 디지털 신호(전압, 전류, 빛의 펄스)로 변환하는 과정을 말합니다. 쉽게 비유하자면, 컴퓨터가 이해하는 언어인 '0과 1'을 실제 전선이 이해할 수 있는 '전기 신호의 언어'로 통역해 주는 과정이라고 볼 수 있습니다.1. 왜 라인 코딩이 필요한가요? (필요성 및 목표)단순히 "1은 5V, 0은 0V"로 보내면 될 것 같지만, 실제 통신 환경에서는 여러 가지 문제가 발생합니다. 라인 코딩은 이러한 문제들을 해결하기 위해 설계되었습니다.주요 해결 과제:동기화 (Synchronization):수신 측은 언제 비트가 시작되고 끝나는지 정확히 알아야 합니다(타이밍).만약 '00..

시스템구조 2026.02.16

하둡(Hadoop) 생태계와 맵리듀스의 관계

맵리듀스는 구글이 발표한 논문 속 '개념'이자 '모델'이었으며, 이를 실제 누구나 사용할 수 있도록 오픈소스로 구현한 프로젝트가 바로 아파치 하둡(Apache Hadoop)입니다.초기 하둡 생태계에서 맵리듀스는 데이터 처리의 심장과도 같은 역할을 했습니다.HDFS (Hadoop Distributed File System): 분산 데이터 저장소입니다. 맵리듀스는 HDFS에 저장된 방대한 데이터를 읽어와서 처리하고, 그 결과를 다시 HDFS에 저장합니다.초기 하둡 (Hadoop v1): 맵리듀스가 데이터 처리 로직뿐만 아니라 클러스터의 자원(CPU, 메모리) 할당과 작업 스케줄링까지 모두 담당했습니다. 이로 인해 시스템에 과부하가 걸리기 쉬웠습니다.하둡 2.0 이후 (YARN 도입): 자원 관리 기능을 YA..

빅데이터 2026.02.16

맵리듀스(MapReduce)

맵리듀스는 대용량 데이터를 분산 처리하기 위해 구글(Google)에서 고안한 소프트웨어 프레임워크이자 프로그래밍 모델입니다. 페타바이트 이상의 방대한 데이터를 수많은 컴퓨터(노드)로 구성된 클러스터 환경에서 병렬로 빠르게 처리할 수 있도록 설계되었습니다.핵심 동작 원리맵리듀스는 이름 그대로 Map(맵) 단계와 Reduce(리듀스) 단계로 나뉘어 순차적으로 동작하며, 두 단계 사이에 데이터를 정렬하고 그룹화하는 셔플링(Shuffling) 과정이 포함됩니다.Map (분할 및 매핑): 입력 데이터를 여러 조각으로 쪼개어 다수의 분산된 노드에 할당합니다. 각 노드는 자신에게 할당된 데이터를 처리하여 (키-값) 형태의 중간 데이터를 생성합니다.예시: 텍스트 문서에서 단어 수를 셀 때, "Apple"이라는 단어가 ..

빅데이터 2026.02.16