MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Các cụm MongoDB hiệu suất cao trên Amazon EC2

Hiệu suất là yếu tố quan trọng cần cân nhắc khi triển khai MongoDB trên AWS. Từ góc độ phần cứng, hiệu suất MongoDB trên EC2 chủ yếu được kiểm soát bởi hai yếu tố - RAM và tốc độ đĩa. Thông thường (luôn có ngoại lệ), CPU cũng không phải là vấn đề, vì có rất nhiều tùy chọn kích thước có sẵn (R3, I2, C3 / C4) cung cấp dung lượng RAM lớn. Để biết thêm chi tiết về cách chọn loại phiên bản phù hợp, hãy xem bài đăng trên blog khác của tôi:Cách chọn loại Phiên bản EC2 phù hợp

Trước đây, tốc độ và độ trễ của ổ đĩa là một vấn đề thường xuyên xảy ra trên Amazon EBS. Tuy nhiên, Amazon Web Services hiện cung cấp một số tùy chọn để giúp bạn hiệu suất ổ đĩa:

  1. Đĩa IOPS được cung cấp

    Trong mô hình IOPS được cung cấp, bạn có thể chỉ định số IOPS tại thời điểm tạo đĩa mà bạn muốn đĩa của mình hỗ trợ. Bạn càng cung cấp nhiều IOPS, thì đĩa của bạn càng có thể xử lý nhiều thông lượng hơn. Bạn có thể lên tới 4000 IOPS / đĩa! Tuy nhiên, IOPS có thể đắt ở mức $ 0,065 mỗi IOPS tháng. Ví dụ:nếu bạn cung cấp 4000 IOPS cho đĩa, bạn sẽ phải trả 260 đô la / tháng cho riêng IOPS. Điều này có thể nhanh chóng bổ sung nếu bạn có nhiều máy chủ.

  2. SSD cục bộ

    Đây là tùy chọn tốt nhất cho hiệu suất ổ đĩa trên Amazon AWS. SSD cục bộ cung cấp thông lượng và hành vi độ trễ tốt nhất trong tất cả các tùy chọn đĩa AWS. Tuy nhiên, chúng được gọi là "địa phương" là có lý do. Nếu vì bất kỳ lý do gì, máy ảo (VM) của bạn bị dừng, thì bộ nhớ cục bộ được cấp phát sẽ được giải phóng. Vì vậy, gánh nặng về độ tin cậy của dữ liệu được đặt lên vai người dùng. Bạn có thể triển khai hai kho dữ liệu SSD cục bộ ở hai vùng khả dụng khác nhau (AZ) và gọi nó là đã giải quyết được không? Không hẳn. Nếu AWS bị ngừng hoạt động trên toàn khu vực như đã xảy ra ở Đông Hoa Kỳ vài năm trước, bạn có thể sẽ mất ổ SSD cục bộ của mình trong tất cả các AZ của bạn. Vì những lý do này, không nên sử dụng các phiên bản SSD cục bộ làm nơi lưu trữ dữ liệu chính cho dữ liệu của bạn.

MongoDB:Bộ bản sao 3 nút hiệu suất cao

Với những vấn đề này, chúng tôi đang giới thiệu cấu hình MongoDB hiệu suất cao của mình trên AWS. Các cụm hiệu suất cao sử dụng kết hợp giữa SSD cục bộ và đĩa IOPS được cung cấp bởi EBS để đạt được cả hiệu suất cao và độ tin cậy cao. Một cấu hình điển hình được triển khai bằng cách sử dụng tập hợp bản sao 3 nút.

  • Chính và Phụ 1 sử dụng đĩa SSD cục bộ
  • Phụ 2 sử dụng IOPS được EBS cấp phép

Bộ bản sao 3 nút MongoDB hiệu suất cao

Điều này có nghĩa là gì? Vì Thiết bị chính và Thiết bị phụ 1 đang chạy trên SSD cục bộ, bạn sẽ có được hiệu suất đĩa tốt nhất có thể từ các máy AWS của mình. Không còn EBS dựa trên mạng, chỉ cần SSD cục bộ cực nhanh. Đọc và ghi vào Thiết bị chính của bạn và thậm chí cả các lần đọc từ Thiết bị phụ 1 sẽ hoạt động ở tốc độ SSD. Phụ 2 sử dụng IOPS được cung cấp bởi EBS cho đĩa dữ liệu và bạn có thể định cấu hình số lượng IOPS để định cấu hình cho cụm của mình. Cấu hình này cung cấp sự an toàn hoàn toàn cho dữ liệu của bạn, ngay cả trong trường hợp bạn sử dụng đĩa SSD cục bộ. Chúng tôi hiện đang cung cấp bốn kích thước - Large, XLarge, X2XLarge, X4XLarge. Để biết thêm chi tiết, hãy tham khảo phần Mang theo đám mây của riêng bạn (BYOC) và Nhóm chuyên dụng trên trang giá của chúng tôi.

Nếu bạn có khối lượng công việc ghi rất cao, có thể bản sao EBS của bạn không thể theo kịp các bản sao SSD của bạn. Trong trường hợp này, có một số tùy chọn khả dụng và nhóm hỗ trợ của chúng tôi rất sẵn lòng hướng dẫn bạn qua các tùy chọn đó. Tất cả các chức năng hiện có của chúng tôi, bao gồm sao lưu, khôi phục, sao chép, mở rộng quy mô, thu gọn, v.v. tiếp tục hoạt động như bình thường. Nếu bạn có thêm câu hỏi, vui lòng liên hệ với chúng tôi theo địa chỉ [email protected].


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để kiểm tra đơn vị một phương thức kết nối với mongo mà không thực sự kết nối với mongo?

  2. MongoDB $ inc

  3. MongoDB - Nhập dữ liệu

  4. MongoDB và Cassandra

  5. Lỗi:tài liệu thao tác cập nhật phải chứa toán tử nguyên tử, khi chạy updateOne