Scale Up || Scale Out

스케일 업(scale up) or 스케일 아웃(scale out)

스케일 업(scale up) or 스케일 아웃(scale out)

Scale Up || Scale Out
스케일 업
스케일 아웃

유지보수 및 관리

쉬움

여러 노드에 적절히 부하분산 필요

확장성

제약이 있음

스케일업에 비해 자유로움

장애복구

서버가 1대,다운타임이 있음

장애 탄력성이 있음

데이터베이스는 왜 스케일 아웃을 하지 않는가?

데이터 동기화 복잡성

  • 데이터베이스를 수평적으로 확장하면, 여러 서버간에 데이터 일관성과 동기화를 유지해야 한다.

  • 즉 데이터베이스의 기본적인 읽기, 쓰기, 업데이트 등이 각 노드에서 동시에 일어나면서 발생하는 데이터의 충돌이나 지연 등을 관리해야 한다

  • 동기화 과정은 매우 복잡하며, 실시간으로 일관성을 유지하는 것은 기술적으로 어려운 일이다.

높은 비용

  • 스케일 아웃은 추가적인 서버, 스토리지, 네트워크 인프라 등을 필요로 하여 확장하는 데 상당한 비용이 발생한다.

  • 이러한 장비의 구매 및 유지보수에 상당한 비용이 들 수 있으며, 시스템 관리자, 데이터베이스 관리자(DBA) 등의 추가 인력 채용 및 교육 비용을 포함할 수 있다.

  • 복잡한 시스템 설계 및 구현, 성능 최적화 및 튜닝, 유지보수 및 업그레이드에 이르기까지 다양한 요소의 비용이 발생한다.

디스크 기반의 데이터 접근

  • 대부분의 전통적인 데이터베이스는 디스크 기반으로 데이터를 저장하고 접근한다.

  • 디스크 I/O 작업은 네트워크를 통한 데이터 전송보다 느릴 수 있으며, 여러 노드에 데이터를 분산시키는 것이 성능 향상에 크게 기여하지 않을 수 있다.

트랜잭션 관리의 어려움

  • 데이터베이스는 트랜잭션의 원자성, 일관성, 격리성, 지속성(ACID 속성)을 보장해야 한다.

  • 여러 노드에 걸쳐 있는 데이터베이스에서 이러한 속성을 유지하는 것은 기술적으로 도전적이다.

복잡한 쿼리 처리

  • 분산 데이터베이스 환경에서는 복잡한 쿼리의 처리가 어려울 수 있다.

  • 데이터가 여러 노드에 분산되어 있을 경우, 효율적인 쿼리 최적화와 실행은 더욱 복잡해진다.

Cloud 환경에서 데이터베이스의 스케일 아웃 고려

장점

유연한 확장성

  • 클라우드 서비스는 일반적으로 높은 수준의 확장성을 제공한다

  • 필요에 따라 리소스를 쉽게 추가하거나 줄일 수 있어, 트래픽이 변동하는 애플리케이션에 이상적이다.

비용 효율성

  • 클라우드는 사용한 만큼만 지불하는 모델을 제공한다

  • 이는 초기 투자 비용을 크게 줄여주며, 특히 작은 규모의 프로젝트나 시험적인 프로젝트에 유리하다.

관리의 편의성

  • 클라우드 제공업체가 하드웨어 관리, 기본적인 유지보수, 업데이트 등을 처리한다. 이로 인해 기업은 자체 인프라를 관리하는데 드는 시간과 노력을 줄일 수 있다.

자동화된 백업과 복구

  • 많은 클라우드 서비스는 데이터 백업과 복구를 자동으로 관리하여 데이터 손실에 대한 리스크를 감소시킨다.

고려사항

데이터 동기화

  • 클라우드에서도 여러 인스턴스 간의 데이터 동기화는 여전히 중요한 문제다.

  • 일관성, 복제 지연, 동시성 관리 등의 문제가 여전히 존재한다.

네트워크 지연 시간

  • 클라우드 데이터베이스는 네트워크를 통해 접근되므로, 네트워크 지연 시간이 성능에 영향을 줄 수 있다.

  • 같은 클라우드의 서버를 사용하면 이 부분을 해결 할 수 있을 것 같다.

보안 고려사항

  • 클라우드 환경에서의 데이터 보안은 중요한 고려사항이다.

  • 데이터 암호화, 접근 관리, 보안 정책 등에 특별한 주의가 필요한다.

비용 관리

  • 비록 클라우드가 비용 효율적일수 있지만, 사용량이 급증할 경우 예상치 못한 높은 비용이 발생할 수 있다.

  • 비용 관리와 모니터링이 중요하다.

서비스 제공업체의 선택

  • 다양한 클라우드 서비스 제공업체들은 각기 다른 기능, 성능, 비용 구조를 가지고 있다.

  • 자신의 요구사항에 가장 적합한 서비스를 선택하는 것이 주용하다.

나의 선택

  • 처음에는 Cloud 운영을 선택한다.

  • 최소한 두대의 서버를 운영하여 다운타임 문제를 해결한다

  • 그 이후에 스케일 업 스케일 아웃을 진행할 때 발생하는 비용을 비교하여 최선의 선택을 한다.

  • 데이터베이스는 백업 시스템을 갖추고 한 대만 운영하고 시작 한다.

Last updated

Was this helpful?