Bối cảnh và vấn đề nghiên cứu

Trong bối cảnh thị trường thiết bị di động phát triển mạnh mẽ kể từ khi chiếc điện thoại đầu tiên Motorola Dyna-Tac ra đời năm 1973 (với kích thước 22,86 x 12,7 x 4,44 cm, trọng lượng 1,13 kg, thời lượng thoại 35 phút), nhu cầu của người dùng đã mở rộng từ liên lạc cơ bản sang các tiện ích giải trí và thẩm mỹ. Để đáp ứng nhu cầu thị trường, các doanh nghiệp và đại lý bán lẻ có xu hướng mở rộng mạng lưới chi nhánh và xây dựng các website kinh doanh trực tuyến.

Tuy nhiên, việc mở rộng nhiều chi nhánh đặt ra bài toán quản trị phức tạp: làm thế nào để người quản lý có thể theo dõi, kiểm tra tình hình kinh doanh tại các điểm bán mà không cần trực tiếp đến từng nơi, đồng thời đảm bảo việc đặt hàng và thanh toán trực tuyến diễn ra thông suốt. Xuất phát từ thực tiễn đó, đề tài "Mô hình phân tán dữ liệu - Ứng dụng siêu thị thiết bị di động trên web" được thực hiện nhằm nghiên cứu giải pháp phân tán dữ liệu và ứng dụng công nghệ truyền thông dịch vụ vào hệ thống thương mại điện tử.

Theo phiếu giao đề tài, các mục tiêu và nhiệm vụ nghiên cứu được quy định cụ thể:

  1. Trình bày các phương pháp phân mảnh dữ liệu, lược đồ toàn cục và lược đồ cục bộ.
  2. Xây dựng giải pháp tổ chức mô hình phân tán trên hệ quản trị cơ sở dữ liệu Microsoft SQL Server.
  3. Trình bày cấu trúc, tổ chức của Windows Communication Foundation (WCF) và ứng dụng vào quy trình xử lý đơn hàng (Order Processing).
  4. Xây dựng ứng dụng web siêu thị thiết bị di động hoàn chỉnh các chức năng bán hàng và quản trị.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Cơ sở dữ liệu phân tán, các thuật toán phân mảnh và nhân bản dữ liệu, công nghệ WCF, quy trình xử lý đơn hàng trực tuyến.
  • Phạm vi không gian: Mô hình dữ liệu phân tán áp dụng cho hệ thống bán lẻ thiết bị di động theo đơn vị hành chính (quận/huyện) và kết nối qua mạng Internet.
  • Phạm vi thời gian: Khóa luận được thực hiện trong thời gian 3 tháng, từ ngày 13/09/2010 đến ngày 20/12/2010 tại Khoa Khoa học và Công nghệ, Trường Đại học Hoa Sen.

Cơ sở lý thuyết và phương pháp

Khóa luận tổng hợp hệ thống lý thuyết về kiến trúc hệ thống, phương pháp thiết kế cơ sở dữ liệu phân tán và các công nghệ nền tảng của Microsoft.

1. Khung lý thuyết và mô hình kiến trúc

Hệ quản trị cơ sở dữ liệu phân tán được xem xét qua ba mô hình kiến trúc phổ biến:

Mô hình kiến trúc Đặc điểm cấu trúc Thành phần xử lý chính
Client/Server Phân chia chức năng thành Client Function và Server Function. Xử lý tập trung tại Server, Client nhận kết quả. • Client: User Interface, Application Program, Client DBMS, Communication Software.
• Server: Semantic Data Controller, Query Optimizer, Transaction Manager, Recovery Manager, Run-time Support Processor.
Hệ phân tán ngang hàng (Peer-to-Peer) Các nút có chức năng tương đương; yêu cầu định nghĩa lược đồ cục bộ (LIS), lược đồ khái niệm toàn cục (GCS), lược đồ khái niệm cục bộ (LCS) và lược đồ ngoại giới (EX). • User Processor: User Interface Handler, Semantic Data, Global Query Optimizer.
• Data Processor: Local Query Processor, Local Recovery Manager, Run-time Support Processor.
Hệ phân tán phức hợp (Multi-DBMS) Tích hợp các hệ thống không đồng nhất, không có hoặc có không đầy đủ một lược đồ khái niệm toàn cục. Các hệ thống thành phần tự trị kết nối thông qua giao tiếp trung gian.

2. Phương pháp thiết kế và kỹ thuật phân mảnh

