MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Wysokowydajne klastry MongoDB na Amazon EC2

Wydajność jest ważnym czynnikiem podczas wdrażania MongoDB w AWS. Z perspektywy sprzętowej wydajność MongoDB na EC2 jest ograniczona przede wszystkim dwoma czynnikami – pamięcią RAM i szybkością dysku. Zazwyczaj (zawsze są wyjątki), procesor nie powinien stanowić problemu, ani pamięć, ponieważ dostępnych jest wiele opcji rozmiaru (R3, I2, C3/C4), które oferują dużą ilość pamięci RAM. Więcej informacji o tym, jak wybrać odpowiedni typ instancji, znajdziesz w moim innym poście na blogu: Jak wybrać odpowiedni typ instancji EC2

Historycznie szybkość dysku i opóźnienia były stałym problemem w Amazon EBS. Jednak Amazon Web Services oferuje teraz kilka opcji, które pomogą Ci zwiększyć wydajność dysku:

  1. Aprowizowane dyski IOPS

    W modelu z obsługą IOPS można określić w czasie tworzenia dysku liczbę IOPS, którą ma obsługiwać dysk. Im więcej IOPS zapewnisz, tym większą przepustowość będzie w stanie obsłużyć Twój dysk. Możesz przejść do 4000 IOPS/dysk! Jednak IOPS może kosztować 0,065 USD za miesiąc IOPS. Na przykład, jeśli udostępnisz dysk 4000 IOPS, będzie to kosztować 260 USD miesięcznie tylko za sam IOPS. Może się to szybko sumować, jeśli masz wiele serwerów.

  2. Lokalny dysk SSD

    To najlepsza opcja dla wydajności dysku w Amazon AWS. Lokalne dyski SSD zapewniają najlepszą przepustowość i opóźnienie ze wszystkich opcji dysków AWS. Jednak nie bez powodu nazywa się je „lokalnymi”. Jeśli z jakiegokolwiek powodu maszyna wirtualna (VM) zostanie zatrzymana, przydzielona pamięć lokalna zostanie zwolniona. Tak więc ciężar wiarygodności danych spoczywa wyłącznie na użytkowniku. Czy możesz wdrożyć dwa lokalne magazyny danych SSD w dwóch różnych strefach dostępności (AZ) i nazwać to rozwiązanym? Nie do końca. Jeśli AWS ma awarię w całym regionie, tak jak miało to miejsce w USA-Wschód kilka lat wcześniej, powinieneś spodziewać się utraty lokalnych dysków SSD we wszystkich swoich AZ. Z tych powodów lokalne instancje SSD nie powinny być używane jako podstawowy magazyn danych dla Twoich danych.

Wysoka wydajność MongoDB:zestaw 3-węzłowych replik

Mając na uwadze te problemy, przedstawiamy naszą wysokowydajną konfigurację MongoDB w AWS. Klastry o wysokiej wydajności wykorzystują hybrydę lokalnego dysku SSD i dysku IOPS z obsługą EBS, aby osiągnąć zarówno wysoką wydajność, jak i wysoką niezawodność. Typowa konfiguracja jest wdrażana przy użyciu zestawu replik składającego się z 3 węzłów.

  • Główny i dodatkowy 1 używają lokalnych dysków SSD
  • Drugi 2 korzysta z obsługiwanych przez EBS IOPS

Wysokowydajny zestaw 3-węzłowych replik MongoDB

Co to oznacza? Ponieważ podstawowy i dodatkowy 1 działają na lokalnym dysku SSD, uzyskujesz najlepszą możliwą wydajność dysku z maszyn AWS. Nigdy więcej EBS opartego na sieci, po prostu szybki lokalny dysk SSD. Odczytuje i zapisuje na Twoim głównym, a nawet odczyty z Secondary 1 będą działać z prędkością SSD. Drugorzędny 2 używa IOPS aprowizowanych przez EBS dla dysku danych i można skonfigurować ilość IOPS do skonfigurowania dla klastra. Taka konfiguracja zapewnia pełne bezpieczeństwo danych, nawet w przypadku korzystania z lokalnych dysków SSD. Obecnie oferujemy cztery rozmiary – Large, XLarge, X2XLarge, X4XLarge. Aby uzyskać więcej informacji, zapoznaj się z sekcjami Bring Your Own Cloud (BYOC) i Dedykowanymi klastrami na naszej stronie z cenami.

Jeśli masz bardzo duże obciążenie związane z zapisem, możliwe, że instancja EBS nie będzie w stanie nadążyć za instancjami SSD. W tym scenariuszu dostępnych jest kilka opcji, a nasz zespół pomocy chętnie Cię przez nie przeprowadzi. Wszystkie nasze istniejące funkcje, w tym tworzenie kopii zapasowych, przywracanie, klonowanie, skalowanie, kompaktowanie itp., działają normalnie. Jeśli masz dodatkowe pytania, skontaktuj się z nami pod adresem [email protected].


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose Model.find nie jest funkcją?

  2. Jak usunąć jeden „dokument” według „identyfikatora” za pomocą oficjalnego sterownika C# dla MongoDB?

  3. Jak połączyć klientów mongodb z lokalną bazą Meteor MongoDB

  4. $allElementsTrue . MongoDB

  5. Uwierzytelnianie aplikacji NodeJS i MongoDB przez JWT