Quản trị cơ sở dữ liệu MongoDB

MongoDB Compass

Công cụ chính thức để xem và sửa dữ liệu MongoDB bằng giao diện

Sau một hai năm, không ai còn biết chắc dữ liệu trong một cơ sở dữ liệu phi quan hệ đang có hình dạng gì — và đó là vấn đề thật.

Miễn phíCông cụ chính thứcChỉ dùng cho MongoDB
8
ĐIỂM TOPỨNGDỤNG
Hạng #15 trong nhóm Developer & lập trình
Nhà phát triển
MongoDB
Nền tảng
Windows · macOS · Linux
Giá
Miễn phí · Là công cụ chính thức của hệ cơ sở dữ liệu này · Windows, macOS, Linux
Ngôn ngữ
English
NGƯỜI DÙNG CHẤM

Bạn đánh giá MongoDB Compass thế nào?

Điểm này độc lập với điểm của ban biên tập và quyết định thứ hạng ở tab “Người dùng bình chọn”.

Chưa có bình chọn
Bạn thấy sao?
Không cần đăng nhập. Mỗi người một phiếu, đổi lại được.
CHẤM ĐIỂM

Điểm từng tiêu chí

Điểm tổng là trung bình có trọng số của các tiêu chí bên dưới.

Phân tích hình dạng dữ liệu
9.7
Duyệt và sửa bản ghi
9
Phân tích truy vấn chậm
9
Phạm vi hệ hỗ trợ
5
Thao tác hàng loạt
6
REVIEW

Đánh giá chi tiết MongoDB Compass

Trả lời ngắn: MongoDB Compass hữu ích nhất ở chỗ ít người nghĩ tới — nó cho bạn thấy dữ liệu thật đang có hình dạng gì, điều rất quan trọng với cơ sở dữ liệu không ràng buộc cấu trúc.

Phạm vi: chỉ dùng cho một hệ duy nhất, không phải công cụ đa năng.

Vì sao cần nhìn thấy hình dạng dữ liệu?

Với cơ sở dữ liệu quan hệ truyền thống, mỗi bảng có cấu trúc cố định: bạn khai báo trước có những cột nào, kiểu gì, và hệ thống từ chối mọi dữ liệu không khớp.

Hệ phi quan hệ hoạt động khác. Mỗi bản ghi tự mang cấu trúc riêng, và bạn thêm trường mới bất cứ lúc nào mà không phải khai báo gì.

Đó là ưu điểm khi phát triển nhanh, nhưng sau một hai năm nó tạo ra một vấn đề thật: không ai còn biết chắc dữ liệu trong đó có hình dạng gì.

Có bản ghi cũ thiếu trường mới thêm, có bản ghi lưu ngày tháng dưới dạng chuỗi trong khi bản ghi khác lưu dạng thời gian, có trường bị viết sai chính tả từ một đợt cập nhật nào đó.

MongoDB Compass làm được gì?

ViệcMức độGhi chú
Phân tích và hiển thị hình dạng dữ liệu thậtTốt nhấtTính năng giá trị nhất
Duyệt và sửa từng bản ghi trực quanRất tốtDễ hơn nhiều so với gõ lệnh
Phân tích câu truy vấn chạy chậmRất tốtChỉ ra chỗ thiếu chỉ mục
Dựng chuỗi xử lý dữ liệu nhiều bước bằng giao diệnRất tốtXem kết quả từng bước
Quản lý chỉ mụcTốtTạo và xoá thuận tiện
Miễn phíTốtKhông giới hạn tính năng chính
Chỉ dùng được cho một hệ duy nhấtKémKhông thay được công cụ đa năng
Tiêu tốn tài nguyênKháKhá nặng với một công cụ quản trị
Thao tác hàng loạt trên nhiều bản ghiKháVẫn nên dùng dòng lệnh

Ai nên dùng MongoDB Compass?

  • Đội đang dùng hệ cơ sở dữ liệu phi quan hệ này — công cụ chính thức nên hợp nhất.
  • Người tiếp nhận một hệ thống có sẵn — nhìn hình dạng dữ liệu để hiểu nhanh.
  • Ai cần tối ưu câu truy vấn chậm — công cụ phân tích chỉ rõ nguyên nhân.
  • Người mới học hệ này — thấy được kết quả từng bước xử lý.

Không phù hợp nếu bạn làm việc với nhiều loại cơ sở dữ liệu — DBeaver gom tất cả vào một giao diện.

Tính năng phân tích hình dạng dữ liệu dùng vào việc gì?

Đây là thứ nên mở ra đầu tiên khi bạn tiếp xúc với một hệ thống lạ.