Phương pháp thiết kế được tiếp cận theo hai hướng: thiết kế từ trên xuống (Top-down) cho các hệ thống xây dựng mới từ đầu và thiết kế từ dưới lên (Bottom-up) khi tích hợp các cơ sở dữ liệu đã tồn tại ở các site. Quá trình phân mảnh tuân thủ ba quy tắc: Tính đầy đủ (Completeness), Tính tái thiết được (Reconstruction) và Tính tách biệt (Disjointness).

  • Phân mảnh ngang:
    • Phân mảnh ngang nguyên thủy: Dựa trên thuật toán COM_MIN để tìm tập vị từ đầy đủ và cực tiểu, kết hợp thuật toán PHORIZONTAL nhằm loại bỏ các vị từ hội sơ cấp mâu thuẫn.
    • Phân mảnh ngang dẫn xuất: Phân chia quan hệ thành viên dựa trên phép chọn của quan hệ chủ thông qua đường nối kết nối bằng ($\theta$).
  • Phân mảnh dọc: Sử dụng ma trận ái lực thuộc tính ($AA$) và thuật toán năng lượng nối BEA (Bond Energy Algorithm) để sinh ra ma trận ái lực tụ ($CA$) tối đa hóa số đo ái lực chung $AM = \sum [bond(A_j, A_{j-1}) + bond(A_j, A_{j+1})]$. Điểm phân hoạch tối ưu được xác định qua thuật toán PARTITION dựa trên hàm chi phí: $$z = CTQ \times CBQ - COQ^2 \rightarrow \max$$

3. Công nghệ và giải pháp kỹ thuật

  • Liên kết dữ liệu trên SQL Server: Sử dụng cơ chế Linked Server thông qua thủ tục hệ thống sp_addlinkedserver (khai báo các tham số @server, @srvproduct, @provider, @datasrc, @location, @provstr, @catalog) và lệnh hủy sp_dropserver.
  • Nhân bản dữ liệu (Replication):
    • Thành phần: Publisher, Distributor, Subscribers (Local, Global, Anonymous), Publication, Articles, Subscriptions (Push Subscription, Pull Subscription).
    • Mô hình tổ chức: Central Publisher, Republisher, Central Subscriber.
    • Kỹ thuật triển khai: Snapshot Replication áp dụng cho các bảng dữ liệu tĩnh, ít biến động.
  • Windows Communication Foundation (WCF): Kiến trúc hướng dịch vụ (SOA) hỗ trợ kết nối, truyền nhận thông điệp giữa các tầng ứng dụng web và cơ sở dữ liệu phân tán.

Thiết kế và triển khai

Hệ thống được phân tích và thiết kế nhằm phục vụ bài toán thương mại điện tử phân tán cho chuỗi cửa hàng bán lẻ thiết bị di động.

1. Quy trình xử lý đơn hàng (Order Processing)

Quy trình xử lý đơn hàng được phân tách thành hai trường hợp:

  • Đơn hàng một sản phẩm: Kiểm tra số lượng tồn kho tại chi nhánh cục bộ; nếu đáp ứng, hệ thống ghi nhận và tiến hành thanh toán.
  • Đơn hàng nhiều sản phẩm: Điều phối truy vấn qua WCF tới các site chi nhánh liên quan, kiểm tra trạng thái tồn kho của từng mặt hàng trước khi lập phiếu xuất và cập nhật cơ sở dữ liệu phân tán.

2. Chiến lược phân mảnh và nhân bản cơ sở dữ liệu

  • Phân mảnh ngang theo Quận/Huyện: Áp dụng cho các bảng dữ liệu giao dịch, đơn hàng và kho hàng nhằm lưu trữ dữ liệu phát sinh tại chính chi nhánh phụ trách khu vực đó, giảm tải đường truyền mạng diện rộng.
  • Nhân bản dữ liệu (Replication): Áp dụng mô hình Snapshot Replication cho các bảng danh mục sản phẩm, danh mục chức vụ và chương trình khuyến mãi từ máy chủ trung tâm (Publisher) về các máy chủ chi nhánh (Subscribers) để tăng tốc độ truy vấn cục bộ.

3. Thiết kế Use Case hệ thống

Tác nhân (Actor) Nhóm chức năng Danh sách Use Case chi tiết
Quản trị viên (Admin) Quản lý hệ thống & Danh mục • Tạo tài khoản, Đăng nhập
• Thêm danh mục, Chỉnh sửa danh mục
• Thêm sản phẩm, Chỉnh sửa sản phẩm
• Thêm/Chỉnh sửa/Xóa chức vụ
Quản lý Khuyến mãi • Tạo chương trình khuyến mãi
• Chỉnh sửa/Xóa chương trình khuyến mãi
• Thêm/Xóa sản phẩm trong chương trình khuyến mãi
Quản lý Đơn hàng • Hủy đơn hàng
• Chỉnh sửa đơn hàng chưa thanh toán
• Xử lý đơn hàng chưa thanh toán
• Xem thông tin đơn hàng đã thanh toán
Khách hàng / Thành viên Tương tác & Giao dịch • Đăng nhập, Cập nhật thông tin cá nhân
• Xem chi tiết sản phẩm
• Chọn mua sản phẩm, Quản lý giỏ hàng
• Thanh toán đơn hàng

