MongoDB là cơ sở dữ liệu NoSQL mã nguồn mở, hiệu năng cao và có tính mở rộng cao. Được viết bằng C++ MongoDB lưu trữ dữ liệu theo cấu trúc JSON với schemas (MongoDB gọi với định dạng là BSON), làm cho dễ dàng hơn và nhanh hơn quá trình tương tác với dữ liệu trong các loại ứng dụng nhất định
Trang 1Đại học Khoa học Tự nhiên
GVHD: Nguyễn Huy Khánh
SVTH: Nguyễn Mạnh Hùng
Nguyễn Phước Duy
Nguyễn Anh Khoa
Trang 2Giới thiệu MongoDB
Làm việc với MongoDB
So sánh MongoDB với CSDL quan hệ
Ứng dụng minh họa
Tổng kết
Trang 3 MongoDB là cơ sở dữ liệu NoSQL mã nguồn mở, hiệu năng cao và có tính mở rộng cao
Được viết bằng C++
MongoDB lưu trữ dữ liệu theo cấu trúc JSON với "schemas" (MongoDB gọi với định dạng là BSON), làm cho dễ dàng hơn và nhanh hơn quá trình tương tác với dữ liệu trong các loại ứng dụng nhất định
Trang 4 Mục tiêu là kết hợp các điểm mạnh của mô hình key-values nhanh mà tính mở rộng cao với mô hình dữ liệu quan hệ giàu chức năng
Các câu truy vấn khá giống với SQL thích hợp cho các lập trình viên đã quen với ngôn ngữ truy vấn SQL
Trang 5 Các khái niệm mới trong NoSQL
Fields - Tương đương với khái niệm row trong SQL
Document - thay thế khái niệm row trong SQL
Collection - tương đương với khái niệm table trong SQL
Key-value - cặp từ khóa – giá trị đước dùng để lưu trữ dữ liệu trong NoSQL.
Cursor - tạm dịch là con trỏ Chúng ta sẽ sử dụng cursor để lấy dữ liệu từ database.
Trang 6 Trên command line
Liệt kê các CSDL hiện hành
Có thể tham khảo thêm ở “command line”: Gõ help
Trang 7 Chọn CSDL sử dụng và xem chúng có bao nhiêu bảng
Có thể tham khảo thêm ở command line: Gõ db.help()
Hiển thị dữ liệu từ CSDL
Trang 8 Thêm dòng vào CSDL hiện hành
Cập nhật dòng trong CSDL hiện hành
Có thể tham khảo thêm ở command line: gõ db.mycoll.help()
Trang 9 Xóa dòng khỏi CSDL hiện hành
Có thể tham khảo thêm ở http://docs.mongodb.org/manual/reference/method/
Trang 10 Trên Visual studio c#
Kết nối tới server
• Import thư viện
• Kết nối tới server
Trang 11 Tạo CSDL (Tên CSDL, các bảng)
Insert từng dòng vào CSDL
Trang 12 Update các dòng trong CSDL
Delete các dòng từ CSDL
Trang 13 Dễ sử dụng và triển khai
Hiệu quả cao
Truy vấn nhanh
MongoDB nhanh hơn SQL khoảng 30 –
50 lần
MongoDB vượt trội hơn hẳn so với SQL
về hiệu suất (khoảng 3 lần)
Biểu đồ gây tranh cải vể việc MongoDB chèn dữ liệu nhanh hơn SQL Sever tới hơn
100 lần
Trang 14 Quản lý học sinh cấp 3
Xem Danh sách học sinh hiện tại Thêm học sinh
Trang 15Cập nhật học sinh Xóa học sinh
Trang 16 MongoDB được sử dụng tốt nhất với nhu cầu cần truy vấn động, nếu ta muốn định nghĩa chỉ mục
Đặc biệt nếu cần tốc độ nhanh cho một cơ sở dữ liệu lớn vì MongoDB ngoài tốc độ đọc nhanh ra thì tốc độ ghi của nó cũng rất nhanh
Với các loại dữ liệu phong phú, nhiều truy vấn và việc giảm thời gian phát triển trong việc mô hình hóa các đối tượng
Trang 17Đại học Khoa học Tự nhiên