Tình huốngNó cho bạn biết gì
Nhận bàn giao hệ thống từ đội cũCấu trúc thật, thường khác tài liệu
Nghi ngờ dữ liệu bị lẫn kiểuTỷ lệ bản ghi lưu chuỗi thay vì số hay ngày
Chuẩn bị đổi cấu trúc dữ liệuBao nhiêu bản ghi cũ sẽ bị ảnh hưởng
Tìm trường bị viết sai chính tảTrường lạ chỉ xuất hiện ở vài phần trăm bản ghi
Ước lượng dung lượng theo từng trườngTrường nào đang chiếm nhiều chỗ nhất
Kiểm tra dữ liệu sau một đợt nhập lớnCó bản ghi nào lệch khỏi khuôn mẫu không
Tình huống đáng nói nhất là trước khi đổi cấu trúc dữ liệu. Giả sử bạn muốn đổi một trường từ chuỗi sang dạng ngày tháng. Nếu chỉ viết mã chuyển đổi rồi chạy, bạn sẽ vỡ lở khi gặp vài trăm bản ghi cũ lưu ngày theo định dạng khác, hoặc để trống, hoặc chứa chuỗi rác từ một đợt nhập dữ liệu hỏng nhiều năm trước. Công cụ phân tích cho bạn thấy trước bức tranh đó: bao nhiêu phần trăm bản ghi đúng khuôn, những giá trị lạ trông ra sao. Nửa giờ nhìn trước tiết kiệm cả ngày xử lý sự cố sau khi chuyển đổi đã chạy trên dữ liệu thật.

Quy trình tìm hiểu một hệ thống lạ

  1. Liệt kê các tập dữ liệu và ước lượng kích thước (30 phút) — Biết đâu là phần quan trọng.
  2. Chạy phân tích hình dạng cho từng tập lớn (2 giờ) — Đây là bước cho nhiều thông tin nhất.
  3. Ghi lại các trường lệch khuôn và tỷ lệ của chúng (1 giờ) — Danh sách nợ kỹ thuật.
  4. Xem danh sách chỉ mục hiện có (30 phút) — Suy ra được truy vấn nào hay chạy.
  5. Đối chiếu với tài liệu đội cũ để lại (2 giờ) — Khác biệt là điều đáng chú ý nhất.
  6. Viết lại tài liệu theo dữ liệu thật (1 ngày) — Bàn giao cho người sau.

Vì sao danh sách chỉ mục lại tiết lộ nhiều đến vậy?

Đây là mẹo đọc hệ thống mà người có kinh nghiệm hay dùng khi tiếp nhận dự án không có tài liệu.

Chỉ mục là cấu trúc phụ được tạo ra để một loại truy vấn cụ thể chạy nhanh. Không ai tạo chỉ mục cho vui, vì nó tốn dung lượng và làm chậm việc ghi dữ liệu.

Vì vậy mỗi chỉ mục là một dấu vết: nó nói cho bạn biết đội trước đã tối ưu cho truy vấn nào, tức là chức năng nào của hệ thống được dùng nhiều nhất.

Một chỉ mục trên trường ngày tạo kèm trạng thái gợi ý rằng có một màn hình lọc đơn hàng theo trạng thái và sắp xếp theo thời gian. Đọc danh sách chỉ mục trong ba mươi phút cho bạn bản đồ nghiệp vụ nhanh hơn nhiều so với đọc mã nguồn.

Hạn chế cần biết

Chỉ dùng được cho một hệ cơ sở dữ liệu

Không thay thế công cụ đa năng khi bạn làm nhiều hệ.

Khá nặng so với một công cụ quản trị

Mở nhiều kết nối cùng lúc sẽ thấy rõ.

Thao tác hàng loạt vẫn nên dùng dòng lệnh

Giao diện không phù hợp với việc sửa hàng nghìn bản ghi.

Phân tích hình dạng chậm với tập dữ liệu rất lớn

Nó phải quét mẫu nên cần thời gian.

Không có công cụ so sánh giữa hai môi trường

Phải tự đối chiếu bằng cách khác.

MongoDB Compass so với các cách khác

Tiêu chíMongoDB CompassDBeaverDòng lệnh của hệ
Phân tích hình dạng dữ liệuTốt nhấtKémKém
Số loại cơ sở dữ liệu hỗ trợKémTốt nhấtKém
Dựng chuỗi xử lý nhiều bướcTốt nhấtKháTốt
Thao tác hàng loạtKháTốtTốt nhất
Chi phíMiễn phíMiễn phíMiễn phí
Dùng được trên máy chủ không có giao diệnKhôngKhông