Nội dung chính theo từng chương

Phần I: Cơ sở lý thuyết

Nội dung phần này trình bày nền tảng lý thuyết của cơ sở dữ liệu phân tán. Tác giả phân tích chi tiết ba mô hình kiến trúc (Client/Server, Peer-to-Peer, Phức hợp), chỉ rõ ưu thế của Client/Server trong việc giảm tải lưu lượng đường truyền và tăng tốc độ xử lý. Phần này đi sâu vào toán học của việc phân mảnh ngang và phân mảnh dọc:

  • Thuật toán COM_MIN và PHORIZONTAL trên tập vị từ đơn giản và vị từ hội sơ cấp.
  • Thuật toán năng lượng nối BEA và giải thuật PARTITION dựa trên ma trận ái lực $AA$ và ma trận tụ $CA$.
  • Cơ chế hỗ trợ phân tán trên SQL Server gồm Linked Server và 4 kiểu nhân bản dữ liệu (trọng tâm là Snapshot Replication với các mô hình Central Publisher, Republisher, Central Subscriber).
  • Giới thiệu kiến trúc và các tính năng của công nghệ WCF.

Phần II: Phân tích

Phần này tập trung phân tích bài toán thực tế của siêu thị thiết bị di động. Các nội dung chính bao gồm:

  • Phân tích chi tiết quy trình Order Processing cho đơn hàng đơn lẻ và đơn hàng nhiều sản phẩm.
  • Xác định các đối tượng dữ liệu cần phân mảnh ngang theo địa giới quận/huyện và các đối tượng cần nhân bản.
  • Xây dựng mô hình Use Case tổng thể và đặc tả chi tiết từng Use Case cho hai nhóm người dùng (Quản trị viên và Khách hàng/Thành viên).
  • Thiết kế mô hình cơ sở dữ liệu quan hệ, mô tả chi tiết các bảng dữ liệu, khóa chính, khóa ngoại và mối liên kết logic.

Phần III: Cài đặt

Phần này ghi nhận việc triển khai các giải pháp kỹ thuật đã phân tích:

  • Cấu hình và thiết lập môi trường phân tán trên Microsoft SQL Server: tạo kết nối Linked Server bằng công cụ quản trị và kịch bản lệnh sp_addlinkedserver.
  • Triển khai nhân bản dữ liệu (Replication) giữa Publisher và các Subscribers.
  • Lập trình dịch vụ WCF kết nối các tầng ứng dụng và hoàn thiện giao diện ứng dụng web cho siêu thị di động.

Phần IV: Kết luận (Phần III: Kết luận trong mục lục gốc)

Đánh giá tổng thể mức độ hoàn thành của đề tài so với yêu cầu ban đầu, chỉ ra các hạn chế kỹ thuật và định hướng các nội dung cần tiếp tục hoàn thiện.


Kết quả và đóng góp

1. Kết quả đạt được kèm số liệu thực tế

  • Mức độ hoàn thành chức năng: Nhóm tác giả đã hoàn thành khoảng 80% các chức năng chính cần có của một website bán hàng trực tuyến và hệ thống quản lý chi nhánh.
  • Tổ chức phân tán dữ liệu: Thiết lập thành công mô hình phân mảnh ngang dữ liệu theo quận/huyện kết hợp nhân bản dữ liệu Snapshot Replication trên hệ quản trị SQL Server.
  • Tích hợp dịch vụ: Xây dựng các module kết nối WCF, xử lý quy trình Order Processing cho phép đồng bộ thông tin đơn hàng giữa máy khách và các trạm máy chủ.

2. Giải pháp và đóng góp của đề tài

  • Đề xuất giải pháp quản trị tập trung kết hợp lưu trữ phân tán, hỗ trợ các nhà quản lý giám sát tình hình kinh doanh của nhiều chi nhánh từ xa mà không cần trực tiếp xuống hiện trường.
  • Hệ thống hóa phương pháp phân mảnh lý thuyết (ngang và dọc) và chuyển đổi thành quy trình cấu hình cụ thể trên môi trường Microsoft SQL Server kết hợp WCF.

Hạn chế và hướng nghiên cứu tiếp

