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

Năm mẹo để lưu trữ MongoDB tốt hơn trên Azure

Nền tảng điện toán đám mây Azure đã trải qua một loạt cải tiến chóng mặt trong vài năm qua, hầu như không giống với nền tảng ban đầu mà Microsoft đã bắt đầu vào năm 2010. ScaleGrid là một trong những các nền tảng lưu trữ MongoDB sớm nhất để hỗ trợ Azure và chúng tôi đã tiếp tục phát triển dịch vụ của mình khi Azure phát triển.

Cho dù bạn đã sử dụng Azure được một thời gian hay mới bắt đầu sử dụng Azure cho dịch vụ lưu trữ MongoDB, đây là một số mẫu thiết kế kiến ​​trúc bạn nên xem xét để đảm bảo rằng bạn đang tận dụng Nền tảng Azure cho trải nghiệm lưu trữ MongoDB tốt nhất.

    1. Nền tảng trình quản lý tài nguyên Azure (ARM)

      Tận dụng sức mạnh của nền tảng Trình quản lý tài nguyên Azure (ARM) mới. Nếu bạn vẫn đang sử dụng nền tảng Azure Classic, thì bây giờ là thời điểm để chuyển! Có một số lợi ích khi chuyển sang nền tảng ARM mới bao gồm tận dụng các đĩa được quản lý, mạng ảo và các phiên bản dành riêng. Tất cả các lợi ích được nêu chi tiết trong phần Lợi ích của việc chuyển IaaS sang bài đăng trên blog Trình quản lý tài nguyên Azure.

    2. Mạng ảo Azure &Nhóm bảo mật mạng

      Cơ sở dữ liệu được triển khai tốt nhất trong các mạng con riêng tư không tiếp xúc với internet. Azure cho phép bạn tạo Mạng ảo (VNET) của riêng mình và triển khai các máy chủ cơ sở dữ liệu của bạn tới các mạng con cụ thể. Bạn cũng có thể xử lý kiểm soát truy cập bằng cách tạo quy tắc Nhóm An ninh Mạng (NSG) và chỉ định một IP công cộng cho máy chủ cơ sở dữ liệu của bạn (chỉ) nếu bạn cần làm cho nó có thể truy cập được qua internet. Là một phần của mô hình Mang lại đám mây cho riêng bạn, chúng tôi cho phép khách hàng triển khai các cụm MongoDB trong VNET của riêng họ để tận dụng các biện pháp kiểm soát bảo mật nâng cao của VNET và NSG.

    3. Tập hợp và vùng khả dụng của Azure

      Bộ khả dụng là cần thiết để phân phối các nút trong cụm của bạn trên các phần cứng khác nhau. Bằng cách này, một lỗi phần cứng không ảnh hưởng đến tất cả các nút của bạn. Khuyến nghị của chúng tôi là tạo một tập hợp sẵn sàng cho mỗi bản sao. Azure gần đây cũng đã giới thiệu các khu vực Khả dụng để bảo vệ bạn khỏi sự cố ngừng hoạt động ở cấp trung tâm dữ liệu. Bạn có thể phân phối các bản sao của mình trên các vùng khả dụng để có 99,99% thời gian hoạt động.

      5 Mẹo để Lưu trữ #MongoDB tốt hơn trên AzureNhấp vào Tweet

    4. Các loại phiên bản Azure

      Việc chọn loại phiên bản Azure phù hợp cho tải MongoDB của bạn là rất quan trọng - không phải tất cả các loại phiên bản đều phù hợp với MongoDB. Nói chung, bạn nên xem xét các loại phiên bản "Bộ nhớ được tối ưu hóa" hoặc các loại phiên bản "Bộ nhớ được tối ưu hóa".

      Loạt phiên bản Ev3 mới nhất được tối ưu hóa cho bộ nhớ thường là điểm khởi đầu tuyệt vời cho hầu hết các khối lượng công việc MongoDB. Nếu bạn cần nhiều CPU hơn mức được cung cấp bởi E2 v3, bạn có thể xem xét các loại phiên bản Dv3 'Mục đích chung'.

      Các trường hợp chế độ 'Burst' - 'B1S, B1MS, B2MS' thường phù hợp với khối lượng công việc nhỏ, môi trường dev / test, v.v. Khi dữ liệu của bạn lớn hơn, Dòng L4 'được tối ưu hóa lưu trữ' với các đĩa Azure SSD cục bộ là một lựa chọn tuyệt vời - chi tiết hơn trong phần Azure Disk bên dưới. Nói chung, loại phiên bản phù hợp phụ thuộc vào khối lượng công việc của bạn, vì vậy điều quan trọng là phải lặp lại và tải thử nghiệm các loại phiên bản khác nhau với khối lượng công việc của bạn.

    5. Đĩa Azure

      Azure cung cấp nhiều loại đĩa khác nhau để xử lý các khối lượng công việc khác nhau:

      • Đĩa kế thừa (Chuẩn &Cao cấp)

        Vì mục đích của cuộc thảo luận này, chúng tôi sẽ không xem xét các đĩa Legacy Azure. Nếu đang sử dụng đĩa cũ, bạn nên cân nhắc chuyển sang đĩa được quản lý.

      • Đĩa được quản lý (Chuẩn &Cao cấp)

        Azure Managed Disks giúp đơn giản hóa đáng kể việc quản lý các đĩa máy tính của bạn trên Azure. Chúng cung cấp một số lợi thế so với các đĩa cũ:

        • Không cần phải lo lắng về tài khoản bộ nhớ.
        • Không cần phải lo lắng về kích thước tài khoản lưu trữ và giới hạn hiệu suất.
        • Dễ dàng chụp nhanh và tạo đĩa mới từ ảnh chụp nhanh.
        • Dễ dàng chuyển đổi từ tiêu chuẩn sang cao cấp và ngược lại.
        • Tận dụng các bộ tính khả dụng nâng cao để áp dụng cho đĩa của bạn.

        Bạn có thể tìm thấy chi tiết đầy đủ về sự khác biệt giữa đĩa được quản lý và đĩa cũ trong tài liệu Azure.

        Đĩa được quản lý cao cấp cũng cung cấp các chuẩn IOPS khác nhau tùy thuộc vào kích thước của đĩa. Đối với các cụm MongoDB sản xuất, chúng tôi thực sự khuyên bạn nên sử dụng Đĩa được quản lý cao cấp trong khi đối với môi trường nhà phát triển / thử nghiệm, Đĩa được quản lý tiêu chuẩn rất phù hợp.
      • Đĩa SSD cục bộ

        Loại phiên bản Azure ‘Tối ưu hóa bộ nhớ’ cung cấp các ổ SSD cục bộ lớn mang lại thông lượng tốt nhất trong Azure. Đây là sự phù hợp tuyệt vời cho các cụm lớn cần nhiều đầu vào / ra đĩa (I / O). Các cụm Azure High Performance của chúng tôi dành cho MongoDB sử dụng các phiên bản L-series. Tuy nhiên, các đĩa SSD cục bộ là "phù du" - khi bạn dừng phiên bản, dữ liệu sẽ biến mất. Vì vậy, điều quan trọng là phải hết sức thận trọng khi sử dụng đĩa cục bộ. Khuyến nghị của chúng tôi là sử dụng một bản sao trên Đĩa cao cấp được quản lý để đảm bảo an toàn cho dữ liệu.

Tôi biết chúng tôi đã hứa với 5 lời khuyên, nhưng đây là một mẹo bổ sung cho con đường:

  1. Đòn bẩy Phiên bản dành riêng cho Azure

    Azure hiện hỗ trợ Phiên bản dành riêng (RI’s) a.k.a AWS. Bạn có thể mua Phiên bản dành riêng cho Azure trong khoảng thời gian một năm hoặc ba năm nâng cao và giảm đáng kể chi phí lưu trữ MongoDB của bạn lên đến 82%.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:tổng hợp trường thêm $ dự án với giá trị tĩnh

  2. Giữ kết nối cơ sở dữ liệu MongoDB mở

  3. Cách xóa phần tử thứ n của mảng trong mongodb

  4. Truy vấn phân cấp với Mongo bằng cách sử dụng $ graphLookup

  5. Không tìm thấy lớp 'MongoClient'