Scale Up || Scale Out
스케일 업(scale up) or 스케일 아웃(scale out)
Last updated
Was this helpful?
스케일 업(scale up) or 스케일 아웃(scale out)
Last updated
Was this helpful?
유지보수 및 관리
쉬움
여러 노드에 적절히 부하분산 필요
확장성
제약이 있음
스케일업에 비해 자유로움
장애복구
서버가 1대,다운타임이 있음
장애 탄력성이 있음
데이터베이스를 수평적으로 확장하면, 여러 서버간에 데이터 일관성과 동기화를 유지해야 한다.
즉 데이터베이스의 기본적인 읽기, 쓰기, 업데이트 등이 각 노드에서 동시에 일어나면서 발생하는 데이터의 충돌이나 지연 등을 관리해야 한다
동기화 과정은 매우 복잡하며, 실시간으로 일관성을 유지하는 것은 기술적으로 어려운 일이다.
스케일 아웃은 추가적인 서버, 스토리지, 네트워크 인프라 등을 필요로 하여 확장하는 데 상당한 비용이 발생한다.
이러한 장비의 구매 및 유지보수에 상당한 비용이 들 수 있으며, 시스템 관리자, 데이터베이스 관리자(DBA) 등의 추가 인력 채용 및 교육 비용을 포함할 수 있다.
복잡한 시스템 설계 및 구현, 성능 최적화 및 튜닝, 유지보수 및 업그레이드에 이르기까지 다양한 요소의 비용이 발생한다.
대부분의 전통적인 데이터베이스는 디스크 기반으로 데이터를 저장하고 접근한다.
디스크 I/O 작업은 네트워크를 통한 데이터 전송보다 느릴 수 있으며, 여러 노드에 데이터를 분산시키는 것이 성능 향상에 크게 기여하지 않을 수 있다.
데이터베이스는 트랜잭션의 원자성, 일관성, 격리성, 지속성(ACID 속성)을 보장해야 한다.
여러 노드에 걸쳐 있는 데이터베이스에서 이러한 속성을 유지하는 것은 기술적으로 도전적이다.
분산 데이터베이스 환경에서는 복잡한 쿼리의 처리가 어려울 수 있다.
데이터가 여러 노드에 분산되어 있을 경우, 효율적인 쿼리 최적화와 실행은 더욱 복잡해진다.
클라우드 서비스는 일반적으로 높은 수준의 확장성을 제공한다
필요에 따라 리소스를 쉽게 추가하거나 줄일 수 있어, 트래픽이 변동하는 애플리케이션에 이상적이다.
클라우드는 사용한 만큼만 지불하는 모델을 제공한다
이는 초기 투자 비용을 크게 줄여주며, 특히 작은 규모의 프로젝트나 시험적인 프로젝트에 유리하다.
클라우드 제공업체가 하드웨어 관리, 기본적인 유지보수, 업데이트 등을 처리한다. 이로 인해 기업은 자체 인프라를 관리하는데 드는 시간과 노력을 줄일 수 있다.
많은 클라우드 서비스는 데이터 백업과 복구를 자동으로 관리하여 데이터 손실에 대한 리스크를 감소시킨다.
클라우드에서도 여러 인스턴스 간의 데이터 동기화는 여전히 중요한 문제다.
일관성, 복제 지연, 동시성 관리 등의 문제가 여전히 존재한다.
클라우드 데이터베이스는 네트워크를 통해 접근되므로, 네트워크 지연 시간이 성능에 영향을 줄 수 있다.
같은 클라우드의 서버를 사용하면 이 부분을 해결 할 수 있을 것 같다.
클라우드 환경에서의 데이터 보안은 중요한 고려사항이다.
데이터 암호화, 접근 관리, 보안 정책 등에 특별한 주의가 필요한다.
비록 클라우드가 비용 효율적일수 있지만, 사용량이 급증할 경우 예상치 못한 높은 비용이 발생할 수 있다.
비용 관리와 모니터링이 중요하다.
다양한 클라우드 서비스 제공업체들은 각기 다른 기능, 성능, 비용 구조를 가지고 있다.
자신의 요구사항에 가장 적합한 서비스를 선택하는 것이 주용하다.
처음에는 Cloud 운영을 선택한다.
최소한 두대의 서버를 운영하여 다운타임 문제를 해결한다
그 이후에 스케일 업 스케일 아웃을 진행할 때 발생하는 비용을 비교하여 최선의 선택을 한다.
데이터베이스는 백업 시스템을 갖추고 한 대만 운영하고 시작 한다.