MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI TÌM HIỂU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MONGODB

34 7 0
MÔN HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI TÌM HIỂU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MONGODB

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TRƯỜNG ĐẠI HỌC NGÂN HÀNG TP HỒ CHÍ MINH MƠN: HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐỀ TÀI: TÌM HIỂU HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MONGODB Giảng viên hướng dẫn: Nguyễn Văn Kiên Lớp: ITS322_221_1_D01 Nhóm gồm sinh viên: Nguyễn Hoàng Hải – 030237210067 Lê Văn Học - 030237210081 Nguyễn Ngọc Gia Huy - 030237210086 Võ Ngọc Sơn - 030237210162 Nguyễn Thành Tiến – 030237210185 Nguyễn Đức Trung - 030237210199 Triệu Tuấn Vĩ – 030237210212 TP HỒ CHÍ MINH, 26 THÁNG 10 NĂM 2022 MỤC LỤC I TÌM HIỂU VỀ CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU MONGODB VÀ CÁC KHÁI NIỆM CƠ BẢ Cơ sở liệu NOSQL 2.Hệ quản trị sở liệu MongoDB .5 Các khái niệm MongoDB .6 II THỰC HIỆN TẠO CƠ SỞ DỮ LIỆU VÀ THỰC HIỆN CÁC THAO TÁC Tạo sở liệu 12 2.Một số thao tác khác .13 III TÌM HIỂU VỀ CÁC TỐN TỬ SO SÁNH SỬ DỤNG TRONG CÂU TRUY VẤN .19 IV TÌM HIỂU CÁCH TRUY VẤN DOCUMENT LỒNG NHAU 21 V.TÌM HIỂU VỀ PHƯƠNG THỨC AGGREGATE VÀ CÁC TOÁN TỬ TRONG AGGREGATION PIPELINE 27 VI THỰC HIỆN SAO LƯU VÀ PHỤC HỒI DỮ LIỆU 31 VII SỬ DỤNG CƠ SỞ DỮ LIỆU SINHVIEN VÀ THỰC HIỆN MỘT SỐ CÂU TRUY VẤN DANH MỤC TÀI LIỆU THAM KHẢO 17 Trang I TÌM HIỂU VỀ CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU U VỀ CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU U NOSQL, HỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUẢN TRỊ CƠ SỞ DỮ LIỆU N TRỊ CƠ SỞ DỮ LIỆU CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU U MONGODB VÀ CÁC KHÁI NIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU M CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU BẢN TRỊ CƠ SỞ DỮ LIỆU N: Cơ sở liệu NOSQL sở liệu NOSQL liệu NOSQL liệu NOSQLu NOSQL a) NoSQL ? NoSQL – Not Only SQL, hệ CSDL với đặc điểm bật như: không ràng buộc Non relation , phân tán Distribute, mã nguồn mở open source, có khả mở rộng theo chiều ngang Horizontal scalable, lược đồ tự free schema, PI đơn giản, Có thể lưu trữ xử lý liệu từ lượng nhỏ hàng petabytes hệ thống chịu tải, chịu lỗi cao đáp ứng thời gian thực NoSQL bao gồm hàng loạt công nghệ CSDL khác phát triển để đáp ứng với nhu cầu gia tăng khối lượng liệu, tần số truy cập hiệu xuất xử lý, với khả lưu trữ tiết kiệm Cơ sở liệu quan hệ không thiết kế để đáp ứng thách thức quy mô lưu trữ khả xử lý nhanh chóng ứng dụng đại b) Lịch sử phát triển NoSQL: Thuật ngữ NoSQL sử dụng Carlo Strozzi năm 1998 tên tập tin dựa sở liệu mà ơng làm Đó tên gọi chung cho sở liệu quan hệ nguồn mở nhỏ Đây sở liệu quan hệ mà khơng có giao diện SQL Như khơng thực phần phong trào NoSQL ngày Thuật ngữ lại lên vào năm 2009 Eric Evans nhân viên Rackspace, ủy thác dự án Cassandra, giới thiệu lại thuật ngữ NoSQL Johan Oskarsson Last.fm muốn tổ chức hội thảo sở liệu nguồn mở phân tán Eric Evans sử dụng “NoSQL” để đặt tên cho đột biến sở liệu phi quan hệ, thuật ngữ NoSQL thường sử dụng với ý nghĩa "không SQL" để mô tả gia tăng dự án sản phẩm c) Đặc điểm sở iệu NoSQL: Hầu hết CSDL NoSQL điều có chung số đặc điểm bật Tất nhiên, NoSQL khái niệm rộng có nhiều hệ quản trị CSDL khác nhau, chúng có nhiều đặc điểm Tuy nhiên, nói CSDL NoSQL mang đặc điểm sau: Mơ hình liệu phi quan hệ ( Non-relational ): Bao gồm mơ hình liệu khác nhìn chung khơng có mối quan hệ ràng buộc lẫn Có thể có cấu trúc liệu phức tạp hơn, khơng cứng nhắc mơ hình liệu quan hệ “Non-relational” khái niệm không sử dụng ràng buộc liệu cho quán liệu NoSQL database Trang Lưu trữ phân tán ( Distributed storage ): Hệ thống CSDL NoSQL phân tán sang nhiều máy tính khác nhau, để cung cấp liệu cho người dùng Mỗi phần liệu sau nhân rộng số lượng định máy dự phịng với tính sẵn sàng đáp ứng cao Mơ hình lưu trữ phân tán tập tin liệu nhiều máy tính khác mạng LAN Internet kiểm soát phần mềm quản lý Nhất quán cuối ( Eventual consistency): Tính quán liệu không cần phải đảm bảo tức khắc sau tác vụ ghi Một hệ thống phân tán chấp nhận ảnh hưởng theo phương thức lan truyền sau khoảng thời gian, cuối liệu hệ thống trở lại trạng thái quán Khả mở rộng chiều dọc ( Vertical scalable): Khi liệu lớn số lượng, phương pháp tăng cường khả lưu trữ xử lý việc cải tiến phần mềm phần cứng máy tính đơn, gọi khả mở rộng chiều dọc Khả mở rộng chiều ngang ( Horizontal scalable): Khi liệu lớn số lượng, phương pháp tăng cường khả lưu trữ xử lý dùng nhiều máy tính phân tán Phân tán liệu hỗ trợ phần mềm tức sở liệu Hàng trăm máy tính nhỏ gộp lại tạo thành hệ thống tính tốn mạnh nhiều so với vi xử lý RISC truyền thống đơn lẻ Mơ hình tiếp tục hỗ trợ công nghệ kết nối Myrinet InfiniBand Từ quản lý, bảo trì từ xa, xây dựng batch procession (xử lý đồng loạt tập lệnh) tốt Do đòi hỏi tốc độ xử lý I/O cao, lượng cực lớn liệu Mở rộng theo chiều ngang thúc đẩy công nghệ lưu trữ phát triển giống object storage devices OSD Phi cấu trúc ( SchemaFree ) : Không cần thiết kế bảng, cấu trúc SQL Thay vào cần lưu trữ giá trị vào CSDL, không cần phải xác định cấu trúc trước - Không hỗ trợ SQL - Dữ liệu lớn (Big Data) - Dùng SE thay cho CID Triển hai linh hoạt ( Deployment Flexibility ): Việc bổ sung loại bỏ node, hệ thống tự động nhận biết để lưu trữ mà không cần phải can thiệp tay Hệ thống khơng địi hỏi cấu hình phần cứng mạnh, đồng d) Ưu điểm:  Đáp ứng tăng trưởng liệu lớn (Big Data)  Truy xuất liệu lớn với tốc độ cao  Dữ liệu đa dạng, có cấu trúc, bán cấu trúc phi cấu trúc  Dữ liệu phức tạp, lưu trữ quản lý trung tâm lưu trữ khác  Cần tài nguyên phần cứng máy chủ để triển khai  Hỗ trợ đánh mục Index tất thuộc tính  Mã nguồn mở  Mở rộng theo chiều dọc  Các CSDL NoSQL khác cho dự án khác  NoSQL phù hợp với công nghệ đám mây: NoSQL đám mây trùng khớp tự nhiên, chúng có khả tận dụng việc cung cấp mềm dẻo đám mây Trang  Ngăn ngừa thực thi không ổn định I/O e) Nhược điểm:  Hỗ trợ không đồng cho doanh nghiệp  Sự tin tưởng chưa cao nhiều doanh nghiệp  Các CSDL NoSQL khơng có nhiều liên hệ tới công cụ BI thường sử dụng  Tính mẻ NoSQL có nghĩa khơng có nhiều lập trình viên người quản trị mà biết công nghệ  Những vấn đề tính tương thích: Mỗi CSDL NoSQL có giao diện lập trình ứng dụng API riêng mình, giao diện truy vấn độc vô nhị, riêng biệt  Khó khăn việc lưu trữ liệu mang nội dung nghiệp vụ phức tạp Hệu NOSQL quản trị sở liệu MongoDB n trị sở liệu MongoDB sở liệu NOSQL sở liệu NOSQL liệu NOSQL liệu NOSQLu MongoDB a) Giới thiệu MongoDB : MongoDB sở liệu NoSQL hướng tài liệu, mã nguồn mở viết hồn tồn ngơn ngữ C++ MongoDB trang bị khả mở rộng, hiệu suất cao, đảm bảo tính quán, dễ dàng mở rộng có lược đồ tự Đây sở liệu phi quan hệ thay lưu trữ liệu theo bảng sở liệu truyền thống, MongoDB lưu trữ cấu trúc liệu thành văn dựa vào JSON với mơ hình động, văn lồng vào tạo nên hệ thống phân cấp phức tạp, điều khiến cho việc tích hợp liệu cho ứng dụng trở nên nhanh dễ dàng truy vấn đánh mục Mục đích việc phát triển MongoDB thu hẹp khoản cách sở liệu cặp khoá – giá trị có tính đáp ứng nhanh khả mở rộng cao sở liệu quan hệ truyền thống với chức hỗ trợ phong phú MongoDB giữ lại thuộc tính thân thiện SQL Do câu truy vấn giống với SQL nên MongoDB thích hợp để chuyển đổi từ ngơn ngữ truy vấn SQL sang NoSQL MongoDB sử dụng tốt với nhu cầu cần truy vấn động Nó thích hợp cho ứng dụng tầm trung trở lên, đặc biệt cần tốc độ nhanh cho sở liệu lớn MongoDB ngồi tốc độ đọc nhanh tốc độ ghi nhanh MongoD kèm với trình tiện ích JavaScript đơn giản mạnh mẽ, hữu ích quản trị thao tác liệu b) Lịch sử phát triển MongoDB: Quá trình phát triển Mongo với số cột mốc:  MongoDB xây dựng công ty 10gen, dự án xây dựng tảng cho dịch vụ giống Google App Egine vào năm 2007 Trang  Đến năm 2009 MongoD trở thành sản phẩm độc lập với mã nguồn mở với giấy phép AGPL  Trong tháng năm 2011, từ phiên 1.4 hoàn thiện sẵn sàng đưa vào sử dụng  Phiên 3.0.5 phát hành vào ngày 28 tháng 07 năm 2015 c) Đặc điểm MongoDB : Lưu trữ hướng Document: Có thể lưu trữ kiểu tài liệu phức tạp : mảng, bảng, băm, kiểu integer, BSON object tất kiểu liệu JSON hỗ trợ  Hỗ trợ mục đầy đủ: thao tác mục xoá hay cấp lại mục Hỗ trợ mục thuộc tính bao gồm:  Chỉ mục  Chỉ mục hỗn hợp  Chỉ mục mảng  Chỉ mục TTL (TTL- Time to live)  Chỉ mục rãi rác  Chỉ mục tìm kiếm văn (text)  Tính chép tính sẵn sàng cao: khả chịu lỗi, chịu tải cao, tính quán  Lưu trữ phân tán (sharding)  Mở rộng theo chiều ngang  Tự động phân cụm liệu  Tự động cân cụm liệu thông qua thao tác thêm hay gỡ bỏ  Phân cụm cho tất sưu tập, trừ sưu tập có kích thước nhỏ  Lưu trữ dự phòng phát sinh cố  Ứng dụng kết nối cụm liệu thông qua tiến trình mongos  Mơ hình đơn giản  Truy vấn : Dễ dàng đa dạng  Hiệu lưu trữ tập tin nhị phân, không làm thay đổi dung lượng truy xuất nhanh chóng Các khái niệu NOSQLm sở liệu NOSQL trị sở liệu MongoDB n MongoDB (database, collection, document, field): a) Database: Database nơi lưu trữ vật lý cho sưu tập (Collection) Mỗi Database lấy tập hợp file riêng hệ thống file Mỗi MongoDB Server có nhiều sở liệu Cơ sở liệu (Database) MongoDB nằm máy chủ MongoDB, máy chủ lưu trữ nhiều sở liệu cách độc lập riêng biệt Một sở liệu chứa hay nhiều sưu tập, sưu tập chứa tài liệu Trang b) Collection : Collection: nhóm liệu thuộc loại người dùng quy định, khác collection với table RDBMS collection khơng có buộc, quan hệ với collection khác Mỗi liệu collection không cố định số trường row table c) Document : Một Document MongoDB, có cấu trúc tương tự kiểu liệu JSON, tập hợp cặp key-value Các Document có schema động, nghĩa Document Collection không cần thiết phải có tập hợp trường cấu trúc giống nhau, trường chung Document Collection giữ kiểu liệu khác _id: trường bắt buộc phải có document Trường biểu diễn giá trị cho document Vì bắt buộc nên khơng thiết lập giá trị cho MongoDB tự động sinh trường d) Field: Field MongoDB cặp “tên - giá trị” Docunment Một Document khơng có có nhiều Field Các Field giống cột hệ thống sở liệu * So sánh hệ quản trị sở liệu quan hệ MongoDB: RDBMS MONGODB Database Database Table Collection Row Document Column Field Primary Key Primary Key (mặc định _id) II THỰC HIỆN TẠO CƠ SỞ DỮ LIỆU VÀ THỰC HIỆN CÁC THAO TÁC.C HIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU N TẠO CƠ SỞ DỮ LIỆU VÀ THỰC HIỆN CÁC THAO TÁC.O CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU U VÀ THỰC HIỆN TẠO CƠ SỞ DỮ LIỆU VÀ THỰC HIỆN CÁC THAO TÁC.C HIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU N CÁC THAO TÁC Tạo sở liệu :o sở liệu NOSQL sở liệu NOSQL liệu NOSQL liệu NOSQLu : Có cách để tạo CSDL, bao gồm sử dụng giao diện quản trị sử dụng câu lệnh Trang NoSQL a) Tạo CSDL với giao diện quản trị : Sau mở chương trình MongoDB, người dùng truy cập cần thực bước sau giao diện quản trị: Bước 1: Bắt đầu – Nhấn chọn vào dấu “ + ” góc trái phía hình Bước : Khai báo thơng tin cần thiết vào bảng Create Database, đó: + Tại Database Name, ta nhập tên của CSDL muốn tạo + Tại Collection Name, ta nhập tên sưu tập CSDL muốn tạo Bước 3: Kết thúc – Nhấn nút Create Database để hoàn tất việc tạo CSDL b) Tạo CSDL với câu lệnh : Trang Sau mở chương trình MongoDB, người dùng truy cập cần thực bước sau giao diện quản trị: - Bước 1: Mở trình soạn thảo truy vấn - Bước 2: Xây dựng câu lệnh tạo CSDL theo Cú pháp: use - Bước 3: Nhấn Enter để hồn tất việc tạo CSDL Ví dụ: Nếu muốn tạo sở liệu có tên SV, sử dụng lệnh sau: Nếu thành cơng cmd trả "switch to db SV" * Để xem sở liệu chọn tại, sử dụng lệnh: db * Để xem tất sở liệu có hệ thống , sử dụng lệnh: show dbs Một số thao tác khác :t số thao tác khác : thao tác khác : 2.1 Xóa liệu : Có cách để xóa CSDL, bao gồm sử dụng giao diện quản trị sử dụng câu lệnh NoSQL a) Xóa CSDL với giao diện quản trị : Sau mở chương trình MongoDB, người dùng truy cập cần thực bước sau giao diện quản trị: Bước 1: Bắt đầu – Đặt trỏ vào CSDL muốn xóa Bước 2: Nhấn chọn vào biểu tượng xóa Bước 3: Khai báo tên CSDL muốn xóa vào bảng Drop Database Trang Bước 4: Kết thúc – Nhấn nút Drop Database để hồn tất việc xóa CSDL b) Xóa CSDL với câu lệnh : Sau mở chương trình MongoDB, người dùng truy cập cần thực bước sau giao diện quản trị: - Bước 1: Mở trình soạn thảo truy vấn - Bước 2: Xây dựng câu lệnh tạo CSDL theo Cú pháp : db.dropDatabase() - Bước 3: Nhấn Enter để hồn tất việc xóa CSDL Ví dụ: Nếu muốn xóa sở liệu có tên SV, ta thực sau: Đầu tiên, kiểm tra danh sách sở liệu có sẵn lệnh: show dbs Nếu muốn xóa sở liệu SV, ta dùng lệnh: db.dropDatabase() Cuối cùng, thử kiểm tra danh sách sở liệu Trang 10 Lưu ý: Nếu bỏ dấu “ ” truy vấn khơng thực 2.Tìm kiếm document với nhiều điều kiện cho field embeded array document: 2.1 Sử dụng toán tử so sánh Bỏ qua sinh viên đầu tiên, hiển thị thơng tin sinh viên có tên: “Nam” có điểm số môn học từ đến 10 điểm 2.2 Sử dụng AND: Hiển thị thông tin sinh viên có tên: “Nam” có mã mơn học: ‘1700017’ điểm số từ đến 10 điểm Trang 20 ... NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ... DỮ LIỆU U NOSQL, HỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU QUẢN TRỊ CƠ SỞ DỮ LIỆU N TRỊ CƠ SỞ DỮ LIỆU CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU DỮ LIỆU... HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU U MONGODB VÀ CÁC KHÁI NIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU M CƠ SỞ DỮ LIỆU NOSQL, HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU BẢN TRỊ CƠ SỞ DỮ LIỆU

Ngày đăng: 04/11/2022, 16:33

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan