Giới thiệu MongoDB

NoSQL database là gì

NoSQL là cơ sở dữ liệu không có quan hệ và không có SQL(Structured Query Language) ngôn ngữ truy vấn dữ liệu. 

MongoDB là gì?

MongoDB là một cơ sở dữ liệu NoSQL được thiết kế để dễ dàng phát triển và mở rộng các ứng dụng. Các record trong MongoDB là một cặp (key, value) tương tự như một json object. Giá trị value có thể là một string, number hoặc thậm chí là array, subdocument etc.

MongoDB lưu trữ dữ liệu là các cặp key – value mang lại những lợi ích:

  • Các record sẽ tương ứng với các kiểu dữ liệu trong nhiều ngôn ngữ lập trình. 
  • Các subdocument và array giảm các phép join không cần thiết.
  • Dynamic schema hỗ trợ đa hình.

Thuật ngữ trong MongoDB

Collection: Tương ứng là một table trong sql.

Document: Tương ứng với row trong sql.

Field: Tương ứng với column trong sql.

_id: Khoá chính của một collection.

index: Chỉ mục.

MongoDB Features

1, Support ad hoc queries

Trong mongoDB bạn có thể tìm kiếm theo field, range, và regular expression.

2, Replication

MongoDB hỗ trợ Master Slave replication, một master có thể đọc và ghi. Một bản copy chỉ có thể đọc và backup.

3, Load balancing

MongoDB có thể chạy trên nhiều server, cân bằng tải, hoặc sao chép dữ liệu để giữ cho các server luôn hoạt động trong trường hợp có lỗi phần cứng.

4, High Perfomance 

MongoDB hỗ trợ các mô hình dữ liệu nhúng làm giảm các hoạt động I/0 trên hệ thống cơ sở dữ liệu.

5, Rich Query Language

MongoDB hỗ trợ ngôn ngữ truy vấn phong phú để đọc và ghi và thực hiện các tác vụ khác như update, deletec etc. Bên cạnh đó nó còn hỗ trợ index giúp tốc độ truy vấn tăng cách đáng kể.

Ứng dụng MongoDB

Chắc hẵn các bạn đã không ít lần nghe đến MERN Stack hoặc MEAN Stack.

MERN: Mongodb – Express.js – Reactjs – Node.js

MEAN: Mongodb – Express.js – Angular – Node.js

Như vậy các MongoDB hiện tại được áp dụng rất rộng rãi đi kèm với các công nghệ mới như Nodejs etc. Mình còn nhớ trước đây thầy bảo một trong các chữ cái trên các em biết một chữ thôi là đủ có việc làm rồi =))).

Ngoài ra MongoDB cũng có thể làm việc với hầu hết các ngôn ngữ khác như java, c# etc.

 

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x