Xem thêm đánh giá DBeaver, đánh giá Docker, đánh giá Postman, hoặc duyệt nhóm công cụ lập trình.

Kết luận

MongoDB Compass là công cụ nên có nếu đội bạn đang dùng hệ cơ sở dữ liệu này ở mức nghiêm túc.

Tính năng đáng tiền nhất lại là thứ ít được quảng bá: khả năng cho bạn thấy dữ liệu thật đang có hình dạng gì, chứ không phải hình dạng bạn tưởng nó có.

Hãy chạy phân tích đó trước mỗi lần định thay đổi cấu trúc dữ liệu. Nửa giờ xem trước rẻ hơn rất nhiều so với việc khắc phục hậu quả sau khi bản chuyển đổi đã chạy.

Về bài đánh giá này: Tính năng và điều kiện sử dụng của MongoDB Compass thay đổi theo phiên bản. Kiểm tra thông tin hiện hành tại trang sản phẩm MongoDB Compass.
ĐÁNH GIÁ

Điểm mạnh & điểm yếu

Điểm mạnh

  • Phân tích và hiển thị hình dạng thật của dữ liệu đang lưu
  • Duyệt và sửa từng bản ghi bằng giao diện thay vì gõ lệnh
  • Chỉ ra câu truy vấn chậm đang thiếu chỉ mục ở đâu
  • Dựng chuỗi xử lý dữ liệu nhiều bước và xem kết quả sau từng bước
  • Tạo và xoá chỉ mục thuận tiện ngay trong giao diện

Điểm yếu

  • Chỉ dùng được cho một hệ cơ sở dữ liệu duy nhất
  • Khá nặng so với một công cụ quản trị thông thường
  • Sửa hàng nghìn bản ghi cùng lúc vẫn phải quay về dòng lệnh
  • Phân tích hình dạng chậm với tập dữ liệu rất lớn vì phải quét mẫu
  • Không có công cụ so sánh dữ liệu giữa hai môi trường
Phù hợp nhất với
Đội đang dùng hệ cơ sở dữ liệu phi quan hệ nàyNgười tiếp nhận một hệ thống có sẵnNgười cần tối ưu câu truy vấn chậmNgười mới học hệ cơ sở dữ liệu này
HỎI ĐÁP

Câu hỏi thường gặp

Vì sao cần nhìn thấy hình dạng dữ liệu?

Vì hệ phi quan hệ cho phép mỗi bản ghi tự mang cấu trúc riêng, nên sau vài năm không ai biết chắc dữ liệu thật trông thế nào.

Những lệch lạc thường gặp là gì?

Bản ghi cũ thiếu trường mới thêm, ngày tháng lưu dạng chuỗi ở chỗ này và dạng thời gian ở chỗ khác, trường bị viết sai chính tả từ một đợt cập nhật.

Nên chạy phân tích đó vào lúc nào?

Ngay khi tiếp nhận một hệ thống lạ, và trước mỗi lần định đổi cấu trúc dữ liệu.

Đổi kiểu một trường mà không xem trước thì sao?

Bạn vỡ lở khi gặp vài trăm bản ghi cũ lưu định dạng khác, để trống, hoặc chứa chuỗi rác từ một đợt nhập hỏng nhiều năm trước.

Vì sao danh sách chỉ mục lại tiết lộ nhiều?

Vì không ai tạo chỉ mục cho vui — nó tốn dung lượng và làm chậm việc ghi, nên mỗi chỉ mục là dấu vết của một truy vấn quan trọng.

Đọc chỉ mục cho biết điều gì về nghiệp vụ?

Chỉ mục trên trường ngày tạo kèm trạng thái gợi ý có một màn hình lọc đơn hàng theo trạng thái và sắp xếp theo thời gian.

Tiếp nhận hệ thống lạ nên bắt đầu từ đâu?

Liệt kê các tập dữ liệu, ước lượng kích thước, rồi chạy phân tích hình dạng cho từng tập lớn.

Đối chiếu với tài liệu cũ để làm gì?

Vì chỗ khác biệt giữa tài liệu và dữ liệu thật chính là phần đáng chú ý nhất.

Khi nào không nên chọn công cụ này?

Khi bạn làm việc với nhiều loại cơ sở dữ liệu khác nhau và cần gom tất cả vào một giao diện.

KẾT LUẬN

Chạy phân tích hình dạng trước mỗi lần định thay đổi cấu trúc dữ liệu — nửa giờ xem trước rẻ hơn nhiều so với khắc phục sau khi bản chuyển đổi đã chạy.