6. Tổng quan vấn đề nghiên cứu
1.3 Lưu trữ và truy xuất dữ liệu
Sử dụng hệ quản trị cơ sở dữ liệu không quan hệ nhằm đáp ứng nhu cầu truy xuất dữ nhanh, bảo mật cao, và khả năng chịu lỗi lớn là MongoDB.
MongoDB là một cơ sở dữ liệu nguồn mở sử dụng một mô hình dữ liệu hướng tài liệu và một ngôn ngữ truy vấn không có cấu trúc. Đây là một trong những hệ thống và cơ sở dữ liệu NoSQL mạnh mẽ hiện nay.
Là một công cụ NoSQL có nghĩa là nó không sử dụng các hàng và cột thông thường mà chúng ta hay dùng để liên kết việc quản lý cơ sở dữ liệu quan hệ. Nó là một kiến trúc được xây dựng trên các bộ sưu tập (collections) và tài liệu (documents). Đơn vị dữ liệu cơ bản trong cơ sở dữ liệu này bao gồm một tập hợp các cặp key-value. Nó cho phép các document có các trường và cấu trúc khác nhau. Cơ sở dữ liệu này sử dụng định dạng lưu trữ tài liệu được gọi là BSON là kiểu nhị phân của các tài liệu kiểu JSON. Mô hình dữ liệu của MongoDB là một mô hình có độ đàn hồi cao cho phép kết hợp và lưu trữ dữ liệu của các kiểu đa biến mà không
phải thỏa hiệp với các tùy chọn lập chỉ mục mạnh mẽ, truy cập dữ liệu và quy tắc xác thực. Không có downtime khi thay đổi tự động sửa đổi các lược đồ.
Kiến trúc của MongoDB bao gồm:
- Database: Hiểu một cách đơn giản, nó có thể được coi là vùng chứa vật lý cho dữ liệu. Mỗi database có tập file riêng trên file system với nhiều database hiện có trên một single MongoDB server.
- Collection: Một nhóm các database document có thể được gọi là một collection. RDBMS tương đương với bộ sưu tập là một table. Toàn bộ collection tồn tại trong một single database. Không có schema nào khi nói đến các collection. Bên trong collection, các document khác nhau có thể có các trường khác nhau nhưng hầu hết các document trong một collection đều có cùng một mục đích hoặc phục vụ cùng một mục tiêu.
- Document: Một tập hợp các cặp key - value có thể được chỉ định là một document. Các document được liên kết với các dynamic schema. Lợi ích của dynamic schema là document trong một collection không nhất thiết phải có cùng cấu trúc hoặc các trường. Ngoài ra, các trường phổ biến trong document của collection có thể có nhiều loại dữ liệu khác nhau.
Ưu điểm của MongoDB - Document oriented - Hiệu suất cao
- Tính sẵn sàng cao – Nhân rộng - Khả năng mở rộng cao – Sharding
- Năng động – Không có lược đồ cứng nhắc.
- Linh hoạt – thêm / xóa trường có ít hoặc không ảnh hưởng đến ứng dụng - Dữ liệu không đồng nhất
- Phân phối được
- Biểu diễn dữ liệu trong JSON hoặc BSON - Hỗ trợ không gian địa lý (Geospatial) - Tích hợp dễ dàng với Big Data Hadoop
- Ngôn ngữ truy vấn dựa trên tài liệu mạnh mẽ như SQL
- Các bản phân phối cloud như AWS, Microsoft, RedHat, dotCloud và SoftLayer, v.v … Trên thực tế, MongoDB được xây dựng cho cloud. Kiến trúc mở rộng quy mô tự nhiên của nó, được kích hoạt bởi sharding, liên kết tốt với quy mô và sự nhanh nhẹn có được nhờ điện toán đám mây.