Search

Scale-up vs Scale-out

생성일
2024/01/22 00:01
태그
Database
design pattern
상태
Done

Scale-up

스케일 업(Scale-up)은 기존의 서버를 보다 높은 사양으로 업그레이드하는 것을 말한다. 기존의 서버에서 처리 능력의 한계를 만났을 때, CPU나 메모리를 업그레이드하거나 더 큰 용량의 디스크로 바꾸어 성능을 향상시킨다. 스케일 업은 수직 스케일링(vertical scaling)이라고 불리기도 한다.
스케일 업은 추가적인 네트워크 연결이나 설정 없이 용량이나 성능을 증강할 수 있다는 장점이 있다. 또한 관리 비용이나 운영 이슈가 적고 사양만 올리면 되기 때문에 비교적 간단하게 진행할 수 있다.
하지만 기존의 서버를 교체하는 것이기 때문에, 스케일 업을 진행할 때 서비스를 내려야하는 다운타임이 존재한다. 또한 스케일 업으로 성능을 향상 시키는데에는 한계가 있다는 단점이 있다. 스케일 업의 경우 향후 확장 가능성을 고려하면 현재 필요한 만큼보다 더 높은 사양이나 많은 용량을 확보해야하는데, 확장의 정도가 예상과 맞지 않거나 필요가 없어졌을 경우 손해가 발생하게 된다.
금융거래나 빠르고 정확한 데이터 처리가 필요한 OLTP 애플리케이션에서는 고성능의 스케일 업 방식이 효율적이다.

Scale-out

스케일 아웃(Scale-out)은 새로운 장비를 추가하여 확장하는 방식을 말한다. 기존의 서버만으로 용량이나 성능의 한계에 도달했을 때, 비슷한 사용의 서버를 추가해 데이터 용량 증가와 기존 서버의 부하를 분담하여 성능을 향상시킨다. 스케일 아웃은 수평 스케일링(horizontal scaling)이라고 불리기도 한다.
스케일 아웃은 확장을 유연하게 가져갈 수 있다는 장점이 있다. 사용하는만큼 구축해두고 확장이 필요한 때에 서버를 추가해 용량과 성능을 확장할 수 있다.
스케일 아웃은 여러 노드 연결해 병렬 컴퓨팅 환경을 구성하거나 여러 데이터베이스를 연동해두는 등 환경 구성과 유지에 높은 아키텍처 이해도가 필요하다는 단점이 있다. 또한 각 서버라면 부하를 균등하게 하는 분배하고 데이터베이스라면 데이터를 분산하여 저장하는 로드밸런싱이 필수적으로 수반되어야 한다.
빅데이터의 데이터 마이닝이나 데이터 분석과 같은 OLAP 애플리케이션 환경에서는 대량의 데이터 처리와 복잡한 쿼리가 이루어지기 때문에 스케일 아웃이 더 효율적이다.

참고