2010-03-02 26 views
8

Có ai có bất kỳ nguồn thông tin tốt về việc sử dụng NHibernate với Sql Azure với các tác động của sharding (vì mũ 10gb) không? Tôi biết có những bài viết trên internet tham khảo một dự án sharding cho NH nhưng họ là từ quý 3 09 và tôi đã không tìm thấy bất kỳ nhiều hơn nữa có liên quan trên google.NHibernate với Sql Azure và Sharding

Có liên quan nào không có thông tin về việc triển khai thủ công sharding nếu dự án sharding không khả thi để sử dụng chưa? Nó sẽ chỉ đơn giản như việc tạo ra một nhà máy sản xuất phiên cho từng phân đoạn và giữ một tập hợp các nhà máy? Điều đó có vẻ như nó sẽ tái tạo các cuộc gọi ISession một cách có vấn đề thông qua mỗi nhà máy nhưng tôi cho rằng nó có thể đạt được bằng cách truyền các hoạt động như Funcs được gọi trên ISession từ mỗi nhà máy nhưng có vẻ như đường đi sai.

+0

Tôi nhận thấy câu hỏi của bạn về sharding đã được trả lời, nhưng trong tháng 6 năm 2010, SQL Azure sẽ có kích thước lưu trữ 50GB. Điều này có khả năng có thể loại bỏ (hoặc ít nhất là giảm) sự cần thiết phải sharding. Xem http://blogs.msdn.com/sqlazure/archive/2010/03/19/9981936.aspx –

+0

@David cảm ơn bài đăng này, đây thực sự là một tin tuyệt vời như một db 50GB khá là đáng kể và tương đối dễ làm việc trong nếu bạn lưu trữ dữ liệu lịch sử nhưng 10GB cho bất kỳ nền tảng doanh nghiệp nào có thể được thực hiện nhanh chóng. –

Trả lời

4

Tôi đã viết bằng chứng về khái niệm khoảng một tháng trước bằng cách sử dụng NHibernate trên SQLAzure/Sharding. Như bạn đã chỉ ra, có những khía cạnh mà không cảm thấy đúng về nó. Cho đến khi sự hỗ trợ của NH đã phát triển, bạn có thể phải thử một vài điều để tìm ra những gì phù hợp nhất với bạn. Tôi có thể nói với bạn một dòng chảy chung về cách nó làm việc cho chúng tôi.

Chúng tôi đã triển khai một nhà máy chiến lược sharding đơn giản cung cấp các chiến lược quyết định phân đoạn nào sẽ đưa bạn vào dựa trên nhu cầu của chúng tôi. Nhu cầu của bạn có thể thay đổi ở đây. Điều quan trọng là tạo ra các chiến lược xử lý, hợp nhất và sắp xếp các kết quả truy vấn của bạn. Từ đó, việc tạo và sử dụng phiên là tất cả giống như bất kỳ cách sử dụng phiên nào khác, điều này rất đáng mong muốn.

CHỈNH SỬA: Tôi biết this post by Ayende là một vài tháng tuổi, nhưng đó chính xác là cách chúng tôi triển khai và nó hoạt động. Tin đồn là hỗ trợ tốt hơn trong nHibernate sẽ đến.

+0

Đó là lần đầu tiên tôi thực sự thấy bài đăng đó chắc chắn rất hữu ích để xem. –

+0

Tôi thực sự hy vọng có thêm thông tin trong câu hỏi này, đó là lý do tại sao tôi đặt tiền thưởng lớn nhất cho câu hỏi này nhưng bài đăng của bạn đã cung cấp thêm thông tin cho tôi và bạn chỉ là người cung cấp bất kỳ trợ giúp nào. tiền thưởng thay vì để SO hết hạn và cho bạn một nửa. –

+0

Cảm ơn, Chris. Tôi cũng hy vọng nhiều người hơn sẽ nhảy vào điều này vì tôi tò mò muốn xem liệu có ai có giải pháp tốt hơn không. :-) – Kilhoffer