Nghiên cứu các hệ quản trị cơ sở dữ liệu và áp dụng vào bài toán lưu trữ và truy vấn kho sốthẻ điện thoại

80 19 0
Nghiên cứu các hệ quản trị cơ sở dữ liệu và áp dụng vào bài toán lưu trữ và truy vấn kho sốthẻ điện thoại

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - PHAN TRỌNG PHÚC NGHIÊN CỨU CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU VÀ ÁP DỤNG VÀO BÀI TOÁN LƯU TRỮ VÀ TRUY VẤN KHO SỐ/THẺ ĐIỆN THOẠI LUẬN VĂN THẠC SỸ KỸ THUẬT CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC TS NGUYỄN THANH HÙNG Hà Nội – Năm 2019 LỜI CAM ĐOAN Tôi tên là: Phan Trọng Phúc , học viên lớp 2016A CNTT – Trƣờng Đại học Bách Khoa Hà Nội Tơi xin cam đoan tồn nội dung luận văn tự học tập, nghiên cứu Internet, sách báo, tài liệu nƣớc có liên quan Khơng sử dụng làm khác, tài liệu đƣợc trích dẫn cụ thể Tơi xin chịu hồn tồn trách nhiệm lời cam đoan trƣớc Q Thầy Cơ, Khoa Nhà trƣờng Hà Nội, ngày … tháng … năm 2019 Ngƣời cam đoan Phan Trọng Phúc LỜI CẢM ƠN Lời đầu tiên, xin phép cho gửi lời cảm ơn trân trọng tới Thầy giáo TS Nguyễn Thanh Hùng, ngƣời bảo, hƣớng dẫn tơi tận suốt q trình học tập nhƣ thực luận văn cao học Tôi xin chân thành cảm ơn Thầy, Cô trƣờng Đại học Bách Khoa Hà Nội cho môi trƣờng tốt để học tập nghiên cứu Các Thầy Cô truyền đạt cảm hứng, cho kiến thức q báu, làm tảng để tơi hồn thành luận văn nhƣ công việc tƣơng lai Tôi xin gửi lời tri ân tới anh, chị, bạn học viên khố 2016 ln sát cánh suốt trình học tập trƣờng Lời cuối, muốn gửi lời cảm ơn tới gia đình bạn bè, ngƣời thân u ln bên, khuyến khích động viên tơi sống nhƣ học tập Tôi xin chân thành cảm ơn! MỤC LỤC DANH MỤC CHỮ VIẾT TẮT DANH MỤC CÁC HÌNH DANH MỤC CÁC BẢNG PHẦN MỞ ĐẦU 10 CHƢƠNG I: TỔNG QUAN VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU(DBMS) 12 1.1 Lịch sử phát triển ứng dụng 12 1.2.So sánh lƣu trữ hệ thống file cổ điển với hệ quản trị sở liệu 14 1.3 Những lợi ích hệ quản trị sở liệu 15 1.4 Biểu diễn lƣu trữ liệu hệ quản trị sở liệu 15 1.5 Đ c điểm hệ quản trị sở liệu 21 1.5.1 Sự tr u tƣợng hoá liệu 21 1.5.2 Ngôn ngữ sở liệu 22 1.5.3 Xử l c u h i 22 1.5.4 Quản trị giao dịch 23 1.5.5 Quản l lƣu trữ 23 1.6 Kiến tr c hệ quản trị sở liệu 24 1.7 Kết luận chƣơng 25 CHƢƠNG 2: PHÂN LOẠI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU, ĐÁNH GIÁ ƢU NHƢỢC ĐIỂM 26 2.1 Hệ quản trị sở liệu quan hệ 26 2.1.1 Các khái niệm mơ hình liệu quan hệ 26 2.1.2 Kiến trúc hệ quản trị sở liệu quan hệ .31 2.1.3 Các thao tác với hệ quản trị sở liệu quan hệ 32 2.1.4 Ƣu - nhƣợc điểm sở liệu quan hệ 35 2.2 Hệ quản trị sở liệu không quan hệ .35 2.2.1 Giới thiệu hệ quản trị sở liệu không quan hệ .35 2.2.2 Một số đ c điểm .37 2.2.3 Phân loại cấu tr c lƣu trữ 37 2.2.3 Ƣu nhƣợc điểm NoSQL 44 2.3 Cơ sở liệu đại (NEWSQL) 44 2.3.1 Giới thiệu sở liệu đại 44 2.3.2 Đ c điểm NEWSQL 46 2.3.4 Ƣu nhƣợc điểm NEWSQL 48 2.4 Kết luận chƣơng 48 CHƢƠNG : XÂY DỰNG HỆ THỐNG TRUY VẤN KHO SIM SỐ/THẺ ĐIỆN THOẠI 49 3.1 Ý tƣởng toán .49 3.2 Đề xuất giải pháp sử dụng công nghệ .49 3.3 Phân tích thiết kế hệ thống xếp truy vấn số SIM/ thẻ điện 51 3.3.1 Tổng quan hệ thống 51 3.3.2 Use case hệ thống 53 3.3.3 Ph n tích sở liệu 57 3.4 Kết luận chƣơng 59 CHƢƠNG 4: TRIỂN KHAI THỬ NGHIỆM HỆ THỐNG TRUY VẤN SIM SỐ/THẺ ĐIỆN THOẠI TRÊN GOOGLE CLOUD VỚI CÁC HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU KHÁC NHAU 60 4.1 Hệ quản trị sở liệu NoSQL MogoDB .60 4.2 Hệ quản trị sở liệu MySql 60 4.3 Hệ quản trị sở liệu Datastore .61 4.4 Giới thiệu dịch vụ Google Cloud 62 4.5 Giới thiệu NodeJS 62 4.6 Các yêu cầu cài đ t 63 4.6.1 Cài đ t IDE Visual Studio Code 63 4.6.2 Cài đ t Google Cloud .63 4.6.3 Cài đ t MySql 64 4.6.4 Cài đ t Mongodb .64 4.6.5 Cài đ t Datastore 64 4.6.6 Cài đ t NodeJs 65 4.6.7 Ngôn ngữ xây dựng website 65 4.7 Cài đ t ứng dụng kết 65 4.7.1 Cài đ t ứng dụng 65 4.7.2 Kết 69 4.7.3 Tiến hành thử nghiệm thực tế 73 Bảng 4: Bảng kết đo thực nghiệm 74 4.8 Đánh giá .76 4.9 Kết luận chƣơng 77 KẾT LUẬN 78 TÀI LIỆU THAM KHẢO 79 DANH MỤC CHỮ VIẾT TẮT DBMS Database Management System CSDL Cơ sở liệu IBM International Business Machines SQL Structured Query Language ANSI American National Standards Institute ISO International Standards Organization ORM Object-relational mapping GB Gigabyte RDBMs Relational database management system DANH MỤC CÁC HÌNH Hình 1: Các ký hiệu mơ hình liên kết thực thể Hình 2: Sự trìu tƣợng hố liệu hệ quản trị CSDL Hình 3: Kiến trúc hệ quản trị sở liệu Hình 4: Kiến trúc hệ quản trị CSDL quan hệ Hình 5: Cấu tr c lƣu trữ liệu sở liệu cột Hình 6: Cấu tr c lƣu trữ liệu sở liệu khố-giá trị Hình 7: Cấu tr c lƣu trữ liệu sở liệu hƣớng tài liệu Hình 8: Cấu tr c lƣu trữ liệu sở liệu đồ thị Hình 9: Tổng quan chức hệ thống Hình 10: Use case tổng quan hệ thống Hình 11: Use case quản trị sim thẻ Hình 12: Use case thêm sửa xố sim thẻ Hình 13: Use case quản trị khách hàng Hình 14: Use case thêm sửa xố khách hàng Hình 15: Use case quản trị hợp đồng Hình 16: Use case thêm sửa xố hợp đồng Hình 17: Thiết kế CSDL MySql Hình 18: Thiết kế sở liệu MongoDB Hình 19: Thiết kế sở liệu Datastore Hình 20: Cấu tr c project phía client Hình 21: Cấu tr c project phía server NodeJs Hình 22: Giao diện hệ thống truy cập số sim/thẻ điện thoại Hình 23: Giao diện quản l thơng tin sim Hình 24: Giao diện tạo sửa thơng tin sim thẻ Hình 25: Giao diện quản l thơng tin khách hàng Hình 26: Giao diện tạo sửa thơng tin khách hàng Hình 27: Giao diện quản l thơng tin hợp đồng Hình 28: Giao diện tạo sửa thơng tin hợp đồng Hình 29: Giao diện so sánh hiệu hệ quản trị CSDL Hình 30: Biểu đồ thời gian tìm kiếm 10 ngàn ghi Hình 31: Biểu đồ thời gian tìm kiếm 50 ngàn ghi Hình 32: Biểu đồ thời gian tìm kiếm 100 ngàn ghi DANH MỤC CÁC BẢNG Bảng 1: Bảng chứa thông tin sim SimInfo Bảng 2: Bảng chứa thông tin ngƣời dùng UserInfo Bảng 3: Bảng chứa thông tin ngƣời sử dụng sim UserSim Bảng 4: Bảng kết đo thực nghiệm Bảng 5: Bảng kết thời gian đo trung bình 100 lần đo 4.6.6 Cài đ t NodeJs Chạy lệnh: apt-get install nodejs 4.6.7 Ng n ngữ dựng website HTML, JS 4.7 Cài đ t ứng dụng ết Thời thời gian nghiên cứu cơng nghệ ngơn ngữ lập trình sau đ y em xin trình bày kết cài đ t 4.7.1 Cài đ t ứng dụng Thiết ế sở liệu với t ng loại hệ quản trị sở liệu o MySql Hình 17: Thiết kế CSDL MySql 65 o Mongodb Hình 18: Thiết kế sở liệu MongoDB 66 o Datastore Hình 19: Thiết kế sở liệu Datastore 67 Code client Hình 20: Cấu tr c project phía client Code server Hình 21: Cấu tr c project phía server NodeJs 68 4.7.2 Kết Giao diện triển khai phần mềm truy vấn số sim/thẻ Hình 22: Giao diện hệ thống truy cập số sim/thẻ điện thoại Hình 23: Giao diện quản l thơng tin sim 69 Hình 24: Giao diện tạo sửa thơng tin sim thẻ Hình 25: Giao diện quản l thơng tin khách hàng 70 Hình 26: Giao diện tạo sửa thơng tin khách hàng Hình 27: Giao diện quản l thơng tin hợp đồng 71 Hình 28: Giao diện tạo sửa thơng tin hợp đồng Hình 29: Giao diện so sánh hiệu hệ quản trị CSDL 72 4.7.3 Tiến hành thử nghiệm thực tế o Tiến hành đo kết thực nghiệm tốc độ truy cập liệu hệ quản trị sở liệu Datastore, Mongodb, MySql o Kịch bản: • Dùng tool để sinh tự động lần lƣợt 10 ngàn, 50 ngàn, 100 ngàn ghi số sim/thẻ, hợp đồng, thơng tin ngƣời dùng • Trên giao diện phần mềm ngƣời dùng nhập số sim vào hệ thống bấm n t tìm kiếm • Hệ thống truy cập vào database để lấy thông tin  Thông tin số sim/thẻ  Thông tin hợp đồng  Thông tin ngƣời dùng • C u lệnh query hệ quản trị sở liệu để lấy thông tin là:  Datastore • ofy( load( type(SimInfo.class fillter(“number”, sdt).first().now(); • ofy( load( type(UserSim.class fillter(“simId”, simId).first().now(); • ofy().load().type(UserInfo.class).id(userId).now();  Mongodb • SimInfo.find({ number: number }, (err, datas) => {} • UserSim.find({ simId: simId }, (err, datas) => {} • UserInfor.findById(id, (err, datas) => {}  MySQL • SELECT * FROM SimInfo WHERE number=sdt; • SELECT * FROM UserSim WHERE simId=simId; • SELECT * FROM UserInfo WHERE id=userId 73 • Kết trả thông tin + thời gian thực t bắt đầu hệ quản trị csdl thực việc tìm kiếm đến tìm kiếm xong thơng tin • Thử nghiệm số lƣợng 10.000, 50.000, 100.000 ghi • Đo 100 lần với loại số lƣợng ghi, đƣợc kết ghi vào file excel để vẽ biểu đồ so sánh Số sim/thẻ Ngƣời dùng Hợp đồng 10.000 10.000 10.000 50.000 50.000 50.000 100.000 100.000 100.000 Bảng 4: Bảng ết đo thực nghiệm 74 Đo 100 lần tr n c c hệ sở liệu o Kết đo 10 ngàn ghi: Hình 30: Biểu đồ thời gian tìm kiếm 10 ngàn ghi o Kết đo 50 ngàn ghi Hình 31: Biểu đồ thời gian tìm kiếm 50 ngàn ghi 75 o Kết đo 100 ngàn ghi Hình 32: Biểu đồ thời gian tìm kiếm 100 ngàn ghi 4.8 Đ nh gi o Thống kê thời gian tìm kiếm kết trung bình sau 100 lần đo MongoDB Datastore MySQL 10 ngàn 13 22 35 50 ngàn 29 50 90 100 ngàn 99 227 574 Bảng 5: Bảng kết thời gian đo trung b nh 100 lần đo 76 o Nhận xét • Mongodb truy xuất liệu nhanh nhất, Mysql truy xuất liệu chậm • Khi ghi tăng thời gian truy xuất liệu tăng, nhiên với csdl không quan hệ nhƣ Datastore, Mongodb thời gian tăng không đáng kể nhƣng MySql thời gian tăng lớn o Kết luận • Với hệ thống có liệu lƣu trữ lớn, cấu tr c đơn giản, cần đảm bảo hiệu nên sử dụng csdl không quan hệ • Với hệ thống có liệu phức tạp, thiên nhiều tổng hợp, báo cáo thống kê nên sử dụng csdl quan hệ 4.9 Kết luận chƣơng Nội dung chƣơng trình bày chi tiết cách cài đ t, triển khai ứng dụng Google cloud với hệ quản trị sở liệu Mysql, Mongodb, Datastore T so sánh đƣợc hiệu hệ quản trị sở liệu số lƣợng ghi lớn, Các hệ quản trị sở liệu NoSql thể rõ đƣợc ƣu điểm hiệu 77 KẾT LUẬN Với việc triển khai thử nghiệm hệ quản trị sở liệu ta đƣa có lựa chọn phù hợp hệ quản trị sở liệu cho hệ thống Cơ sở liệu quan hệ l tƣởng cho dự án có yêu cầu đƣợc xác định sẵn cần có thống ch t chẽ liệu, báo cáo thống kê tổng hợp C n sở liệu không quan hệ lựa chọn tốt cho yêu cầu chƣa cụ thể cần mở rộng sau này, hay dự án vô coi trọng yếu tố tốc độ bigdata Theo cách hiểu đơn giản hơn: o Cơ sở liệu quan hệ: hoạt động tốt với đối tƣợng rời rạc, đƣợc định nghĩa rõ ràng với yêu cầu kĩ thuật đƣợc xác định xác Các trƣờng hợp sử dụng thƣờng thấy là: Các cửa hàng online hệ thống ngân hàng o Cơ sở liệu khơng quan hệ : Nó phù hợp với liệu lớn có tổ chức với yêu cầu mềm l ng - đƣợc thay đổi, mở rộng cho phù hợp hồn cảnh Ví dụ nhƣ: Các mạng xã hội, hệ thống quản lý khách hàng phân tích trang web 78 TÀI LIỆU THAM KHẢO Ebook Database System Concepts - 6th edition - Avi Silberschatz Database Systems A Practical Approach to Design, Implementation & Management By Thomas Connolly, Carolyn Begg Fundamentals of Database Systems - Elmasari , Navathe Database Management Systems By Raghu Ramkrishnan, Gehrke Website https://en.wikipedia.org http://www.mysqltutorial.org https://www.mongodb.com https://github.com/googleapis/nodejs-datastore https://nodejs.org/en/docs/ https://cloud.google.com/docs/ http://nosql-database.org/ https://en.wikipedia.org/wiki/NoSQL 79 ... điểm hệ quản trị sở liệu 25 CHƢƠNG 2: PHÂN LOẠI HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU ĐÁNH GIÁ ƢU NHƢỢC ĐIỂM 2.1 Hệ quản trị sở liệu quan hệ Hệ quản trị sở liệu quan hệ quản trị sở liệu dựa mơ hình quan hệ. .. hệ quản trị sở liệu Chƣơng 2: Phân loại hệ quản trị sở liệu, đánh giá ƣu nhƣợc điểm Chƣơng so sánh chi tiết hệ quản trị sở liệu, đánh giá ƣu nhƣợc điểm ứng dụng t ng hệ quản trị sở liệu vào toán. .. quản trị sở liệu hỗ trợ nhiều tính quan trọng đƣợc sử dụng nhiều ứng dụng truy cập tới liệu đƣợc lƣu trữ hệ quản trị sở liệu 1.4 Biểu diễn lƣu trữ liệu hệ quản trị sở liệu Ngƣời sử dụng hệ quản trị

Ngày đăng: 01/03/2021, 09:42

Mục lục

  • MỤC LỤC

  • PHẦN MỞ ĐẦU

  • CHƯƠNG I

  • CHƯƠNG 2

  • CHƯƠNG 3

  • CHƯƠNG 4

  • KẾT LUẬN

  • TÀI LIỆU THAM KHẢO

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

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

Tài liệu liên quan