Bối cảnh và vấn đề nghiên cứu
Trong hoạt động quản trị kho vận và lưu trữ hàng hóa, việc quản lý thủ công thông qua sổ sách giấy tờ đối mặt với nhiều khó khăn, đặc biệt là trong khâu đối chiếu dữ liệu, kiểm kê tồn kho và tổng hợp số lượng vật tư. Các thao tác ghi chép thủ công dễ phát sinh sai sót, tiêu tốn thời gian và làm giảm hiệu quả hoạt động chung của doanh nghiệp. Việc số hóa toàn bộ quy trình quản lý vật tư và dữ liệu kho là yêu cầu thực tiễn cần thiết.
Khi doanh nghiệp mở rộng quy mô kinh doanh với mạng lưới nhiều chi nhánh tại các tỉnh thành, mô hình cơ sở dữ liệu tập trung bộc lộ nhiều điểm hạn chế:
- Tắc nghẽn và độ trễ truy vấn: Toàn bộ dữ liệu vật tư chỉ đặt tại kho chính (máy chủ trung tâm). Mọi yêu cầu truy xuất hoặc cập nhật từ các chi nhánh đều phải chuyển về máy chủ qua mạng viễn thông và chờ phản hồi, làm gia tăng thời gian chờ đợi.
- Quá tải xử lý: Khi mỗi chi nhánh quản lý hàng nghìn danh mục vật tư, việc đồng loạt gửi yêu cầu về máy chủ trung tâm tạo ra áp lực xử lý rất lớn, có thể dẫn đến hiện tượng nghẽn mạng tương tự một cuộc tấn công từ chối dịch vụ.
- Rủi ro mất mát dữ liệu và tính linh hoạt thấp: Mô hình tập trung tiềm ẩn nguy cơ gián đoạn toàn bộ hệ thống khi máy chủ trung tâm gặp sự cố. Bên cạnh đó, các chi nhánh không chủ động quản lý được danh mục vật tư riêng biệt tại địa bàn của mình.
Xuất phát từ thực tiễn trên, nhóm tác giả thuộc Khoa Công nghệ Thông tin, Học viện Công nghệ Bưu chính Viễn thông đã thực hiện đề tài "Quản lý vật tư" trong khuôn khổ môn học Cơ sở dữ liệu phân tán (tháng 5 năm 2022).
Nhiệm vụ và mục tiêu nghiên cứu cụ thể của đề tài bao gồm:
- Phân tích bài toán quản lý kho vật tư đa chi nhánh và xây dựng kịch bản phân tán dữ liệu phù hợp.
- Thiết kế mô hình quan hệ thực thể (ERD), xác định cấu trúc các bảng dữ liệu và bảng ma trận tần suất truy nhập tại các vị trí xử lý.
- Xây dựng lược đồ phân mảnh ngang nguyên thủy và phân mảnh ngang dẫn xuất cho 8 chi nhánh trên toàn quốc.
- Triển khai cấu hình hệ thống phân tán trên hệ quản trị cơ sở dữ liệu Microsoft SQL Server, bao gồm thiết lập máy phân phối (Distributor), ấn bản hợp nhất (Merge Publication), đăng ký nhận bản sao (Subscriptions) và tạo máy chủ liên kết (Linked Server).
- Xây dựng các thủ tục lưu trữ (Stored Procedure) và ràng buộc toàn vẹn tự động thông qua Trigger.
- Xây dựng giao diện ứng dụng Web để kiểm thử các chức năng quản trị và thao tác dữ liệu phân tán.
Phạm vi không gian của đề tài bao gồm 1 máy chủ trung tâm đặt tại Hà Nội và 8 máy trạm đại diện cho 8 chi nhánh: Hà Nội, TP. Hồ Chí Minh, Bắc Ninh, Hải Phòng, Bắc Giang, Bình Dương, Đà Nẵng và Cần Thơ.
Cơ sở lý thuyết và phương pháp
Đề tài áp dụng các lý thuyết nền tảng và phương pháp thiết kế hệ thống cơ sở dữ liệu phân tán:
- Khung lý thuyết phân mảnh dữ liệu:
- Phân mảnh ngang nguyên thủy (Primary Horizontal Fragmentation): Áp dụng vị từ điều kiện lọc trên thuộc tính mã chi nhánh (
id_chi_nhanh) của bảng chi_nhanh để chia quan hệ toàn cục thành 8 mảnh dữ liệu độc lập.
- Phân mảnh ngang dẫn xuất (Derived Horizontal Fragmentation): Dẫn xuất tiêu chí phân mảnh từ bảng
chi_nhanh sang các quan hệ phụ thuộc như kho, nhan_vien, dat_hang, phieu_nhap, phieu_xuat thông qua các khóa ngoại liên kết (id_chi_nhanh, id_kho).
- Mô hình nhân bản và đồng bộ dữ liệu (Replication Architecture): Sử dụng mô hình Merge Replication của Microsoft SQL Server. Mô hình này cho phép máy chủ và các máy trạm chi nhánh có thể cập nhật dữ liệu tự chủ trên các phân mảnh cục bộ, sau đó tiến trình Merge Agent và Snapshot Agent sẽ đồng bộ các thay đổi định kỳ hoặc tự động.
- Phương pháp phân tích và thiết kế hệ thống:
- Khảo sát các luồng nghiệp vụ quản lý kho (đặt hàng, nhập kho, xuất kho, quản lý nhân sự, theo dõi nhà cung cấp).
- Lập ma trận tần suất truy nhập (Access Frequency Table) dựa trên các thao tác: Tạo mới (Write - W), Sửa (Edit - E), Xóa (Delete - D), Đọc (Read - R) với hai mức độ tần suất cao (High - H) và thấp (Low - L).
- Mô hình hóa thực thể quan hệ và thiết kế vật lý cơ sở dữ liệu trên công cụ Visual Paradigm Online.
- Cài đặt thực nghiệm trên hệ điều hành Windows, hệ quản trị cơ sở dữ liệu Microsoft SQL Server (phiên bản 15.0 - SQL Server 2019) và công cụ SQL Server Management Studio (SSMS).
Thiết kế và triển khai hệ thống
1. Phân tích chức năng và phân quyền người dùng
Hệ thống phân định rõ quyền hạn và chức năng giữa máy chủ trung tâm và các máy trạm chi nhánh:
| Vị trí triển khai |
Chức năng nghiệp vụ chính |
Đối tượng sử dụng & Phân quyền |
| Máy chủ trung tâm (Hà Nội) |
- Quản lý dữ liệu toàn hệ thống. - Quản lý thông tin chung (danh mục Nhà cung cấp, danh mục Vật tư toàn cục). - Thêm, sửa, xóa thông tin các chi nhánh. - Xem và thống kê dữ liệu nhập/xuất của tất cả chi nhánh. - Đồng bộ hóa và lưu trữ bản sao lưu (backup) của toàn bộ các trạm. |
Quản trị viên hệ thống (Admin): Toàn quyền xem, thêm, sửa, xóa trên tất cả các bảng dữ liệu toàn cục. |
8 Máy trạm chi nhánh (TP.HCM, Bắc Ninh, Hà Nội, Hải Phòng, Bắc Giang, Bình Dương, Đà Nẵng, Cần Thơ) |
- Quản lý thông tin kho và vật tư tại chi nhánh. - Lập và quản lý đơn đặt hàng, phiếu nhập, phiếu xuất phát sinh tại chỗ. - Quản lý hồ sơ nhân viên trực thuộc chi nhánh. - Dữ liệu cập nhật tại máy trạm sẽ tự động chuyển về máy chủ trung tâm sau khoảng thời gian định kỳ. |
Nhân viên kho tại chi nhánh: Quyền đọc, thêm, sửa dữ liệu phát sinh tại chi nhánh mình quản lý; không được phép thêm mới danh mục vật tư dùng chung hoặc can thiệp dữ liệu chi nhánh khác. |
2. Thiết kế vật lý cơ sở dữ liệu toàn cục
Cơ sở dữ liệu toàn cục QLVT bao gồm 11 bảng dữ liệu với các ràng buộc khóa chính (PK), khóa ngoại (FK) và ràng buộc kiểm tra giá trị (CHECK):
chi_nhanh: Lưu thông tin chi nhánh gồm id_chi_nhanh (char(10), PK), ten_chi_nhanh (nvarchar(100), Not Null), dia_chi (nvarchar(100), Not Null), so_dt (char(10)).
nhan_vien: Lưu thông tin nhân sự gồm id_nhan_vien (int, PK), ho (nvarchar(40)), ten (nvarchar(40)), gioi_tinh (char(1)), dia_chi (nvarchar(100)), ngay_sinh (date), luong (int, CHECK luong > 0), id_chi_nhanh (char(10), FK).
kho: Lưu thông tin kho bãi gồm id_kho (char(10), PK), ten_kho (nvarchar(40)), dia_chi (nvarchar(100)), id_chi_nhanh (char(10), FK).
vat_tu: Lưu danh mục vật tư gồm id_vat_tu (char(10), PK), ten_vat_tu (nvarchar(30), Unique), don_vi_tinh (char(15)), so_luong_ton (int), gia (int, CHECK gia > 0).
nha_cung_cap: Danh mục dùng chung gồm id_ncc (char(10), PK), ten_ncc (nvarchar(100)).
dat_hang: Quản lý đơn hàng gồm id_don_dat_hang (char(10), PK), ngay (date), id_ncc (char(10), FK), id_nhan_vien (int, FK), id_kho (char(10), FK).
chi_tiet_don_dat_hang: Gồm id_don_dat_hang (char(10), FK), id_vat_tu (char(10), FK), so_luong (int, CHECK so_luong > 0), don_gia (int).
phieu_nhap: Quản lý phiếu nhập gồm id_phieu_nhap (char(10), PK), ngay (date), id_don_dat_hang (char(10), FK), id_nhan_vien (int, FK), id_kho (char(10), FK).
chi_tiet_phieu_nhap: Gồm id_phieu_nhap (char(10), FK), id_vat_tu (char(10), FK), so_luong (int, CHECK so_luong > 0), don_gia (int).
phieu_xuat: Quản lý phiếu xuất gồm id_phieu_xuat (char(10), PK), ngay (date), ten_khach_hang (nvarchar(100)), id_nhan_vien (int, FK), id_kho (char(10), FK).
chi_tiet_phieu_xuat: Gồm id_phieu_xuat (char(10), FK), id_vat_tu (char(10), FK), so_luong (int, CHECK so_luong > 0), don_gia (int).
3. Thiết kế lược đồ phân mảnh ngang dẫn xuất
Hệ thống phân rã CSDL toàn cục thành 8 CSDL phân tán tương ứng 8 chi nhánh:
| Tên CSDL phân mảnh |
Vị trí chi nhánh |
Điều kiện phân mảnh nguyên thủy (chi_nhanh) |
Điều kiện phân mảnh dẫn xuất (kho, nhan_vien, phieu_nhap, phieu_xuat, dat_hang) |
QLVT_CN01 |
Hà Nội |
id_chi_nhanh = 'CN01' |
id_chi_nhanh = 'CN01' / id_kho = 'KHO01' |
QLVT_CN02 |
TP. Hồ Chí Minh |
id_chi_nhanh = 'CN02' |
id_chi_nhanh = 'CN02' / id_kho = 'KHO02' |
QLVT_CN03 |
Bắc Ninh |
id_chi_nhanh = 'CN03' |
id_chi_nhanh = 'CN03' / id_kho = 'KHO03' |
QLVT_CN04 |
Hải Phòng |
id_chi_nhanh = 'CN04' |
id_chi_nhanh = 'CN04' / id_kho = 'KHO04' |
QLVT_CN05 |
Bắc Giang |
id_chi_nhanh = 'CN05' |
id_chi_nhanh = 'CN05' / id_kho = 'KHO05' |
QLVT_CN06 |
Bình Dương |
id_chi_nhanh = 'CN06' |
id_chi_nhanh = 'CN06' / id_kho = 'KHO06' |
QLVT_CN07 |
Đà Nẵng |
id_chi_nhanh = 'CN07' |
id_chi_nhanh = 'CN07' / id_kho = 'KHO07' |
QLVT_CN08 |
Cần Thơ |
id_chi_nhanh = 'CN08' |
id_chi_nhanh = 'CN08' / id_kho = 'KHO08' |
4. Cấu hình phân tán trên SQL Server Management Studio
Hệ thống được cấu hình chi tiết qua 4 giai đoạn kỹ thuật:
- Cấu hình Distributor: Khởi tạo Distribution Database tại máy chủ trung tâm (
DUY), cấu hình thư mục lưu ảnh chụp dữ liệu (Snapshot Folder), kích hoạt tự động chạy dịch vụ SQL Server Agent.
- Khởi tạo Merge Publication: Tạo Publication
QLVT trên cơ sở dữ liệu QLVT, chỉ định các bảng tham gia phân bản, bổ sung thuộc tính nhận diện dòng ROWGUIDCOL và thiết lập các bộ lọc hàng dữ liệu (Filter Table Rows) theo từng mã chi nhánh (WHERE id_chi_nhanh = 'CN01').
- Cấu hình Subscriptions: Tạo các đăng ký nhận bản sao từ máy chủ về các máy trạm (ví dụ
DUY\MSSQLSERVER1), thiết lập bảo mật Merge Agent Security (chạy dưới tài khoản dịch vụ SQL Server Agent), đặt quyền ưu tiên giải quyết tranh chấp (Priority Conflict Resolution: 75.00) và lịch trình đồng bộ dữ liệu.
- Thiết lập Linked Server: Cấu hình liên kết dữ liệu giữa máy chủ và các máy trạm (như
LE-QUYEN\CSDLPT05, BACHHH\CSDLPT05) cho phép thực thi câu truy vấn phân tán trực tiếp trên nhiều node.
5. Cài đặt Trigger kiểm soát nghiệp vụ
- Trigger kiểm tra tồn kho khi xuất hàng (
chi_tiet_phieu_xuat):
CREATE OR ALTER TRIGGER [dbo].[chi_tiet_phieu_xuat]
ON [dbo].[chi_tiet_phieu_xuat]
AFTER INSERT, UPDATE AS
BEGIN
DECLARE @id VARCHAR(20) = (SELECT id_vat_tu FROM inserted)
DECLARE @sl_xuat INT = (SELECT so_luong FROM inserted)
DECLARE @sl_ton INT = (SELECT so_luong_ton FROM vat_tu WHERE id_vat_tu = @id)
IF (@sl_xuat > @sl_ton)
BEGIN
PRINT('Hang trong kho khong du')
ROLLBACK TRAN
END
ELSE
UPDATE vat_tu
SET so_luong_ton = so_luong_ton - @sl_xuat
WHERE id_vat_tu = @id
END
- Trigger ngăn chặn thêm vật tư từ trạm chi nhánh (
them_vat_tu):
CREATE TRIGGER [them_vat_tu]
ON [vat_tu]
INSTEAD OF INSERT AS
BEGIN
SELECT N'Không thể thêm vật tư ở các chi nhánh'
END
Nội dung chính theo từng chương
I. Đặt vấn đề
Chương I trình bày tính cấp thiết của việc chuyển đổi phương thức quản lý vật tư từ sổ sách truyền thống sang hệ thống phần mềm số hóa. Tác giả chỉ ra các nhược điểm cốt lõi của mô hình CSDL tập trung khi áp dụng vào doanh nghiệp có mạng lưới phân tán đa tỉnh thành: nghẽn cổ chai tại máy chủ trung tâm, thời gian hồi đáp chậm và rủi ro mất an toàn dữ liệu. Từ đó, chương đề xuất mô hình CSDL phân tán với kịch bản 1 vùng quản lý (trụ sở chính Hà Nội) và 8 trạm xử lý dữ liệu chi nhánh, phân định rõ phạm vi dữ liệu dùng chung (nhà cung cấp) và dữ liệu cục bộ riêng biệt.
II. Phân tích thiết kế
Chương II tập trung vào mô hình hóa hệ thống. Nhóm tác giả xây dựng 4 nhóm chức năng nghiệp vụ, phân quyền chi tiết cho quản trị viên và nhân viên kho, đồng thời lập bảng tần suất truy nhập dữ liệu tại các vị trí. Phần thiết kế hệ thống mạng định vị máy chủ trung tâm tại Hà Nội và 8 máy trạm chi nhánh. Về thiết kế CSDL, chương cung cấp mô hình thực thể liên kết, chi tiết cấu trúc kiểu dữ liệu của 11 bảng và thiết kế lược đồ phân mảnh ngang dẫn xuất 8 phân mảnh CSDL từ QLVT_CN01 đến QLVT_CN08.
III. Tạo Publication Database, Link Server và Viết Trigger
Chương III trình bày toàn bộ quy trình hiện thực hóa giải pháp phân tán trên môi trường Microsoft SQL Server. Nội dung bao gồm các bước cấu hình Distribution Wizard, Merge Publication Wizard, tạo bộ lọc Filter Rows, cấu hình bảo mật cho Snapshot Agent và Merge Agent, tạo Push/Pull Subscriptions và thiết lập Linked Server giữa các máy trạm. Chương cũng trình bày mã nguồn Stored Procedure và Trigger kiểm soát logic xuất nhập kho và bảo vệ tính nhất quán dữ liệu phân tán.
IV. Ứng dụng Web
Chương IV trình bày kết quả xây dựng ứng dụng Web quản lý vật tư kết nối với CSDL phân tán. Các giao diện hoàn thiện bao gồm: màn hình đăng nhập hệ thống, màn hình trực quan hóa danh sách 8 chi nhánh kèm số điện thoại liên hệ và danh mục vật tư trong kho, màn hình quản lý phiếu nhập, phiếu xuất và nhân viên từng chi nhánh, cùng màn hình tra cứu chi tiết từng phiếu nhập.
Kết quả và đóng góp
1. Kết quả chính đạt được
- Hoàn thiện bản thiết kế CSDL toàn cục với 11 bảng thực thể, thiết lập đầy đủ các quan hệ 1 - nhiều, 1 - 1 và các ràng buộc dữ liệu toàn vẹn (
NOT NULL, PK, FK, CHECK).
- Triển khai thành công mô hình CSDL phân tán với 1 máy chủ trung tâm tại Hà Nội và 8 máy trạm phân tán theo địa bàn thực tế (Hà Nội, TP.HCM, Bắc Ninh, Hải Phòng, Bắc Giang, Bình Dương, Đà Nẵng, Cần Thơ).
- Cấu hình hoàn chỉnh dịch vụ Merge Replication trên Microsoft SQL Server 15.0: khởi tạo thành công ấn bản
QLVT, phân bổ 8 mảnh dữ liệu QLVT_CN01 - QLVT_CN08 với các bộ lọc phân mảnh chính xác theo id_chi_nhanh.
- Thiết lập thành công hệ thống Linked Server cho phép liên kết và truy vấn dữ liệu chéo giữa các máy trạm độc lập (
LE-QUYEN\CSDLPT05, BACHHH\CSDLPT05, DUY\MSSQLSERVER1).
- Cài đặt và thực thi chính xác các Trigger ràng buộc nghiệp vụ: tự động kiểm tra số lượng tồn kho và cập nhật trừ lùi tồn kho khi xuất hàng, ngăn chặn hành vi thêm mới vật tư sai quyền từ các chi nhánh.
- Xây dựng giao diện ứng dụng Web trực quan hỗ trợ nhân viên tra cứu danh mục, quản lý đơn xuất nhập và thông tin nhân sự.
2. Giải pháp và đóng góp của đề tài
- Đề xuất giải pháp kiến trúc phân tán kết hợp: dữ liệu mang tính định danh và danh mục chung (nhà cung cấp, tạo mới vật tư) được quản lý tập trung tại máy chủ, trong khi dữ liệu giao dịch phát sinh hàng ngày (phiếu nhập, phiếu xuất, thông tin nhân viên, tồn kho chi nhánh) được phân mảnh về các trạm cục bộ.
- Giúp giảm tải áp lực tính toán và xử lý của máy chủ trung tâm, giảm chi phí băng thông đường truyền mạng, đồng thời gia tăng tốc độ phản hồi tác vụ cho nhân viên tại các kho chi nhánh.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế:
- Hệ thống được triển khai và thử nghiệm chủ yếu trên môi trường mạng nội bộ giữa các máy trạm của nhóm tác giả; chưa tiến hành đánh giá hiệu năng chịu tải (stress test) trên môi trường mạng diện rộng (WAN) với lưu lượng hàng triệu bản ghi giao dịch.
- Kịch bản xử lý tranh chấp dữ liệu (Conflict Resolution) trong Merge Replication mới dừng lại ở việc áp dụng mức độ ưu tiên mặc định (Priority 75.00), chưa xây dựng các hàm giải quyết xung đột nghiệp vụ tùy biến phức tạp khi nhiều trạm cùng cập nhật đồng thời trong điều kiện mất kết nối kéo dài.
- Hướng nghiên cứu tiếp:
- Nghiên cứu tối ưu hóa câu truy vấn phân tán (Distributed Query Optimization) trên quy mô dữ liệu lớn.
- Tích hợp các giải pháp đảm bảo tính sẵn sàng cao (High Availability) như Always On Availability Groups kết hợp phân tán dữ liệu.
- Nâng cấp và hoàn thiện các module quản trị chuyên sâu trên ứng dụng Web (báo cáo phân tích doanh thu, thống kê tồn kho đa chiều).
Giá trị tham khảo
Báo cáo bài tập lớn này có giá trị tham khảo thiết thực cho:
- Sinh viên ngành Công nghệ Thông tin, Hệ thống Thông tin, Kỹ thuật Phần mềm: Cung cấp tài liệu tham khảo hoàn chỉnh về quy trình thực hiện một đồ án môn học Cơ sở dữ liệu phân tán, từ phân tích thiết kế, lập lược đồ phân mảnh ngang dẫn xuất cho đến cấu hình thực tế.
- Kỹ sư và lập trình viên cơ sở dữ liệu: Tham khảo quy trình từng bước (step-by-step) cấu hình Merge Replication, Distributor, Subscriptions, Snapshot Agent và Linked Server trong hệ quản trị Microsoft SQL Server Management Studio.
- Nhà phát triển ứng dụng quản lý kho vận: Tham khảo mô hình phân bổ dữ liệu và kỹ thuật viết Trigger kiểm soát xuất nhập tồn cho các hệ thống bán lẻ hoặc chuỗi phân phối đa chi nhánh.
Câu hỏi thường gặp
1. Đề tài sử dụng kỹ thuật phân mảnh dữ liệu nào và tiêu chí phân mảnh là gì?
Hệ thống sử dụng kỹ thuật phân mảnh ngang nguyên thủy trên bảng chi_nhanh với tiêu chí lọc là mã chi nhánh (id_chi_nhanh). Dựa trên các mảnh nguyên thủy này, hệ thống thực hiện phân mảnh ngang dẫn xuất cho các bảng liên quan gồm kho, nhan_vien, dat_hang, phieu_nhap và phieu_xuat thông qua khóa ngoại id_chi_nhanh và id_kho.
2. Dữ liệu nào được quản lý tập trung tại máy chủ và dữ liệu nào được phân tán về các máy trạm?
Dữ liệu danh mục nha_cung_cap và quyền khởi tạo danh mục vat_tu mới được quản lý tập trung tại máy chủ trung tâm (Hà Nội). Các dữ liệu phát sinh cục bộ gồm kho bãi, nhân viên, phiếu nhập, phiếu xuất, chi tiết nhập/xuất và số lượng tồn kho theo từng chi nhánh được lưu trữ tại các máy trạm chi nhánh và đồng bộ định kỳ về máy chủ.
3. Trigger chi_tiet_phieu_xuat trong hệ thống xử lý nghiệp vụ gì?
Trigger này kích hoạt sau sự kiện cập nhật/thêm mới trên bảng chi_tiet_phieu_xuat. Nó so sánh số lượng xuất yêu cầu (@sl_xuat) với số lượng tồn hiện có trong bảng vat_tu (@sl_ton). Nếu số lượng xuất vượt quá tồn kho, hệ thống in thông báo và thực hiện ROLLBACK TRAN để hủy giao dịch; ngược lại, hệ thống tự động cập nhật giảm số lượng tồn kho tương ứng.
4. Vì sao hệ thống sử dụng Trigger INSTEAD OF INSERT trên bảng vat_tu tại các trạm chi nhánh?
Trigger them_vat_tu được cấu hình dạng INSTEAD OF INSERT nhằm chặn thao tác thêm mới bản ghi vật tư từ các máy trạm chi nhánh, đảm bảo nguyên tắc nghiệp vụ: danh mục vật tư dùng chung chỉ được tạo lập tập trung từ máy chủ trung tâm để tránh xung đột mã và sai lệch dữ liệu toàn cục.
5. Cơ chế sao chép dữ liệu nào được lựa chọn trên Microsoft SQL Server để đồng bộ hệ thống?
Nhóm tác giả lựa chọn cơ chế Merge Replication kết hợp cùng Snapshot Agent và Merge Agent. Cơ chế này cho phép các node chi nhánh làm việc tự chủ và hỗ trợ đồng bộ dữ liệu hai chiều giữa máy chủ và các máy trạm theo lịch trình hoặc sự kiện.
Kết luận
Báo cáo bài tập lớn "Quản lý vật tư" của nhóm sinh viên Học viện Công nghệ Bưu chính Viễn thông đã giải quyết hiệu quả bài toán quản trị kho vận đa chi nhánh bằng mô hình cơ sở dữ liệu phân tán. Nhóm tác giả đã hoàn thiện từ khâu phân tích thiết kế, xây dựng lược đồ phân mảnh ngang dẫn xuất 8 chi nhánh, cấu hình thành công hệ thống Merge Replication và Linked Server trên Microsoft SQL Server 2019, đến cài đặt các Trigger nghiệp vụ và ứng dụng Web kiểm thử. Đây là tài liệu tham khảo chi tiết, mang tính thực hành cao cho sinh viên và kỹ sư nghiên cứu trong lĩnh vực cơ sở dữ liệu phân tán.