1. Hạn chế

  • Hệ thống mới hoàn thành khoảng 80% khối lượng chức năng bán hàng và quản trị trực tuyến.
  • Cơ chế nhân bản dữ liệu chủ yếu tập trung vào mô hình Snapshot Replication, chưa triển khai các cơ chế đồng bộ đa chiều thời gian thực phức tạp hơn.
  • Đồ án được hoàn thành trong thời gian giới hạn 3 tháng nên chưa thực hiện đánh giá hiệu năng hệ thống trên diện rộng với tải giao dịch lớn.

2. Hướng phát triển

  • Tiếp tục hoàn thiện 20% các chức năng còn thiếu của website thương mại điện tử.
  • Mở rộng nghiên cứu và thử nghiệm các mô hình nhân bản nâng cao (Transactional Replication, Merge Replication) trên SQL Server để tăng tính nhất quán tức thời.
  • Tối ưu hóa các dịch vụ WCF và nâng cao cơ chế bảo mật cho các giao dịch thanh toán trực tuyến.

Giá trị tham khảo

Khóa luận có giá trị thực tiễn đối với sinh viên ngành Công nghệ thông tin, Hệ thống thông tin và Kỹ thuật phần mềm:

  • Phần cơ sở lý thuyết phân mảnh: Là tài liệu tham khảo chi tiết về các thuật toán phân hoạch dữ liệu (COM_MIN, PHORIZONTAL, BEA, PARTITION) kèm các bước tính toán ma trận ái lực cụ thể.
  • Phần cấu hình hệ thống phân tán: Cung cấp tài liệu hướng dẫn từng bước về việc thiết lập Linked Server bằng T-SQL (sp_addlinkedserver) và cấu hình hệ thống Replication (Publisher, Distributor, Subscriber) trên Microsoft SQL Server.

Câu hỏi thường gặp

1. Khóa luận sử dụng những mô hình kiến trúc cơ sở dữ liệu phân tán nào trong phần lý thuyết?
Khóa luận phân tích ba mô hình kiến trúc gồm: Mô hình Client/Server, Mô hình hệ phân tán ngang hàng (Peer-to-Peer) và Mô hình hệ phân tán phức hợp (Multi-DBMS).

2. Thuật toán nào được trình bày để tối ưu hóa việc phân mảnh dọc cơ sở dữ liệu?
Đề tài sử dụng thuật toán năng lượng nối BEA (Bond Energy Algorithm) để xây dựng ma trận ái lực tụ ($CA$) từ ma trận ái lực thuộc tính ($AA$), sau đó dùng thuật toán PARTITION để xác định điểm phân chia tối ưu dựa trên hàm chi phí $z = CTQ \times CBQ - COQ^2$.

3. Cơ chế Linked Server trên SQL Server được thiết lập bằng câu lệnh nào?
Linked Server được tạo bằng thủ tục lưu trữ sp_addlinkedserver với các tham số chính: @server, @srvproduct, @provider, @datasrc, @location, @provstr, @catalog; và được xóa bằng thủ tục sp_dropserver.

4. Dữ liệu trong hệ thống siêu thị thiết bị di động được phân mảnh và nhân bản theo tiêu chí nào?
Dữ liệu đơn hàng và kho hàng được phân mảnh ngang theo đơn vị hành chính Quận/Huyện; các bảng dữ liệu danh mục tĩnh ít thay đổi được nhân bản bằng phương pháp Snapshot Replication.

5. Mức độ hoàn thành thực tế của ứng dụng website đạt bao nhiêu phần trăm?
Theo công bố của nhóm tác giả trong phần trích yếu, đồ án đã hoàn thành được khoảng 80% các chức năng chính của một website bán hàng trực tuyến trong khoảng thời gian thực hiện 3 tháng.


Kết luận

Khóa luận tốt nghiệp "Mô hình phân tán dữ liệu - Ứng dụng siêu thị thiết bị di động trên web" của sinh viên Trần Thị Cương Em và Võ Thị Minh Hòa đã giải quyết bài toán quản lý chuỗi bán lẻ thiết bị di động bằng mô hình cơ sở dữ liệu phân tán kết hợp công nghệ WCF. Đề tài đã hệ thống hóa đầy đủ cơ sở lý thuyết về phân mảnh ngang, phân mảnh dọc, nhân bản dữ liệu và hiện thực hóa thành công các kết nối Linked Server, dịch vụ xử lý đơn hàng trên Microsoft SQL Server. Công trình đạt 80% khối lượng chức năng dự kiến và cung cấp tài liệu tham khảo có giá trị về thiết kế hệ thống dữ liệu phân tán trong thực tế.