Nghiên cứu về Slow Query trong MongoDB

2coffee.dev

Nghiên cứu về Slow Query trong MongoDB

Xin chào các độc giả của 2coffee.dev, cách đây vài tuần tôi có tiết lộ đang làm một tính năng bài viết mới khác với những bài viết truyền thống trên blog. Tính năng này tập trung vào nghiên cứu thông qua nhiều bài viết ngắn có liên kết với nhau thay vì đặt thành một thể thống nhất. Vì tính chất của nghiên cứu là đọc, ghi chép lại rất nhiều và quan tâm đến quá trình cũng như tài liệu tham khảo hơn là vào cách viết. Vì vậy đây sẽ là bài viết đầu tiên của thể loại này.

Hơn một tháng qua ở chỗ làm, chúng tôi vừa trải qua một đợt nâng cấp hệ thống, trong đó có một phần liên quan đến máy chủ MongoDB. Nhiệm vụ lớn nhất là nâng cấp phiên bản, song song với đó là quá trình phân tích để tối ưu lại một số truy vấn đang gây chậm trong toàn hệ thống. Tôi là người phụ trách chính và lên kế hoạch phân tích cũng như đưa ra các giải pháp để tối ưu. Một trong số đó được ghi chép lại trong bài viết này.

Để khám phá, bạn đọc có thể bấm vào biểu tượng thư mục ở phía trên bên phải tiêu đề bài viết, nó sẽ mở ra danh sách tất cả bài viết trong chủ đề.

Hoặc bạn đọc cũng có thể khám phá theo cách dẫn dắt của tôi. Ví dụ bài viết đầu tiên nên đọc là Slow query là gì?. Chỉ cần di chuyển con trỏ chuột vào liên kết, bạn sẽ thấy một ô nội dung hiện ra bên cạnh tiện cho quá trình theo dõi mà không cần phải bấm vào liên kết. Còn khi bấm vào, trang web hiển thị một Drawer kéo lên từ phía dưới màn hình để dễ quan sát nội dung hơn.

Vì là tập hợp các bài viết, sẽ có lúc bạn đọc cần giữ lại một số bài để tiện quan sát và tham chiếu lẫn nhau. Chỉ cần bấm vào biểu tượng "Ghim" ở phía trên bên phải trong Drawer ngay lập tức bài viết đó được ghim ra màn hiển thị chính. Hiện tại bạn có thể ghim tối đa 4 bài viết, nếu muốn ghim thêm hãy đóng bớt bài viết bằng cách bấm vào dấu "x".

Giới thiệu thế thôi, sau khi đã biết Slow query là gì?, bạn đọc nên tìm hiểu về Sự khác nhau giữa index đơn trường và đa trường để biết nên sử dụng index như thế nào cho hợp lý. Sau đó đọc thêm về Các loại index trong mongodb.

Cuối cùng phân quan trọng nhất là học cách Phân tích một truy vấn chậm, thông thường các truy vấn chậm được ghi lại trong nhật ký và bạn có thể xem lại, tuy nhiên để xem đầy đủ thông tin hơn tốt nhất vẫn là đưa câu truy vấn từ nhật ký vào lệnh phân tích để cho kết quả tốt nhất.

Một lưu ý không kém phần quan trọng bên cạnh tăng tốc truy vấn chậm là danh sách Các giải pháp tăng tốc truy vấn.

Tính năng vẫn đang trong quá trình hoàn thiện nên còn nhiều hạn chế. Tôi sẽ cố gắng nâng cấp để mang đến trải nghiệm tốt hơn cho độc giả trong tương lai.