Cách quyết định dự án nên dùng MongoDB hay MySQL

Mọi người có thể tư vấn cho em những dự án nào nên dùng MongoDB hay MySQL được không. Trước đây em cứ nghĩ những dự án dữ liệu không quan hệ thì mới dùng Mongo. Em vừa qua 2 dự án nhỏ quản lý khách sạn và trung tâm anh văn đều dùng Mongo mà trước đây em cứ nghĩ nó phải dùng hệ quản trị SQL. Vậy khi nào mới nên dùng các hệ quản trị SQL nhỉ. Em cảm ơn

Nếu dữ liệu có cấu trúc, nên chọn MySQL. Còn nếu dữ liệu tùm lum tá lả không theo một cấu trúc cụ thể nào mà giống một đám file text lộn xộn trong ổ đĩa trên máy tính, dùng MongoDB.

MongoDB:

  1. MongoDB rất hợp với dự án có yêu cầu hay thay đổi vì là phi cấu trúc
  2. Dữ liệu thường xuyên insert, update vì tốc độ thực thi nhanh.
  3. Dự liệu lưu trữ không có cấu trúc. vì dụ ghi log từ nhiều nguồn chẳng hạn.
  4. Các ngôn ngữ như NodeJS chẳng hạn (object js giống hệt document trong mongoDB về cấu trúc).

SQL (hay cụ thể MySQL):

  1. Dữ liệu có cấu trúc
  2. Dữ liệu cần thao tác từ nhiều bảng kết hợp với nhau (dùng join trong CSDL, MongoDB thì phải lấy dữ liệu ở từng collection rồi query sang collection khác)
  3. Các hành động cần transaction như giao dịch ngân hàng. MongoDB v4 cũng bổ sung tính năng này nhưng mình chưa tìm hiểu nên không rõ, mong cao nhân nào bổ sung thêm.
  4. Các ngôn ngữ như PHP, C# hỗ trợ rất mạnh SQL.
  5. Tận dụng khả năng thực thi của ngôn ngữ SQL như tính năng procedure, trigger…
5 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?