2012-06-26 33 views
9

Có công thức/ước tính/chỉ số cho chúng ta biết số lượng chỉ mục tối ưu trong cơ sở dữ liệu RavenDB theo số loại tài liệu, số trường trên tài liệu và số lượng quan hệ giữa chúng?Có quá nhiều chỉ mục trong RavenDB

Ghi chú thêm:

Theo tôi được biết (1st), chúng tôi truy vấn các chỉ số trong RavenDB, không tài liệu và (2) lập chỉ mục cũng giống như cụ thể hóa quan điểm, để họ có thể chi phí nhiều. Tôi cần phải biết có bao nhiêu chỉ mục sẽ làm tổn thương hiệu suất của RavenDB trong việc cập nhật chúng và làm cho độ trễ quá lớn để bỏ qua?

Vì Raven/MaxNumberOfParallelIndexTasks được đặt thành số bộ xử lý trong máy hiện tại, điều đó có nghĩa là quá trình lập chỉ mục cho các chỉ mục khác sẽ chặn cho đến khi các tác vụ lập chỉ mục hiện tại kết thúc? Hoặc chúng là các bản cập nhật từng phần sẽ chạy lặp đi lặp lại?

+0

đây là một câu hỏi thú vị. không chắc chắn chúng ta sẽ thấy câu trả lời cụ thể trừ khi người sáng tạo tham gia, nhưng đáng giá +1 –

+1

@marc_s Cảm ơn bạn đã chỉnh sửa. –

+0

@nathan gonzalez Tôi rất mong chờ nó! –

Trả lời

3

Kaveh, Nói chung, chúng tôi thích số chỉ mục nhỏ hơn, vì các chỉ mục có chi phí không tầm thường được liên kết với chúng. Điều đó nói rằng, họ không chi phí much, đặc biệt là kể từ khi họ đang được xây dựng trong nền.

Chúng tôi có nhiều khách hàng chạy với vài chục chỉ mục và chúng tôi có một số khách hàng chạy với vài trăm chỉ mục.

MaxNumberOfParallelIndexTasks kiểm soát số lượng chỉ mục chúng tôi cập nhật song song, nhưng cách thức và lý do hoạt động của chỉ mục là phức hợp bit để giải thích. Từ quan điểm của bạn, nó không thực sự áp dụng, vì cùng với MaxNumberOfParallelIndexTasks, chúng tôi cũng tính đến những thứ như tải hệ thống hiện tại, chi phí io, v.v. Với số lượng lớn chỉ mục, một số chỉ mục sẽ chờ trong khi các chỉ mục khác đang xây dựng , có, nhưng đó là tùy thuộc vào một tập hợp các giới hạn, và bạn không có khả năng để có thể nhìn thấy điều này như là một vấn đề trong các tình huống thế giới thực.

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