2013-02-07 31 views
5

Hãy cơ sở dữ liệu 100GB ví dụ này:MongoLab vs Azure Table lưu trữ

Azure chi phí lưu trữ: 6,05 £/m MongoLab trên AWS với 1 chi phí nút: £ 153,18/m

Tôi có thiếu cái gì? Đã tính toán điều gì đó không chính xác? Ai đó có thể dọn dẹp mọi thứ cho tôi ở đây không? Tôi sẽ sử dụng MongoLab nhiều hơn vì tôi thực sự thích nút/mongoDB. Nhưng nó có vẻ là một giải pháp hiệu quả hơn chi phí để đi với Bảng lưu trữ.

Tôi biết sự khác biệt giữa Khóa/Giá trị và Cửa hàng tài liệu và tôi thích thứ hai.

Trả lời

12

Bạn cần lưu ý rằng Bộ lưu trữ bảng Azure (ATS) là lưu trữ dưới dạng dịch vụ. Bạn không cần thiết lập bất kỳ máy chủ nào để quản lý lưu trữ và các hoạt động CRUD có liên quan. Điều này được xử lý cho bạn bởi Azure, vì ATS là một hệ thống đa người thuê lớn. Bạn chỉ cần yêu cầu một tài khoản, nhận điểm cuối (cộng với khóa chính &), và tắt bạn đi, trả khoảng 7 xu cho mỗi GB (và một xu cho mỗi giao dịch 100K, điều này là không đáng kể).

Với MongoDB, bạn cần phải sắp xếp (các) máy chủ của riêng bạn, cho dù trong AWS hoặc Azure (hoặc tại chỗ hoặc bất kỳ nơi nào khác), cũng như cấp phép lưu trữ. Các nhà cung cấp đám mây hiện tại không có dịch vụ MongoDB-as-a-Service. Cơ sở chi phí của bạn bây giờ cao hơn nhiều so với ATS và bạn chịu trách nhiệm sao lưu/chụp nhanh, bảo trì MongoDB, v.v. Ngay cả việc triển khai MongoDB trong xương trần sẽ khiến bạn tốn ít nhất hai phiên bản máy ảo (một máy chủ độc lập trong sản xuất không được khuyến khích do thời gian chết định kỳ). Các phiên bản Azure nhỏ nhất là $ 0,02/giờ hoặc khoảng $ 14 hàng tháng x 2, với mức tối thiểu khoảng $ 30/tháng (đây là một máy ảo cấp thấp có RAM dưới 1 GB; nó sẽ không cung cấp cho bạn MongoDB hiệu năng cao, nhưng có thể làm việc tuyệt vời chỉ với một trang web hoặc blog có điểm hiện diện với ít lưu lượng truy cập). Tính khả dụng của sự hy sinh, bạn có thể chạy một phiên bản cực nhỏ ở mức 14 đô la/tháng cộng với chi phí lưu trữ (cần lưu trữ lâu bền, vì vậy bạn đang nói khoảng 7 cent/GB/tháng).

Bây giờ, bạn đề cập đến MongoLab. Họ do có MongoDB-as-a-Service và đã xây dựng giải pháp lưu trữ nhiều người thuê và dịch vụ của họ có sẵn trên một số đám mây, bao gồm Azure. Giá mà họ tính phí cho khoản đầu tư của họ vào các trường hợp máy ảo, lưu trữ và băng thông, cũng như bảo trì máy chủ, chiến lược sao lưu, hỗ trợ, tính khả dụng cao, giám sát, v.v.

Tôi sẽ không quá cố định về chi phí lưu trữ là yếu tố quyết định duy nhất của bạn. Nếu bạn cần thực hiện bất kỳ loại truy vấn phức tạp nào, với nhiều trường được lập chỉ mục, với ATS, bạn sẽ cần phải xây dựng các bảng bổ sung để cung cấp các chỉ mục đó (hoặc bạn sẽ thực hiện quét phân vùng hoặc quét bảng để tìm nội dung bạn nhu cầu). MongoDB có một công cụ tìm kiếm và tập hợp rất mạnh mẽ. Nếu ứng dụng của bạn cần điều này, bạn có thể chi tiêu nhiều tiền hơn vào kỹ thuật thời gian của nhà phát triển và duy trì độ phức tạp của lưu trữ bảng bổ sung, so với việc sử dụng MongoDB và ứng dụng của bạn đang chạy "hôm nay". Mặt khác, nếu bạn có dữ liệu phù hợp với dung lượng lưu trữ bảng, trong đó phân vùng + khóa hàng bao gồm phần lớn các trường hợp tìm kiếm của bạn và bạn có thể tận dụng các giao dịch nhóm thực thể để cập nhật nguyên tử, bạn nên xem xét lưu trữ bảng không chỉ chi phí mà còn cho quy mô (200TB cho mỗi tài khoản lưu trữ) và hiệu suất.

Tôi hy vọng điều này sẽ giúp ...

+0

Tôi cũng sẽ thêm điều đó với dịch vụ Lưu trữ dưới dạng dịch vụ mà bạn không thường xuyên nhận được công cụ thực thi. Đó là một sự khác biệt rất lớn giữa MonoDB/SQL Azure vs Azure Table Storage. Việc thực hiện xảy ra trên cả máy khách lẫn máy chủ, trong khi nếu tôi chạy một lệnh/thủ tục sql được lưu trữ, tôi chỉ quan tâm đến các kết quả trên máy khách.Lý do cho việc này là làm những việc đơn giản như nhận số lượng hoặc phân tích bạn phải mang lại một số dữ liệu/siêu dữ liệu cho khách hàng và sau đó xử lý nó (trong trường hợp của một số hoạt động lưu trữ bảng Azure). –

Các vấn đề liên quan