2013-08-23 7 views
1

나는 mongodb 및 amazon ec2를 처음 사용합니다.
mongo 복제본은 다음과 같습니다. 1/데이터 손실 방지 및 2/읽고 더 빠르게 처리합니다.
아마존에는 EbS가 있습니다. 내가 아는 바로는 예를 들어 드롭 박스와 같은 글로벌 영구 저장소입니다.
아마존이 EBS로 그 필요성을 추상화한다면 복제본을 가질 필요가 있습니까?
미리 감사드립니다.
토마스mongodb 복제본을 amazon ebs와 어떻게 비교합니까?

+0

EBS와 복제본은 완전히 다른 두 가지이며 두 가지 완전히 다른 수준에서 작동합니다. – Sammaye

답변

1

두 가지를 명확히 해줍니다.

기존 기술 내에서 작업하는 경우 EBS는 본질적으로 SAN 볼륨입니다. 하나의 인스턴스에 연결할 수는 있지만 전체적으로 IO가 제한적입니다. RAID를 사용하면 IO를 최대화하는 데 도움이되며 제공된 IOPS는 처리량을 최대화하는 데 도움이됩니다.

그러나 MongoDB를 사용하면 메모리 내에서 인덱스에 완전히 액세스 할 수있는 충분한 메모리를 원하고 디스크를 적중해야하는 경우 성능이 떨어집니다.

Mongo는 기본적으로 페일 오버 및 복제에 사용되는 복제본을 사용할 수 있습니다 (모든 쓰기는 기본으로 적용해야 함). 성능 향상을 위해 데이터 세트를 분할하는 데 사용되는 샤딩. 저장을 위해 EBS를 사용하는 경우에도 여전히 이러한 작업을 수행해야합니다.

+0

그래서 1 대의 컴퓨터보다 많은 데이터를 처리 할 수 ​​있지만 EBS는 해결책이 아니라 정기적 인 mongodb 샤딩을 사용해야합니다. 복제 및 샤딩에 아마존 서버를 사용하고 EBS에 대해 잊어 버리시겠습니까? – Thomas

+0

EBS을 계속 사용할 가능성이 높습니다. EC2 인스턴스, EBS 및 인스턴스 저장소에는 두 가지 저장소 옵션 만 있습니다. 인스턴스 저장소가 더 나은 성능을 제공 할 수 있지만 (특히 SSD Hi IO 인스턴스에서) 인스턴스가 중지되면 인스턴스 저장소가 손실되므로 신중하게 데이터베이스 복제를 설계해야합니다. – datasage

+0

바보 같은 후속 조치 : 1Gb EBS 볼륨이 거의없고, 1Tb EBS 볼륨이 거의 없거나, 1GB EBS 볼륨이 여러 개인 경우가 있습니까? – Thomas

1

복제본은 저장소 중복성뿐만 아니라 서버 중복성을위한 것입니다. 예를 들어, 호스트가 앉아 있기 때문에 MongoDB 서버 (EBS 볼륨을 사용하는 서버)가 갑자기 사라지면 어떻게됩니까? 이를 대체하기 위해 새로운 인스턴스를 복제하거나, 인스턴스에 볼륨을 첨부하거나, 트래픽을 다시 라우팅하거나, Mongo의 복제 세트를 사용하지 않아도됩니다. 그들 중 하나가 실패하더라도 그들은 계속 일하기 때문에 기본적으로 시간은 0입니다.

또한 하나 이상의 중복성 계층입니다. AWS에 볼륨을 지우거나 오랫동안 사용할 수 없게하는 버그가 있다면 지금까지 EBS를 신뢰할 수 있습니까? 복제본 세트를 사용하면 가용 영역이나 완전히 다른 클라우드 제공 업체로 데이터를 복제 할 수도 있습니다.

복제 세트를 사용하면 여러 노드에서 읽을 수 있으므로 이론적으로 EBS 연결이 한 인스턴스에서 제공하는 것을 최대한으로 계산 한 후에 읽기 처리량을 늘릴 수 있습니다.