2012-05-27 19 views
6

Tôi cần lưu trữ số liệu thống kê 10 năm từng phút với chỉ số thời gian (và tính toán). Tôi không muốn một db sql nhưng NoSQL. Điều gì sẽ là tốt nhất cho .NET?NoSQL DB tốt nhất cho .NET để lưu trữ nhiều số liệu thống kê từng phút với chỉ mục thời gian?

Bằng cách tốt nhất mà tôi có nghĩa là:

1 °) Hiệu suất (để đọc nhanh để làm tính trong 2) 2 °) Dễ dàng để làm tính như trung bình từ một nguồn gốc thời gian ví dụ 3 °) Đối với .NET

+0

Hai câu hỏi, tại sao ** phải ** đó là NoSql và cách bạn xác định "tốt nhất"? Cho đến khi bạn trả lời, bạn sẽ không nhận được nhiều phản hồi. –

Trả lời

2

Tốt nhất cho '.NET' là chủ quan. Chỉ có một được xây dựng bằng cách sử dụng NET là RavenDB, nhưng những người khác như CouchDBMongoDB cũng có 'trình điều khiển' cho phép bạn truy vấn chúng bằng cách sử dụng một bộ các thư viện .NET sao cho khách hàng tất cả đều có thể sử dụng trong ứng dụng .NET.

Mặc dù tất cả chúng đều chạy trên Windows, tôi đoán nó có liên quan nhiều hơn đến nền tảng nào bạn định chạy chúng. Kiểm tra here cho ngôn ngữ mà chúng được phát triển, có thể khó cài đặt và duy trì thứ gì đó được phát triển trong Erlang theo ý kiến ​​của tôi.

Một điểm cần lưu ý khác là cách bạn tạo chỉ mục. Trong RavenDB bạn tạo các chỉ mục và các hàm map/reduce trong .NET bằng cách sử dụng LINQ. Trong CoucbDB bạn sử dụng Javascript.

+0

Tôi đã cập nhật ý tôi là tốt nhất. Cảm ơn bạn đã đề xuất. – user310291

1

Làm cách nào để sử dụng bộ nhớ cache của ứng dụng?

Không thực sự là một DB mỗi se nhưng nó sẽ mang lại hiệu suất và hoạt động theo cách NoSQL Key/Value. Nhược điểm sẽ là không gian lưu trữ nhưng bạn có thể xây dựng hệ thống của bạn để giữ cả một lưu trữ vĩnh viễn trong DB và lưu trữ tạm thời trong bộ nhớ cache để tính toán. Nhược điểm khác nếu bạn đang làm việc với nhiều máy chủ: bạn cần phải lo lắng về khả năng sẵn sàng bộ nhớ cache trên một số máy. Một số nhược điểm nhưng hiệu suất HUGE mang lại lợi ích cho IMO.