병렬처리
여러 개의 프로세서를 통해 하나의 프로그램을 처리하는 것을 말한다. 처리 부하를 분담함으로써 처리 속도를 향상 시킨다.
특징
- 분할: 어떻게 테스트를, 얼만큼, 어느 정도로 나눠서 처리할 것인가?
- 스케줄링: 각 분리된 태스크들을 각 프로세서에 어떻게 배정할 것인가?
- 동기화: 각 프로세서에 공유된 데이터가 임의의 한 프로세서에 의해 변경되지 않도록 해야한다.
프레임워크의 종류와 특징
- Hadoop
- HDFS(: Hadoop Distributed File System)를 활용해 데이터를 주고 받는다.
- 데이터가 여러 노드에 분산되어 있기 때문에 손실의 우려가 없다.
- File I/O 기반이기에 처리 속도가 느리다
- Spark
- In-Memory 상에서 데이터를 주고받는 연산을 수행한다.
- 메모리를 사용해서 데이터를 처리하기 때문에 Hadoop보다 100배 빠르다.
- 메모리 상에서 처리하기 때문에 장애가 발생할 경우 응용 프로그램을 처음부터 다시 시작해야 한다.