MongoDB

MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL mã nguồn mở đa nền tảng viết bằng C++. Bản ghi trong MongoDB được lưu trữ dạng một dữ liệu văn bản (Document), là một cấu trúc dữ liệu bao gồm các cặp giá trị và trường tương tự như các đối tượng JSON. MongoDB được phát triển bởi MongoDB Inc. dưới dạng giấy phép Server Side Public License (SSPL).

Lịch sử 
MongoDB được bắt đầu phát triển vào đầu năm 2007 khi công ty 10gen đang phát triển một nền tảng tương tự dịch vụ  Azure của Microsoft. Công ty 10gen là một công ty phần mềm có trụ sở tại New York, nay được đổi tên thành MongoDB Inc. Việc phát triển ban đầu tập trung vào xây dựng PaaS (một nền tảng dịch vụ) nhưng sau đó vào năm 2009, MongoDB đã xuất hiện trên thị trường như một dự án mã nguồn mở máy chủ cơ sở dữ liệu và được duy trì bởi chính tổ chức này.

Tháng 3 năm 2010, MongoDB Inc. đã tung ra sản phẩm sẵn sàng đầu tiên của mình là phiên bản 1.4. Phiên bản ổn định tiếp theo của MongoDB là phiên bản 2.4.9 được phát hành vào ngày 10 tháng 1 năm 2014.

Đầu năm 2015, phiên bản 3.0 được phát hành, cuối năm 2015 phiên 3.2 ra đời đi kèm với công cụ quản trị trên giao diện đồ họa MongoDB Compass.

Phiên bản

MongoDB Atlas 
MongoDB cung cấp phiên bản chạy trên nền tảng điện toán đám mây (cloud) gọi là MongoDB Atlas, đây là gói sản phẩm dịch vụ tích hợp cơ sở dữ liệu đám mây và các dịch vụ dữ liệu. MongoDB Atlas hỗ trợ các nền tảng AWS, Microsoft Azure, và Google Cloud Platform.

MongoDB Community Server 
Phiên bản cài đặt máy chủ địa phương (on-premises) bao gồm 2 phiên bản là MongoDB Enterprise Advanced và MongoDB Community Server. Trong đó, phiên bản Enterprise Advanced là phiên bản trả phí còn phiên bản Community Server là phiên bản Cộng đồng của cơ sở dữ liệu. Phiên bản MongoDB Community miễn phí trên các hệ điều hành Windows, Linux, và macOS.

MongoDB Enterprise Server 
MongoDB Enterprise Server là phiên bản thương mại của MongoDB, tính phí theo chương trình thuê bao MongoDB Enterprise Advanced.

Kiểu Dữ liệu văn bản 
MongoDB lưu trữ các bản ghi dữ liệu dưới dạng dữ liệu văn bản BSON. BSON là một đại diện dạng nhị phân của tài liệu JSON, tuy nhiên nhờ xây dựng dưới dạng nhị phân, nó được thiết kế để chứa nhiều kiểu dữ liệu hơn JSON.
{
"_id": ObjectId("8069703eb3f4948bd2f96359"),
"name":{ "first": "A", "last": "Nguyễn Văn" },
"birth": ISODate("1987-01-19"),
"email": "a.nguyen@mongodb.com",
"taxcode": null,
"language":["Tiếng Anh","Tiếng Việt","Tiếng Trung"]
}

Kiểu BSON 
BSON là một định dạng nhị phân đã tuần tự hóa được sử dụng để lưu trữ dữ liệu và thực hiện hàm gọi từ xa trong MongoDB.

Các trường dữ liệu trong một bản ghi BSON bao gồm nhiều kiểu số, chuỗi, đối tượng:

Tham khảo 

Hệ quản trị cơ sở dữ liệu
Cơ sở dữ liệu
Phần mềm nguồn mở
NoSQL