ĐỒ ÁN TÌM HIỂU NOSQL
MongoDB
GVHD: Nguyễn Huy Khánh
SVTH: Nguyễn Mạnh Hùng
Nguyễn Phước Duy
Đại học Khoa học Tự nhiên
Nguyễn Anh Khoa
Mục lục
Giớ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
Giới thiệu MongoDB
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.
Giới thiệu MongoDB
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.
Làm việc với MongoDB
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.
Làm việc với MongoDB
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
Làm việc với MongoDB
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
Làm việc với MongoDB
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()
Làm việc với MongoDB
Xóa dòng khỏi CSDL hiện hành
Có thể tham khảo thêm ở />
Làm việc với MongoDB
Trên Visual studio c#
Kết nối tới server
•
Import thư viện
•
Kết nối tới server
Làm việc với MongoDB
Tạo CSDL (Tên CSDL, các bảng)
Insert từng dòng vào CSDL
Làm việc với MongoDB
Update các dòng trong CSDL
Delete các dòng từ CSDL
So sánh MongoDB với CSDL quan hệ
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
Ứng dụng minh họa
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
Ứng dụng minh họa
Cập nhật học sinh
Xóa học sinh
Tổng kết
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.
Thank You !
Đại học Khoa học Tự nhiên