더북(TheBook)

병렬 처리 시 주의사항

병렬 처리로 SQL문을 처리하면 그러지 않았을 때보다 큰 성능 향상을 보일 수 있지만, 이는 보통의 경우에 한해 맞는 얘기이고 오히려 역효과를 볼 때도 있다. 이는 병렬 처리를 과도하게 사용하거나 적절하지 않은 SQL문에 대해 병렬 처리를 하기 때문이다.

예컨대 상자 속의 카드는 10장 뿐인데 카드를 골라내는 사람이 10명이라면 1명이 처리할 때보다 훨씬 더 작업 속도가 늦어질 것이다. 따라서 병렬 처리는 응답속도가 너무 느린 SQL문에 한해서만 사용하는 것이 바람직하다. 또한 카드 정렬 작업을 처리할 사람은 5명 뿐인데 여기저기서 동시다발적으로 이들에게 일을 시키면 작업 정체가 발생할 수 있다. 즉 상자가 10개인데 이를 동시에 처리해야 한다면 5명의 작업자가 1상자씩 맡아 처리할 것이다. 이렇게 되면 나머지 5상자는 처리하지 못하고 진행중인 일을 마쳐야 남은 5상자를 처리할 수 있다. 따라서 시스템 성능과 환경, 동시처리 SQL문의 개수와 그 성능 등을 종합적으로 고려한 뒤 병렬 처리 계획을 수립하고 사용해야 한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.