카우치베이스 서버 선택 이유

많은 NoSQL 데이터베이스 중에서 카우치베이스를 선택하고자 한다면 다음 4가지 측면을 고려해 보십시오.

간단한 확장성

여러분의 어플리케이션이 성공하면서 늘어난 사용자와 데이터 를 처리하기 위해서 운영 중인 데이터베이스의 미드스트림 (midstream) 의 변경을 원하지는 않을 것입니다. 카우치베이스 서버는 사용자가 필요로 할 때 마다 스케일 업(scaleup) 확장 또는 스케일 다운(scaledown) 축소를 빠르게 할 수 있도록 합니다. 물론, 모든 NoSQL 데이터베이스가 확장성을 갖고 있지만 모두 동일하게 만들어진 것은 아닙니다.

간편한 노드 관리. 카우치베이스 클러스터에서의 모든 서버는 동일하고 설치가 용이합니다. 또한, 마우스 클릭 한 번으로 어플리케이션 다운타임 및 변경 없이 간단하게 노드를 추가 또는 삭제할 수 있습니다. 여러 노드 타입을 가지고 있어, 노드 추가 혹은 삭제가 복잡하거나 노드 수를 변경하기 위해서는 시스템 다운이 필요한 다른 NoSQL 데이터베이스와 비교해 보십시오.

효과적인 autosharding.  카우치베이스의 자동샤딩(autosharding)은클러스터에 부하를 균등하게 유지하여 일부
서버에 부하가 집중되는 “핫 스팟 (hotspot)”이전혀 발생하지 않습니다.다른 NoSQL 데이터베이스는 자동 샤딩이 오히려성능을 떨어뜨리는 핫 스팟을 유발하기도 합니다.

지리적 강점. 카우치베이스는 여러 지역에 걸쳐 확장할 수있어서 사용자는 가장 가까운 데이터센터에서 데이터를 읽고 쓸 수 있습니다.이는 대부분의 다른 NoSQL데이터베이스에는 없는 강점입니다.

Draw Something

Has scaled to 50 million users in 50 days with Couchbase

  learn more?


일관성 있는 고성능 보장

사용자는 뛰어난 대화형 경험을 기대합니다.데이터베이스 계층에서, 이는 빠르고, 예측가능한 데이터 접근 그리고 높은 처리량을말합니다. NoSQL 데이터베이스는일반적으로 관계형 데이터베이스보다빠르지만 성능은 다를 수 있습니다. 일부성긴 잠금 스키마(coarsegrain locking shcema, *굵고/거친 개념의 lock 스키마 구조로 이는대충 크게 묶어서 lock을 처리하는 것을 말함. 반대는미세 잠금 finegrainedlock.)를 갖는
데이터베이스는 부하가 발생하면 읽기와쓰기 대기 시간이 증가하고 예측 불가능한상황이 발생할 수 있어 결국 성능 목표에부합하기 어려울 수 있습니다. 또, 일부 범위기반 파티셔닝 전략을 가지는데이터베이스는 성능에 치명적인 핫스팟(hotspot)을 유발시켜 각 노드별처리량이 대단히 크게 달라 질 수 있습니다.

비교 자료에 의하면, 카우치베이스는 매우 높은 부하에도 작업의 종류에 관계없이  submillisecond (1/1000 초 이하)의 읽기/쓰기 대기 시간을지속적으로 유지합니다. 각 노드별 처리량은읽기/쓰기 작업의 조합에 상관없이 항상 높으며전체 데이터 처리량은 데이터베이스 클러스터의확장과 함께 선형적으로 증가합니다. 또한, 노드 별처리량의 제한 및 허용 가능한 대기 시간을유지하기 위해 클러스터(그리고 서버 비용)를지나치게 크게 잡을 필요가 없습니다.카우치베이스는 비용을 최소화 하면서 여러분의어플리케이션이 성공적으로 성장 할 수 있도록일관성 있는 고성능을 제공합니다.

Thirdparty 벤치마킹 테스트는 카우치베이스서버가 다른 NoSQL 데이터베이스에 비해2~3배의 처리량을 유지하고 있음을보여줍니다. 위 벤치마킹에 대한 자세한 내용은 “Benchmarking Couchbase 문서를 참고하십시오.


24x365 무중단 서비스

많은 어플리케이션은 모든 시간대(time zone)에서사용되고 있기 때문에 24x365 서비스를 제공해야합니다. 이는 하드웨어 업그레이드, 소프트웨어업그레이드 외 기타 작업 등에도 다운타임이
없어야 한다는 의미입니다. 관계형데이터베이스는 종종 24시간 지속적인 운영을위해 고군분투 하고, 윈도우 OS를 유지보수를위해 시스템 중단이 필요할 때도 있습니다. 이는온라인 업그레이드 및 유지보수 작업을 지원하지않는 NoSQL 경쟁자들에게도 마찬가지입니다.

카우치베이스는 항상 24x365무중단 서비스를지원하며, 이는 여러분의 데이터가 항상 사용가능합니다.

  • 무중단 운영은 여러분의 데이터베이스는
    offline으로 할 필요가 없다는 것을의미합니다.
  • 소프트웨어 업그레이드는 rolling online 업그레이드를 이용하여 다운타임 없이 처리
    됩니다.
  • 하드웨어 업그레이드는 유지보수가 필요한노드만 일시적으로 제거하고 active 노드로의 데이터 이동을 위한 online 복제를통해 다운타임 없이 처리합니다.
  • 백업 및 유지보수 작업은 모두 online 상태에서 처리합니다.
  • 특정 데이터센터에 장애가 발생하면, XDCR(데이터센터 간 복제)은 hotstandby 클러스터로 데이터 복원을 자동으로 합니다.

Orbitz사는 무중단 운영을 위해 카우치베이스서버를 사용합니다. 이 차트는 Orbitz의Couchbase Server 클러스터의 무중단 운영을 보여줍니다.Orbitz의 Couchbase 사례에 대해서 더 자세히알아보기 위해서는 다음 문서(Orbitz Takes Off with Couchbase)를 참고하십시오.


유연한 데이터 모델

빠르게 웹 어플리케이션을 변경하는 것은이제 일반적입니다. 이는 다운타임 또는데이터베이스 관리자 없이도 새로운 필드를빠르게 추가할 수 있는 데이터 모델이필요하다는 의미입니다.

카우치베이스와 같은 문서기반 NoSQL데이터베이스들은 엄격한 스키마가 없는JSON 데이터 모델을 갖는데 이는개발자들이 관계형 데이터베이스의 고정된스키마보다 더 자연스럽고 효율적으로개발을 하게끔 합니다.

카우치베이스를 사용하면 여러분은 스키마변경의 복잡함과 시간을 고려하지 않고빠르게 새로운 필드를 추가 할 수 있습니다.이는 엄격한 구조가 없기 때문에 여러분은문서별로 서로 다른 데이터 구조를 사용하고다양한 소스로부터 데이터를 통합 하는 등비정형(unstructured) 및반정형(semistructed)데이터를 처리할 수있습니다. 또한 복잡한 데이터를 쉽게표현할 수 있습니다.이로 인해 개발 주기는 더욱 빨라지고 보다효율적이 됩니다.

McGraw Hill Education은 차세대온라인 학습 포 탈 시스템을 구축 및비즈니스 모델 전환을 위해카우치베이스의 유연한 데이터 모델의장점을 활용하고 있습니다.
더 보기.