오늘날 여러 회사의 직무 기술서에는 “빅 데이터 처리”와 관련된 문구가 많이 포함되어 있습니다.
많은 양의 데이터를 처리하는 것이 왜 그렇게 중요해졌습니까?
그리고 왜 데이터베이스가 병목 현상이 되어야 합니까?
이 문제를 조사하기 위해 단계별로 살펴보겠습니다.
먼저 이 글에서는 scale-up과 scale-out의 개념에 대해 알아보자.
크게 하다
게임을 할 때 성능상의 이유로 SSD를 추가하거나 CPU 또는 그래픽 카드를 변경한 경험이 있을 수 있습니다.
이런 식으로 단일 서버의 처리 용량을 늘리는 것을 의미합니다.
AWS가 EC2 사양을 Micro에서 Small로 또는 Small에서 Medium으로 높이는 경우가 종종 있습니다.
장점
- 관리할 서버가 하나뿐이므로 관리 비용이나 운영 문제가 거의 없습니다.
- 추가 네트워크 연결이 없습니다.
불리
- 성능 향상은 제한적이고 비용 부담이 크다.
- 서버가 다운되면 큰 타격을 입을 것입니다.
- 기존 서버를 교체할 때 가동 중지 시간이 있습니다.
사용
빠른 성능이 중요한 금융 거래와 같은 OLTP 환경에 적합합니다.
확장
scale-up 중에 하나의 장치가 업데이트되면 scale-out은 작업을 여러 장치로 나눕니다.
실생활에서 쇼핑을 할 때 많은 사람들이 하나의 큰 탈의실 대신에 여러 개의 작은 탈의실을 사용합니다.
클라우드 서비스에는 리소스 사용량을 모니터링하여 자동으로 서버를 늘리는 Auto Scaling 기능이 있습니다.
장점
- 필요에 따라 서버를 추가할 수 있으므로 용량과 성능을 쉽게 확장할 수 있습니다.
- 비교적 저렴한 서버를 사용하기 때문에 비용 부담이 적습니다.
- 읽기/쓰기는 여러 서버에 분산되어 있습니다.
- 정전 시 전체 서버가 다운될 가능성이 적습니다.
불리
- 건축 설계에 대한 깊은 이해가 필요합니다.
- 서버 수가 증가하면 관리가 더 어려워집니다.
- 로드 밸런싱이 필요합니다.
사용
대용량 처리 및 복잡한 쿼리가 사용되는 OLAP 환경에서 효율적입니다.

