2012-03-19 18 views

Trả lời

20

Bạn phải xem xét rằng với SQL Azure bạn không chỉ nhận được lưu trữ, nhưng máy chủ cơ sở dữ liệu quá. Nếu bạn thực hiện RavenDB, bạn sẽ cần một vai trò công nhân để lưu trữ nó và, để cho phép sự thất bại của vai trò công nhân đó, một vai trò công nhân khác (bản sao), cũng tăng gấp đôi lưu trữ.

Hãy nhớ rằng với SQL Azure bạn nhận được giải pháp SQL có sẵn cao (3x nhân rộng với chuyển đổi dự phòng) để hiển thị API quen thuộc (ADO.NET). Thực hiện lựa chọn của bạn dựa trên các khía cạnh khác ngoài chi phí lưu trữ, chẳng hạn như nỗ lực hoạt động và nỗ lực phát triển. Nếu bạn chọn RavenDB, nó phải là do tiết kiệm chi phí tiềm năng trong nỗ lực phát triển (vì sự gần gũi trên API tài liệu với biểu đồ đối tượng) và chi phí hoạt động, vì RavenDB được 'quản lý' như một phần của ứng dụng. Chi phí lưu trữ của byte thực tế, đặc biệt là ở quy mô, là một xem xét cận biên.

+3

+1 - điều này áp dụng cho RavenDB, MongoDB và bất kỳ cơ sở dữ liệu NoSQL nào khác mà bạn chọn cài đặt. SQL Azure là tuyệt vời cho dữ liệu quan hệ, nhưng có thể không phù hợp với lược đồ cụ thể của bạn (hoặc thiếu nó). –

+0

cảm ơn bạn, điều này đã rất hữu ích –

7

Thêm một chút vào câu trả lời của Simon: Khi xem xét Bảng lưu trữ và chi phí thấp, hãy cân nhắc xem bạn có thể sử dụng nó trực tiếp hay không, thay vì sử dụng công cụ cơ sở dữ liệu NoSQL được cài đặt và quản lý. Vì nó là viết tắt, Table Storage cung cấp một giải pháp schemaless cho phép bạn lưu trữ về bản chất một túi thuộc tính trong một hàng, được indexkey + rowkey lập chỉ mục. Điều đó có hiệu quả với bạn không? Bạn có thể làm việc với một vài bảng phụ để cung cấp cho bạn chỉ mục bổ sung không? Nếu vậy, chi phí lưu trữ của bạn sẽ thực sự thấp (và vẫn bền, gấp ba lần).

Nếu bạn thấy mình viết mã quan trọng để quản lý Bộ nhớ bảng, thì có thể hiệu quả hơn khi đầu tư vào các trường hợp Tính toán cần thiết để chạy RavenDB. Khi xem xét điều này, cũng xem xét rằng bạn sẽ có khả năng muốn kích thước máy ảo lớn hơn nếu bạn đang di chuyển dữ liệu quan trọng (khi bạn nhận được khoảng 100Mb/giây). Một cơ sở dữ liệu như MongoDB, làm việc với các tệp ánh xạ bộ nhớ, thực sự dốc lên một cách nhanh chóng với nhiều RAM hơn. Không chắc chắn nếu điều này là như nhau với RavenDB.

+0

Tôi có vấn đề với "cho dù bạn có thể sử dụng [Table Storage], thay vì đi với một cơ sở dữ liệu NoSQL." Bảng lưu trữ là gì nếu không phải là một công cụ cơ sở dữ liệu NoSQL? – smarx

+0

Tôi có nghĩa là roll-your-own-nosql-database-engine chẳng hạn như RavenDB. Đã chỉnh sửa câu trả lời. –

+0

Cảm ơn bạn David! –