Luận văn tốt nghiệp công nghệ thông tin so sánh mongodb và mysql ứng dụng vào xây dựng website bán sách trực tuyến

Luận văn tốt nghiệp kỹ thuật nghiên cứu Luận văn tốt nghiệp công nghệ thông tin so sánh mongodb và mysql ứng dụng vào xây dựng website bán, điều tra thực trạng, phân tích số liệu,

Trường đại học

Đại học Võ Trường Toản

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

luận văn tốt nghiệp

2013

78
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM TẠ

BẢN NHẬN XÉT LUẬN VĂN TỐT NGHIỆP

NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

1. CHƯƠNG 1: LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ

1.1. PHẠM VI ĐỀ TÀI

1.2. PHƯƠNG PHÁP NGHIÊN CỨU

1.3. GIỚI THIỆU VỀ NOSQL

1.4. GIỚI THIỆU VỀ MONGODB

1.5. Các đặc trưng

1.6. Xây dựng hệ thống với MongoDB

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. GIỚI THIỆU VỀ NOSQL

2.2. GIỚI THIỆU VỀ MONGODB

2.2.1. Giới thiệu

2.2.2. Các khái niệm

2.2.3. Các đặc trưng

2.2.4. Xây dựng hệ thống với MongoDB

2.2.5. Các kiểu dữ liệu

3. CHƯƠNG 3

DANH MỤC HÌNH

DANH MỤC BẢNG

TÓM TẮT

ABSTRACT

Tóm tắt

I. So sánh MongoDB và MySQL

So sánh MongoDB và MySQL là trọng tâm của luận văn, tập trung vào việc phân tích hai hệ quản trị cơ sở dữ liệu này trong bối cảnh xây dựng website bán sách trực tuyến. MongoDB, một cơ sở dữ liệu NoSQL, được so sánh với MySQL, một cơ sở dữ liệu quan hệ truyền thống. MongoDB nổi bật với khả năng lưu trữ dữ liệu dưới dạng JSON, mang lại tính linh hoạt trong thiết kếtính mở rộng cao. Trong khi đó, MySQL vẫn duy trì ưu thế về tính nhất quán dữ liệutính bảo mật. Luận văn đánh giá hiệu suất của cả hai hệ thống trong việc xử lý các chức năng như đăng nhập, tìm kiếm sách, và quản lý giỏ hàng.

1.1. Tính năng MongoDB

Tính năng MongoDB bao gồm khả năng lưu trữ dữ liệu dưới dạng JSON, hỗ trợ truy vấn đa dạng, và tính mở rộng theo chiều ngang. MongoDB không yêu cầu schema cố định, cho phép lưu trữ dữ liệu linh hoạt. Điều này đặc biệt hữu ích trong các ứng dụng web có cấu trúc dữ liệu thay đổi thường xuyên. MongoDB cũng hỗ trợ GridFS để lưu trữ file lớn, một tính năng quan trọng cho website bán sách trực tuyến.

1.2. Tính năng MySQL

Tính năng MySQL tập trung vào tính nhất quán dữ liệutính bảo mật. MySQL sử dụng mô hình quan hệ, đảm bảo dữ liệu được lưu trữ và truy xuất một cách chính xác. Điều này phù hợp với các hệ thống yêu cầu độ tin cậy cao. MySQL cũng hỗ trợ các công cụ tối ưu hóa truy vấn, giúp cải thiện hiệu suất truy vấn trong các tác vụ phức tạp.

II. Ứng dụng xây dựng website bán sách trực tuyến

Ứng dụng xây dựng website bán sách trực tuyến là mục tiêu chính của luận văn. Website được thiết kế để so sánh hiệu suất và khả năng quản lý dữ liệu của MongoDB và MySQL. Các chức năng chính bao gồm đăng nhập, tìm kiếm sách, quản lý giỏ hàng, và thanh toán. Luận văn đánh giá khả năng xử lý dữ liệu của cả hai hệ thống trong các tình huống thực tế, từ đó đưa ra kết luận về ưu và nhược điểm của từng hệ thống.

2.1. Quản lý dữ liệu

Quản lý dữ liệu là yếu tố quan trọng trong việc xây dựng website bán sách trực tuyến. MongoDB cho phép lưu trữ dữ liệu linh hoạt, không yêu cầu schema cố định, giúp dễ dàng thêm hoặc thay đổi cấu trúc dữ liệu. Trong khi đó, MySQL yêu cầu schema cố định, đảm bảo tính nhất quán và toàn vẹn dữ liệu. Luận văn so sánh hiệu suất của cả hai hệ thống trong việc quản lý dữ liệu sách, khách hàng, và đơn hàng.

2.2. Tối ưu hóa SEO

Tối ưu hóa SEO cho website bán sách là một yếu tố quan trọng để thu hút lượng truy cập. Luận văn đánh giá khả năng hỗ trợ SEO của cả hai hệ thống. MongoDB cho phép lưu trữ dữ liệu dưới dạng JSON, giúp dễ dàng tích hợp với các công cụ SEO. MySQL, với cấu trúc dữ liệu quan hệ, cũng hỗ trợ tốt cho việc tối ưu hóa SEO thông qua các công cụ quản lý dữ liệu.

III. Lựa chọn cơ sở dữ liệu cho website

Lựa chọn cơ sở dữ liệu cho website là quyết định quan trọng dựa trên các yếu tố như tính mở rộng, tính linh hoạt, và hiệu suất truy vấn. Luận văn đưa ra các tiêu chí để lựa chọn giữa MongoDB và MySQL, bao gồm khả năng xử lý dữ liệu lớn, tính nhất quán dữ liệu, và khả năng tích hợp với các công nghệ khác. Kết quả nghiên cứu cho thấy MongoDB phù hợp hơn với các ứng dụng web có cấu trúc dữ liệu thay đổi thường xuyên, trong khi MySQL phù hợp với các hệ thống yêu cầu độ tin cậy cao.

3.1. Tính mở rộng

Tính mở rộng là yếu tố quan trọng khi lựa chọn cơ sở dữ liệu. MongoDB hỗ trợ mở rộng theo chiều ngang, cho phép phân tán dữ liệu trên nhiều máy chủ. Điều này giúp cải thiện hiệu suất khi lượng dữ liệu tăng lên. MySQL, mặc dù hỗ trợ mở rộng theo chiều dọc, nhưng có thể gặp khó khăn khi xử lý dữ liệu lớn.

3.2. Hiệu suất truy vấn

Hiệu suất truy vấn là yếu tố quyết định trong việc lựa chọn cơ sở dữ liệu. MongoDB cho phép truy vấn dữ liệu nhanh chóng nhờ cấu trúc lưu trữ linh hoạt. MySQL, với cấu trúc dữ liệu quan hệ, cũng hỗ trợ truy vấn hiệu quả thông qua các công cụ tối ưu hóa. Luận văn so sánh hiệu suất truy vấn của cả hai hệ thống trong các tình huống thực tế.

01/03/2025
Luận văn tốt nghiệp công nghệ thông tin so sánh mongodb và mysql ứng dụng vào xây dựng website bán sách trực tuyến

Trích đoạn nội dung tài liệu

ĐẶT VẤN ĐỀ Ngày nay, sự phát triển của Internet và nhu cầu sử dụng tài nguyên ảo của con người ngày càng cao, đặc biệt là nhu cầu lưu trữ thông tin. Từ những trang web cá nhân đến các hệ thống mạng xã hội toàn cầu đều cần lưu trữ và khai thác thông tin một cách tối ưu. Với những hệ thống nhỏ như các trang web cá nhân hay các dịch vụ mua bán trực tuyến thì hệ thống dữ liệu lưu trữ cần phải toàn vẹn, logic và đảm bảo ổn định. Còn với các hệ thống mạng xã hội toàn cầu hay các hệ thống thông tin quốc gia, khi mà dữ liệu lưu trữ khổng lồ cần một tài nguyên rộng lớn thì việc đảm bảo độ bảo mật và tốc độ xử lý luôn được đề cao hàng đầu.

Đến đây, người ta yêu cầu một giải pháp có thể vừa đảm bảo sự linh hoạt trong việc lưu trữ, vừa đảm bảo tốc độ truy xuất nhanh chóng. Có thể thấy, mô hình cơ sở dữ liệu quan hệ đã giải quyết tốt các yêu cầu lưu trữ của hệ thống. Thế nhưng, liệu nó đã đáp ứng được hết nhu cầu người dùng khi các thông tin ngày càng phức tạp và rời rạc nhau? Và người ta đã bắt đầu nghiên cứu một cách lưu trữ thông tin mới – mô hình dữ liệu không ràng buộc NoSQL(Not Only SQL). Đề tài nghiên cứu về MongoDB, một trong những hệ quản trị cơ sở dữ liệu đặc trưng của NoSQL, so sánh những đặc điểm của hệ quản trị mới này với hệ quản trị cơ sở dữ liệu MySQL để xây dựng trang web bán sách trực tuyến.

Quá trình nghiên cứu sẽ tìm ra các điểm nổi bật, vượt trội của MongoDB, những điểm mới mà MySQL chưa có. Đề tài sẽ so sánh MongoDB và MySQL trên các phương diện phân tích, thiết kế hệ thống, xây dựng cơ sở dữ liệu và cách thức truy xuất dữ liệu trên trang web. LỊCH SỬ GIẢI QUYẾT VẤN ĐỀ Chúng ta có thể thấy, ngày nay càng có nhiều hệ thống sử dụng cơ sở dữ liệu không ràng buộc thay thế cho phương pháp lưu trữ truyền thống. Điều này đã nói lên phần nào lợi thế của nó.

NoSQL đặc biệt phổ dụng trong thời kì Web 2.0 bùng nổ, nơi các mạng dịch vụ cộng đồng cho phép người dùng tạo ra hàng tỉ nội dung trên web, đánh dấu sự trưởng thành của thế hệ database mới trong khi những sản phẩm phần mềm có thể đã được phát triển trước đó từ rất lâu. Với các trang web giao dịch trực tuyến, trước đó đã có rất nhiều phương pháp để xây dựng và thiết kế hệ thống dữ liệu, nhưng vẫn còn những vấn đề phát sinh. MongoDB đã được sử dụng vào các website mua bán nhưng vẫn chưa được phổ biến. Đa số những trang web vẫn sử dụng cơ sở dữ liệu truyền thống.

Biểu đồ so sánh hiệu suất hoạt động của MongoDB và SQL 2 Kết quả nghiên cứu cho chúng ta thấy những mặt ưu điểm vượt trội của NoSQL. Thế nhưng các kết quả được thực hiện trên các hệ thống lớn, phức tạp với lượng mẫu tin lên đến hàng triệu. Liệu với những hệ thống vừa và nhỏ, với những dữ liệu có tính toàn vẹn cao thì NoSQL có thể thay thế được cho cơ sở dữ liệu thông thường? 1.3 PHẠM VI ĐỀ TÀI Chính những vấn đề phát sinh trong việc lựa chọn giữa NoSQL và cơ sở dữ liệu quan hệ cùng với sự hấp dẫn của phương pháp lưu trữ mới nên em đã chọn và xây dựng đề tài “So sánh MongoDB và MySQL ứng dụng vào xây dựng website bán sách trực tuyến”. Đề tài nghiên cứu và so sánh MongoDB và MySQL ở các phương diện phân tích và thiết kế hệ thống, xây dựng cơ sở dữ liệu cho trang web bán sách trực tuyến.

Trang web sẽ xây dựng trên cơ sở một nhà sách vừa và nhỏ, chủ yếu xoáy sâu và hệ thống lưu trữ, truy xuất và tìm kiếm thông tin, về các phương thức thanh toán sách cũng như các tiêu chí phân loại người dùng vẫn chưa được triển khai.4 PHƯƠNG PHÁP NGHIÊN CỨU Dựa trên quá trình nghiên cứu và phân tích hệ thống, cũng như tham khảo các hệ thống bán sách của những nhà sách lớn để xây dựng trang web bán sách trên nền của hai hệ quản trị cơ sở dữ liệu MongoDB và MySQL. Đồ án tập trung vào các điểm mạnh của MongoDB để triển khai trên hệ thống trang web, tìm hiểu các phương thức lưu trữ và truy xuất dữ liệu, từ các kết quả nghiên cứu sẽ rút ra được những điểm khác nhau của MongoDB và MySQL. 3 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.1 GIỚI THIỆU VỀ NOSQL 2.1 Giới thiệu Với sự phát triển ngày càng nhanh của các mạng xã hội Facebook, Google Plus… kèm theo đó sẽ là lượng dữ liệu phát sinh ngày càng lớn và cập nhật liên tục, cấu trúc dữ liệu tổ chức lưu trữ và mối quan hệ giữa chúng trở nên cồng kềnh, phức tạp. Chính việc kiểm tra và đảm bảo các ràng buộc toàn vẹn trên dữ liệu, việc thực hiện phép kết nối dữ liệu giữa quá nhiều bảng trên khối lượng dữ liệu khổng lồ đó làm cho hiệu suất thực hiện của hệ thống không đáp ứng với kỳ vọng.

Đội ngũ phát triển mạng xã hội hay các hệ thống lớn tương tự, giờ đây đang đòi hỏi các hệ quản trị cơ sở dữ liệu nhiều ở khả năng giảm thiểu tối đa các phép tính toán, các tác vụ đọc-ghi liên quan, kết hợp với khả năng xử lý theo lô (batch processing). Bên cạnh đó các thiết bị di động, các máy tính bảng,… với bộ nhớ và tốc độ xử lý thấp, còn khi cần xử lý lượng dữ liệu lớn thì các hệ quản trị cơ sở dữ liệu quan hệ đòi hỏi cao về phần cứng, do đó cũng có 1 đòi hỏi khác là các hệ quản trị cơ sở dữ liệu có thể triển khai được trên các thiết bị di động và chỉ đòi hỏi về tài nguyên thấp. Xuất phát từ các yêu cầu chính đó nên mô hình cơ sở dữ liệu NoSQL được ra đời và phát triển. Như tên gọi của nó, NoSQL (None-Relational SQL) là mô hình cơ sở dữ liệu không quan hệ nên nó sẽ giảm thiểu được các phép tính toán, các kiểm tra ràng buộc trên dữ liệu… do đó tốc độ đọc ghi nhanh, và yêu cầu thấp về phần cứng.

Hiện nay, các hệ quản trị cơ sở dữ liệu theo mô hình NoSQL này có thể kể đến Cassandra của FaceBook, Dynamo của Amazon và BigTable của Google, CouchDB, Hbase, MongoDB và Redis.2 Đặc điểm Looser consistency: NoSQL tổ chức lưu trữ và truy xuất dữ liệu theo cơ chế “thoáng hơn trong đảm bảo tính nhất quán của dữ liệu” so với mô hình dữ liệu quan hệ tryền thống nhằm cải thiện hiệu suất, đảm bảo dữ liệu luôn được đáp ứng tốt hơn Eventual consistency: NoSQL không yêu cầu phải đảm bảo tính nhất quán của dữ dữ liệu ngay tức thì mà sẽ hiện thực tính nhất quán của dữ liệu theo cơ chế lan truyền. Ví dụ: Khi bạn đổi đổi avartar trên Facebook thì hình ảnh trên trang cá nhân của bạn được đổi tức thì, còn trong danh sách bạn bè và trên trang chủ chưa được cập nhật ngay. Distributed storage: hay còn gọi là lưu trữ phân tán là thay vì dữ liệu được lưu trữ trên một máy chủ duy nhất thì hệ thống sẽ lưu dữ liệu trên nhiều máy khác nhau. Horizontal scalable: hay còn gọi là khả năng mở rộng chiều ngang.

Bình thường, với các hệ quản trị cơ sở dữ liệu quan hệ , khi mà dữ liệu quá lớn phương pháp tăng khả năng lưu trữ là sẽ phải mở rộng (nâng cấp máy chủ), còn đối với NoSQL thì chỉ cần bổ sung thêm máy chủ khác vì hệ thống hỗ trợ lưu trữ phân tán trên nhiều máy. NoSQL là mã nguồn mở: điều này có nghĩa là bạn sẽ dễ dàng phát triển một ứng dụng có sử dụng NoSQL mà không phải tốn chi phí license. Tuy nhiên, đây cũng chính là nhược điểm của NoSQL. Dễ mở rộng quy mô: NoSQL đã thay thế cách mở rộng quy mô truyền thống của các hệ quản trị cơ sở dữ liệu quan hệ bằng hình thức “mở rộng ra ngoài”.

Với hình thức mở rộng đặc biệt này, thay vì phải bổ sung thêm các máy chủ lớn hơn vào hệ thống khi dữ liệu lớn lên, thì NoSQL lại hỗ trợ doanh nghiệp phân tán dữ liệu qua nhiều máy chủ khi dữ liệu gia tăng. Hỗ trợ các mô hình dữ liệu khác nhau tuỳ mục đích và cách thức lưu trữ dữ liệu như lưu kiểu key-value, BigTable, lưu Document hay lưu thông tin Graph 5 2.2 GIỚI THIỆU VỀ MONGODB 2.1 Giới thiệu MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở “document-oriented” NoSQL. Thay vì cách thức lưu trữ dữ liệu trong các bảng được thực hiện trong các cơ sở dữ liệu quan hệ cổ điển thì MongoDB lưu trữ dữ liệu theo cấu trúc JSON với đặc tính “shcemaless” (MongoDB gọi với định dạng là BSON), làm cho việc tương tác với dữ liệu trong một số loại ứng dụng trở nên dễ dàng và nhanh hơn. MongoDB được bắt đầu phát triển từ năm 2007 bởi 10Gen, và ngày nay đã trở thành một hệ quản trị cơ sở dữ liệu phong phú về tính năng dành cho người dùng.

MongoDB được sử dụng bới MTV Networks, Craigslist, Foursquare… và đã có sẵn trên các hệ điều hành Windows, Linux, OS X và Solaris. Phiên bản mới nhất của MongoDB hiện tại là bản 2.4, tải về tại địa chỉ www. MongoDB là một CSDL có khả năng mở rộng, hiệu suất cao, mã nguồn mở và hướng văn bản. Với các ứng dụng có lượng ghi dữ liệu lớn thì MongoDB lại càng là lựa chọn hợp lý.

Một ví dụ về cách thức lưu trữ trên MongoDB và MySQL. Mô hình lưu trữ trên MongoDB 6 Hình 3. Mô hình lưu trữ trên MySQL Tương tự như MySQL và các hệ quản trị cơ sở dữ liệu khác, MongoDB cũng có các khái niệm như bảng(Collection), dòng dữ liệu(Documents)… 2.2 Các khái niệm Bảng 1. CÁC KHÁI NIỆM TRONG MONGODB VÀ MYSQL MongoDB MySQL Database Database Collection Table Documents Rows Fields Columns Database bao gồm nhiều Collection, những mã nhúng javascript và một số thành phần khác.

7 Mẫu tin (Document) là đơn vị cơ bản của dữ liệu trong MongoDB, nó tương đương với một dòng trong cơ sở dữ liệu quan hệ. Bộ sưu tập (Collection) có thể được coi như tương đương với một bảng. MongoDB có thể lưu trữ nhiều CSDL độc lập, mỗi CSDL này có các bộ sưu tập và điều khoản riêng của mình. MongoDB đi kèm với một trình tiện ích JavaScript đơn giản nhưng mạnh mẽ, nó hữu ích trong quản trị và thao tác dữ liệu.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "So Sánh MongoDB và MySQL: Ứng Dụng Xây Dựng Website Bán Sách Trực Tuyến" tập trung so sánh hai hệ quản trị cơ sở dữ liệu phổ biến, MongoDB (NoSQL) và MySQL (quan hệ), trong bối cảnh xây dựng một website bán sách trực tuyến. Bài viết phân tích điểm mạnh, điểm yếu của từng hệ thống, giúp người đọc hiểu rõ hơn về kiến trúc, khả năng mở rộng, hiệu năng, và sự phù hợp với các yêu cầu cụ thể của dự án bán sách online. Nó cung cấp cái nhìn thực tế về việc lựa chọn cơ sở dữ liệu tối ưu cho dự án, dựa trên các tiêu chí như khả năng xử lý dữ liệu phức tạp, tốc độ truy vấn, khả năng mở rộng quy mô khi số lượng sách và người dùng tăng lên.

Nếu bạn quan tâm đến việc áp dụng công nghệ thông tin để nâng cao hiệu quả kinh doanh, bạn có thể tham khảo thêm tài liệu "Biện pháp tăng cường ứng dụng công nghệ thông tin trong kinh doanh tại công ty tnhh gas petrolimex hải phòng" để hiểu rõ hơn về các giải pháp công nghệ thông tin trong một lĩnh vực kinh doanh khác. Việc xem xét các ví dụ thực tế có thể giúp bạn có thêm ý tưởng để áp dụng vào dự án bán sách của mình, đặc biệt trong việc quản lý và phân tích dữ liệu khách hàng.