Đặt vấn đề Ngày nay, Công nghệ thông tin có vai trò quan trọng, là động lực thúc đẩy tăng trưởng kinh tế và kích thích tiềm năng đổi mới đối với nền kinh tế toàn cầu nói chung và nền kinh tế quốc dân của mỗi nước nói riêng. Với nhiều thành quả quan trọng, Công nghệ thông tin đã được ứng dụng rộng dãi trong nhiều lĩnh vực, trở thành một trong những yếu tố quan trọng nhất của sự phát triển kinh tế - xã hội, an ninh - quốc phòng. Việc đẩy mạnh ứng dụng công nghệ thông tin sẽ làm thay đổi tác phong làm việc, nâng cao năng suất lao động, nâng cao dân trí,…Chính vì thế, công nghệ thông tin sẽ trở thành nền kinh tế mũi nhọn của nước ta trong những năm tới đây. Hơn nữa thương mại điện tử là một lĩnh vực mới đang được nhiều cơ quan, nhiều công ty, nhiều đoàn thể cũng như cá nhân nghiên cứu và phát triển nhằm đưa các thiết bị, các ứng dụng liên quan đến điện tử tin học vào phục vụ cho sự phát triển kinh doanh.
Thương mại điện tử là một trong những lĩnh vực được xem là mang tính thời sự ở Việt nam, ở nước ta cũng đã có nhiều tổ chức, cá nhân nghiên cứu, ứng dụng thương mại điện tử vào kinh doanh nhưng đây là một lĩnh vực mới mẻ và còn rất non trẻ. Để góp một phần nhỏ vào sự phát triển Thương mại điện tử ở nước ta Em đã quyết định thực hiện đề tài “Phát triển website quản lý bán hàng Sober”. Mô tả đề tài Với những thao tác đơn giản trên máy có nối mạng Internet người tiêu dùng sẽ có tận tay những gì mình cần chỉ cần vào các trang web bán hàng, làm theo hướng dẫn và click vào những gì bạn cần. Không cần đi đâu xa, chỉ cần ngồi tại chỗ là có thể chọn 6 Năm 2022 NGUYỄN VĂN CÔNG Khoa: CNTT lựa thỏa thích các mặt hàng mà mình yêu thích và được giao hàng tận nơi, tiết kiệm được thời gian, công sức và cả tiền bạc.
Mục tiêu của đề tài Hệ thống là một chương trình phần mềm giúp cho các doanh nghiệp hay các chủ cửa hàng giới thiệu và bán sản phẩm của mình tới người tiêu dùng một cách nhanh nhất thông qua trang web bán hàng. Và thông qua trang web này người dùng có thể tiếp cận mặt hàng chỉ với những thao tác đơn giản trên thiết bị có nối mạng Internet bạn sẽ có tận tay những gì mình cần mà không phải mất nhiều thời gian Đề tài này giúp chúng ta hiểu rõ hơn nghiệp vụ quản lý bán hàng qua mạng. Ứng dụng đề tài vào việc tối ưu hóa các chương trình quản lý sản phẩm trong các cửa hàng. Phạm vi đề tài Tập trung vào khách hàng giới trẻ gồm cả nam và nữ trong, các khách hàng thích các style về thể thao,phạm vi triển khai áp dụng cho toàn tỉnh thành phố trên khu vực Việt Nam CHƯƠNG 2.
Cơ sở dữ liệu NoSQL 2. Khái niệm NoSQL NoSQL là Non-Relational: tạm dịch là không có quan hệ. NoSQL là cơ sở dữ liệu không quan hệ, không ràng buộc giữa các Collection (tương đương bảng trong cơ sở dữ liệu quan hệ). Tức là giữa các Collection (Bảng) sẽ không có khóa chính, khóa ngoại như trong cơ sở dữ liệu quan hệ.
Việc này sẽ giảm thiểu độ phức tạp khi cơ sở dữ liệu chúng ta có nhiều bảng. NoSQL đặc biệt nhấn mạnh đến mô hình lưu trữ cặp key - value và hệ thống lưu trữ phân tán. Ưu nhược điểm của CSDL NoSql a. Ưu điểm của NoSQL: Là mã nguồn mở: không phải mất chi phí và có xu hướng tin cậy, an ninh và nhanh hơn khi triển khai so với các hệ quản trị cơ sở dữ liệu độc quyền.
7 Năm 2022 NGUYỄN VĂN CÔNG Khoa: CNTT Linh hoạt trong việc mở rộng và phát triển: giúp dễ dàng mở rộng máy chủ khi dữ liệu càng ngày càng lớn hoặc lượng truy cập và lượng dữ liệu quá lớn, thay vì thuê một máy chủ lớn hơn để thay thế cho máy chủ hiện tại thì ta chỉ cần thuê thêm một máy chủ khác. Về phía người lập trình thì giúp dễ dàng thêm Collection hoặc cặp dữ liệu. Dễ dàng trong việc thống kê, truy vấn nhanh. Áp dụng được công nghệ điện toán đám mây: dễ dàng mở rộng phạm vi được theo yêu cầu có sử dụng một dịch vụ như là Amazon EC2.
Giống như tất cả công nghệ đám mây, EC2 dựa vào ảo hóa. Liên kết yếu của ảo hóa là sự thực thi của I/O, với bộ nhớ và CPU các các kết nối mạnh. NoSQL lưu trữ dữ liệu thường được mở rộng phạm vi theo chiều ngang tận dụng được sự cung cấp mềm dẻo của đám mây. Giúp mở rộng dữ liệu dễ dàng hơn.
Nhược điểm của NoSQL: Hỗ trợ không đồng đều cho các doanh nghiệp. Các doanh nghiệp vừa được sự hỗ trợ tốt nhất từ nhà cung cấp RMBMS (vì đã được phát triển trước NoSQL một thời gian khá dài) còn các doanh nghiệp nhỏ thì thường sử dụng các mã nguồn mở thì không được sự hỗ trợ tốt nhất. Chưa thực sự phổ biến vì NoSQL vẫn chưa nhận được sự tin cậy với nhiều doanh nghiệp, một phần dữ liệu đã được xây dựng từ lâu, nên việc chuyển đổi cũng là vấn đề khó với nhiều doanh nghiệp và chưa được hỗ trợ tốt về chức năng cũng như sự ổn định như RMBMS. Còn mới lạ với một số lập trình viên.
Chưa được sử dụng để đào tạo rộng rãi. Chưa có nhiều công cụ hỗ trợ giao diện tương tác cũng như các phương thức tốt nhất dẫn đến còn hạn chế về mặt nghiệp vụ. Chia sẻ dữ liệu chưa theo một tiêu chuẩn chung. Mỗi CSDL NoSQL có các giao diện lập trình ứng dụng API riêng của mình.
Sự thiếu hụt các tiêu chuẩn có nghĩa là nó không có khả năng để chuyển một cách đơn giản từ một nhà cung cấp này sang một nhà cung cấp khác. So sánh NoSql với CSDL quan hệ Tiêu chí đánh giá RDBMS NoSQL 8 Năm 2022 NGUYỄN VĂN CÔNG Khoa: CNTT Đánh chỉ mục lượng lớn dữ liệu, phân trang hoặc Có nhiều điểm yếu kém Thực hiện khá tốt. phân phối luồng dữ liệu media Key/Value, Columnbased – Tabular, Document- Mô hình dữ liệu Table based, Graphbased data- stores. Không nhất thiết phần cứng phải cao, có thể mở Yêu cầu phần cứng cho dữ Yêu cầu phần cứng máy rộng máy chủ ở nhiều nơi liệu lớn chủ cao.
với tài nguyên phần cứng thấp. Thông qua chuỗi kết nối Thông qua API (tên máy chủ, tên cơ sở dữ Cách lấy dữ liệu từ client. Kém hơn SQL Relational Cực tốt Bỏ qua SQL Bỏ Hiệu xuất giữa các bảng qua các ràng buộc dữ liệu Hỗ trợ lượng lớn cho các Khả năng mở rộng Hạn chế về lượng node Phù hợp với công nghệ Không Có. điện toán đám mây Kém do thiết kế để đảm Tốt với mô hình xử lý lô và Hiệu suất đọc ghi bảo sự vào/ra liên tục của những tối ưu về đọcghi dữ dữ liệu liệu.
Không cần phải shutdown Phải shutdown cả hệ thống. Thay đổi số node trong hệ cả hệ thống. Việc thay đổi Việc thay đổi số node phức thống số node đơn giản, không tạp. ảnh hưởng đến hệ thống.
9 Năm 2022 NGUYỄN VĂN CÔNG Khoa: CNTT Hỗ trợ lập trình hướng đối Kém Tốt tượng Tính tiện dụng về mặt hỗ Tốt Còn chưa hoàn thiện trợ Bảng 2.1 So sánh RDBMS và NOSQL Các RDBMs hiện tại đã bộc lộ những yếu kém, chẳng hạn như việc đánh chỉ mục một lượng lớn dữ liệu, phân trang, hoặc phân phối luồng dữ liệu media (phim, ảnh, nhạc. Cơ sở dữ liệu quan hệ được thiết kế cho những mô hình dữ liệu nhỏ thường xuyên đọc viết trong khi các Social Network Services lại có một lượng dữ liệu cực lớn và cập nhật liên tục do số lượng người dùng quá nhiều ở một thời điểm. NoSQL chủ yếu lựa chọn mô hình lưu trữ tập dữ liệu theo cặp giá trị key/value để dễ dàng trong việc truy xuất. Trong NoSQL có khái niệm gọi là node được sử dụng trong quản lý dữ liệu phân tán.
Hệ thống dữ liệu phân tán không có sự kiểm tra có trùng dữ liệu hay không, nên dữ liệu phân tá sẽ chấp nhận việc lưu trữ trùng lặp dữ liệu. Khi có một yêu cầu truy vấn lấy dữ liêu có thể có nhiều máy cùng lúc gửi đến, nếu có một máy nào bị hỏng thì cũng không ảnh hưởng nhiều tới toàn bộ hệ thống. Thông thường người ta sẽ tách biệt database ra nhiều database để đảm bảo lượng truy cập xử lý lớn. Một database nhỏ đảm bảo được dữ liệu nhập/ xuất liên tục, nhưng dữ liệu đạt tới ngưỡng nào đó thì sẽ gộp vào một Database lớn hơn có thiết kế tối ưu.
Mô hình đó cho phép tăng cường hiệu suất nhập/ xuất. Thế hệ CSDL NoSQL - giảm thiểu tối đa các phép tính toán, tác vụ đọc ghi, đảm bảo được yêu cầu xử lý dữ liệu của các dịch vụ mạng xã hội. Hệ CSDL này có thể lưu trữ, xử lý từ lượng dữ liệu rất nhỏ đến hàng petabytes dữ liệu với khả năng chịu tải, chịu lỗi cao nhưng chỉ đòi hỏi về tài nguyên phần cứng thấp. NoSQL sẽ là lựa chọn tốt nhất cho các công ty nhỏ không đủ kinh phí cho việc đầu tư về bản quyền hoặc server mạnh, cấu hình cao.
10 Năm 2022 NGUYỄN VĂN CÔNG Khoa: CNTT 2. Cơ sở dữ liệu MongoDB 2. Giới thiệu về MongoDB MongoDB là một mã nguồn mở, dùng đê thiết kế cơ sở dữ liệu để dễ dàng phát triển và mở rộng, cung cấp hiệu suất và tính sẵn sàng cao. Cấu trúc của Mongodb bao gôm các cặp “thuộc tính” – “giá trị”, MongoDB document tương tự như đối tượng JSON.
Giá trị của thuộc tính bao gồm các thuộc tính giá trị cụ thể ( số, chữ, …), document, mảng, mảng các đối tượng.1 Cấu trúc của một Document trong MongoDB Các tính năng: - Hiệu suất cao: Hỗ trợ nhúng dữ liệu dạng mô hinh dữ liệu giúp giảm thiểu hoạt động của server, Truy vấn dữ liệu sử dụng chỉ mục giúp tối ưu tốc độ truy vấn. - Dễ dàng tăng tính mở rộng: chế sharding tự động (tự động phân vùng dữ liệu trên máy chủ, động bộ hóa dữ liệu tốt 2. Các khái niệm trong MongoDB CRUD Database là gì? Database là một Ô chứa dữ liệu ở mức vật lý (physical), mỗi database sẽ có nhiều collection và được thiết lập lưu trữ ở một nơi trong máy chủ máy tính. Một máy chủ MongoDB thường có thể tạo nhiều cơ sở dữ liệu.
Collection là gì? Collection trong MongoDB là nhóm các tài liệu (document), nó tương đương với một bảng trong cơ sở dữ liệu quan hệ nên mỗi collection sẽ thuộc về một database duy nhất.