Bài viết này sẽ trình làng về MongoDB cũng như những điểm mạnh của nó. Nếu như khách hàng cần hỗ trợ, xin sung sướng liên hệ amiralmomenin.net qua Hotline 1900 6046 ext.3, e-mail về support

MongoDB là gì?

MongoDB (chữ mongo được lấy từ “humongous” trong giờ Anh, nghĩa là “khổng lồ”), là 1 trong những NoSQL database. Không giống với MySQL hay những loại SQL databse khác chạy theo mô hình database – table – row cùng với số chiếc – cột duy nhất định, schema phức tạp, và phải sử dụng nhiều JOIN khi query. MongoDB chạy theo quy mô database – collection – document, cầm thế quy mô cơ sở dữ liệu dùng table truyền thống cuội nguồn bằng các document với định hình JSON với cấu tạo linh hoạt rộng (MongoDB call là BSON).

Bạn đang xem: Mongodb là gì

Với nhiều ưu điểm như cung ứng đa căn cơ (Windows, Linux), hiệu năng cao, dễ ợt mở rộng theo chiều ngang.

Hiện tại, MongoDB đã được doanh nghiệp MongoDB Inc cải tiến và phát triển và bao gồm 2 phiên phiên bản như sau:

MongoDB Community Server

Phiên phiên bản MongoDB Community là phiên bản miễn tổn phí cho cùng đồng, hỗ trợ 3 loại hệ điều hành là Linux, Windows và OS X.

MongoDB Enterprise Server

Để tiếp tục mày mò MongoDB thì ta sẽ khám phá một số tư tưởng cơ bạn dạng của nó.

Các quan niệm cơ bản trong MongoDB

Database

Database chính là tập chứa những collection trong MongoDB. Mỗi database sẽ sở hữu một tập tệp tin riêng của mình trên file system của hệ thống. Một MongoDB hệ thống thường chứa đựng nhiều database trên đó.

Collection

Tương từ như Table trong MySQL, Collection là 1 trong tập chứa các MongoDB Document. Một điểm không giống so với những RDBMS khác đó chính là Collection không nên một schema cố định và thắt chặt nào cả. Những document trong và một collection có thể có không ít field khác nhau. Tuy thế thường thì các document trong một collection vẫn có một số trong những field chính tương đương nhau cùng có liên quan với nhau.

Document

Document là 1 tập dữ liệu theo hình thức key-value, mỗi key sẽ khớp ứng với một value. Những document tương đối linh hoạt về schema, như đang nói sinh hoạt trên, các document trong và một collection không độc nhất vô nhị thiết nên có các field hoặc cấu trúc giống nhau. Data trong và một field cũng đều có thể có tương đối nhiều kiểu tài liệu khác nhau.

Ví dụ: field name của document này hoàn toàn có thể là string, tuy vậy ở document khác có thể có phong cách là array, dù 2 document đó cùng nằm phổ biến 1 collection.

RDBMSMongoDB
DatabaseDatabase
TableCollection
Tuple/RowDocument
ColumnField
Table JoinEmbedded Documents
Primary KeyPrimary Key (MongoDB tự sinh sản Primary key là “_id“)
Database Server với Client
Mysqld/Oraclemongod (server)
mysql/sqlplusmongo (client)

JSON

Các document của MongoDB thực hiện format JSON (JavaScript Object Notation), đây là một chuẩn lưu trữ, đàm phán dữ liệu đơn giản dễ dàng và gọn gàng nhẹ. Với ưu điểm dễ đọc, dễ hiểu, đa phần các ngữ điệu lập trình phổ biến hiện giờ đều cung ứng JSON như: C, C++, C#, Java, JavaScript, Perl, Python,….

Dữ liêu trong JSON được tàng trữ dưới dạng key/value. Một key sẽ tương ứng với cùng một value. Value nghỉ ngơi đây rất có thể là một mảng, một chuỗi, một trong những int, double, mảng hoặc object…

Các chúng ta có thể tìm hiểu rõ hơn về JSON tại đây

Dưới đấy là một document cơ phiên bản với format JSON, các bạn sẽ thấy nó khá là dễ đọc:

“_id” : ObjectId(“58c59c8f99d4ee0af9e5ccfc”),

“title” : “Iron Man”,

“year” : 2008,

“imdbId” : “tt0371746”,

“mpaaRating” : “PG-13”,

“genre” : “Action, Adventure, Sci-Fi”,

“viewerRating” : 7.9,

“viewerVotes” : 615059,

“runtime” : 126,

“director” : “Jon Favreau”,

“cast” : <

“Robert Downey Jr.”,

“Terrence Howard”,

“Jeff Bridges”,

“Gwyneth Paltrow”

>,

“plot” : “After being held captive in an Afghan cave, an industrialist creates a quality weaponized suit of armor to fight evil.”,

“language” : “English, Persian, Urdu, Arabic, Hungarian”

Như ví dụ ngơi nghỉ trên, cứ từng key (phần phía trái dấu nhì chấm) vẫn ứng với cùng một value (phần bên buộc phải dấu nhị chấm), với phần value bao gồm thể có không ít kiểu dữ liệu không giống nhau (string, int, array…)

Một số ưu thế của MongoDB

*

Sau đó là một số ưu điểm của MongoDB:

Ít schema hơn: MongoDB là 1 trong Document Databse, những document trong và một collection không độc nhất vô nhị thiết bắt buộc giống nhau về số field, loại tài liệu như vào SQL.Cấu trúc của một Document rất rõ ràng ràng, dễ dàng đọc và dể hiểu.Không cần sử dụng đến các lệnh JOIN phức tạp.Khả năng mở rộng dữ liệu dễ dàng, không nhất thiết phải quá nhọc lòng về hình dạng dữ liệu, khóa chính, khóa ngoại như SQL.Lưu tài liệu trên RAM, góp truy xuất tài liệu nhanh hơn.Dễ dàng Scale Out (Horizontally Scale).

Khi nào đề xuất dùng MongoDB

Vậy lúc nào ta nên dùng MongoDB:

Sử dụng document để tàng trữ dữ liệu, dễ dãi thêm bớt, không ngừng mở rộng dữ liệu tùy ý.Ứng dụng có đặc điểm Insert nhiều (write-intensive)Cần hình thức Replication và High Availabity.Cần hiệ tượng Sharding.

Xem thêm: Sự Khác Biệt Giữa Hypoxia Là Gì, Khí Máu Động Mạch (P2): Hypoxemia Và Hypoxia

Một số use case phổ cập của MongoDB là Hệ thống cai quản nội dung số, Các khối hệ thống phân tích dữ liệu lớn, làm chủ danh mục các thành phầm trong dịch vụ thương mại điên tử, những ứng dụng social…

Khi nào tránh việc dùng MongoDB

Còn khi nào thì không nên dùng MongoDB?

Hệ thống cần xử lý các transaction như những giao dịch cài đặt bán, đưa tiền, ngân hàng. Đối với các trường phù hợp này thì SQL phù hợp hơn hẳn!Cần áp dụng đến các lệnh JOIN.

THAM KHẢO CÁC DỊCH VỤ TẠI amiralmomenin.net: