Chuẩn bị folder để chứa các dữ liệu trao đổi trong quá trình update dữ liệu từ các phân mảnh về cơ sở dữ liệu gốc, và từ cơ sở dữ liệu gốc đến các phân mảnh.. Đề tài Ba trường đạ
GIỚI THIỆU
Đề tài
Ba trường đại học ở Cần Thơ (CTU, FPT, TDU) đã quyết định gộp chung thư viện và dịch vụ cho mượn sách của họ, để cho phép tất cả sinh viên mượn sách trong tất cả thư viện của các trường đại học đã tham gia Để quản lý các thư viện của trường đại học một cách hiệu quả và tiện lợi chúng ta cần có một hệ thống quản lý dữ liệu Do các trường đại học ở các vị trí khác nhau, vì vậy các các dữ liệu của trường đại học cần phải có một hệ thống thống nhất để các trường có thể liên kết với nhau, giúp phân tán dữ liệu từ trường đại học này tới trường đại học khác Vậy nên việc thiết kế cơ sở dữ liệu phân tán cho các trường đại học là cần thiết
Một sinh viên của CTU sẽ có thể mượn sách từ thư viện TDU Việc quản lý chung các thư viện và việc cho mượn được thực hiện bởi một cơ sở dữ liệu phân tán, có sơ đồ tổng thể như sau:
- NHÂN VIÊN (MNV, tên, địa chỉ, trạng thái, lib)
+ Thuộc tính lib chỉ thư viện nhân viên làm việc
- SINH VIÊN (MSV, tên, địa chỉ, univ, ngành, sốlần_mượn)
+ Thuộc tính univ chỉ trường đại học nơi sinh viên theo học
- TÁC PHẨM (MTP, tiêu đề, nhà sản xuất, năm, loại, số sách, site)
+ Thuộc tính site chỉ thư viện quản lý tác phẩm, thuộc tính loại được sử dụng để phân loại tác phẩm trong chuyên mục (vật lý, toán học, khoa học máy tính, …)
+ Thuộc tính số sách là số lượng sách còn lại để cho mượn
- TÁC GIẢ (MTP, tên tác giả)
- MƯỢN (MTP, MSV, ngày mượn, ngày trả)
- Việc quản lý ứng dụng này dựa trên các giả định sau:
+ Một nhân viên được chỉ định vào một site duy nhất
+ Một sinh viên đang theo học tại một trường đại học duy nhất, nhưng có thể mượn tất cả các thư viện trường
+ Một cuốn sách được mượn và trả lại cho cùng một thư viện
Kịch bản
+ Mỗi trường đại học chỉ quản lý sinh viên của mình
+ Mỗi thư viện chỉ quản lý nhân viên của mình và các tác phẩm của họ có
Các mối quan hệ toàn cục được phân đoạn và phân tán trên các trường khác nhau.
Phân tích và thiết kế
1.3.1 Phân tích và chức năng:
- Máy trạm 1 (Server 1): quản trị CSDL cho trường đại học CTU
- Máy trạm 2 (Server 2): quản trị CSDL cho trường đại học FPT
- Máy trạm 3 (Server 3): quản trị CSDL cho trường đại học TDU
1.3.2 Thiết kế cơ sở dữ liệu:
Hình 1 Cơ sở dữ liệu
CẤU HÌNH CÁC MÁY CHỦ VÀ MÁY TRẠM
Tắt tường lửa
+ Vào System and Security Chọn Windows Defender Firewall
Hình 2 Mở cấu hình tường lửa
+ Chọn Turn Window Defender Firewall on or off Chọn Turn off cả hai dòngOK
Hình 3 Tắt tường lửa
+ Giao diện sau khi tắt tường lửa
Hình 4 Tắt tường lửa thành công
Mở port 1433
+ Trong thanh tìm kiếm, tìm SQL Server 2019 Configuration Manager
Hình 5 Mở SQL Server 2019 Configuration Manager
+ Chọn SQL Server Network Configuration + Protocols for CT281_BTNHOM Trong TCP/IP chọn Enable Chọn Properties
Hình 6 Mở TCP/IP Properties để cấu hình cho server
+ Chọn mục IP Addresses Ở mục IPAll, nhập vào trường TCP Port của rule vừa tạo (1433) Chọn Apply Chọn OK
Hình 7 Cấu hình TCP Port cho server
+ Chọn SQL Server Sevices và Restart lại Server đã config và restart lại
Thêm New Rule: Server_CSDLPT
+ Vào System and Security Chọn Windows Defender Firewall Chọn Advanced Settings
Hình 9 Mở cài đặt nâng cao của tường lửa
+ Chọn Inbound Rules New Rule
Hình 10 Tạo rule mới
+ Ở mục Rule Type, chọn Port
Hình 11 Chọn rule type Port
+ Ở mục Protocol and Ports, chọn TCPChọn Specific local portsNhập port 1433
Hình 12 Chọn giao thức TCP và port 1433
+ Ở mục Name, nhập tên rule Server_CSDLPT → Chọn Finish
Hình 13 Đặt tên rule
Thêm New Rule UDP_port1434
+ Tương tự Chọn Protocol and Ports chọn UDP và local ports: 1434 ấn Next
Hình 14 Chọn giao thức UDP và port 1434
+ Ở mục Name, nhập tên rule UDP_port1434 Chọn Finish
Hình 15 Đặt tên rule
Thêm New Rule sqlserver
+ Trong mục Rule Type, chọn Program ấn Next
Hình 16 Chọn rule type Program
+ Trong mục Program, chọn This program path Chọn Browse để chọn file
+ Chọn file sqlservr ở D:\CSDLPT2\MSSQL16.CT281_BTNHOM\MSSQL\Binn
+ Ở mục Name, nhập tên rule sqlserver Chọn Finish
Hình 20 Đặt tên rule
2.6 Chuẩn bị folder để chứa các dữ liệu trao đổi trong quá trình update dữ liệu từ các phân mảnh về cơ sở dữ liệu gốc, và từ cơ sở dữ liệu gốc đến các phân mảnh
+ Tạo 1 folder D:\DATA để chứa các dữ liệu trao đổi trong quá trình update dữ liệu từ các phân mảnh về cơ sở dữ liệu gốc, và từ cơ sở dữ liệu gốc đến các phân mảnh
+ Click chuột phải chọn Properties Chọn tab Sharing Chọn Share
+ Chọn quyền Read/Write Chọn Share
Hình 24 Folder được share
2.7 Kết nối các máy bằng phần mềm RadMinVPN
+ Cài đặt phần mềm Radmin VPN, theo link dưới: https://www.radmin-vpn.com/ + Sau khi cài đặt thành công thì chọn tạo mạng
Hình 25 Tạo mạng
+ Các máy trạm sẽ kết nối với nhau và kết nối với máy chủ bằng VPN này
Hình 26 Sau khi tạo và kết nối
+ Kiểm tra kết nối bằng cách chuột phải vào thành viên và chọn ping
+ Các máy đã kết nối với nhau thành công
Hình 28 Ping máy 26.163.195.239 (CTU)
Hình 29 Ping máy 26.59.169.197 (FPT)
Hình 30 Ping máy 26.70.61.7 (TDU)
2.8 Bật TCP IP và thêm IP các máy trạm
+ Mở Sql Server Configuration Manager để cấu hình IP cho từng máy
+ Cài đặt các IP như sau:
Tất cả các TCP Port: 1433
IP1: 26.198.67.125 -> là IP máy chủ
Các IP còn lại đều là máy trạm
Hình 31 Cấu hình IP
+ Chỉnh Mode SQL Server Agent
Bật TCP IP và thêm IP các máy trạm
+ Mở Sql Server Configuration Manager để cấu hình IP cho từng máy
+ Cài đặt các IP như sau:
Tất cả các TCP Port: 1433
IP1: 26.198.67.125 -> là IP máy chủ
Các IP còn lại đều là máy trạm
Hình 31 Cấu hình IP
+ Chỉnh Mode SQL Server Agent
Hình 32 Chỉnh thành Automatic
QUY TRÌNH CÀI ĐẶT SERVER CHÍNH VÀ CÁC SERVER CON
Cài đặt sql server 2022
+ Truy cập vào đường link https://www.microsoft.com/en-us/sql-server/sql-server- downloads
+ Chọn cài đặt phiên bản Developer -> Download now
+ Sau khi tải về, mở file vừa tải và tiến hành cài đặt:
Hình 34 Bước chọn Custom
Chọn install để tiến hành cài đặt
+ Sau khi cài đặt thành công, mở file setup và chọn Installation Chọn New Sql Server standalone installation or add features to an existing installation
+ Chọn Specify a free edition: Chọn Evaluation Next
+ Đánh dấu vào “I accept the license terms and Privacy Statement” chọn Next
+ Chọn Azure Entension for SQL Server hoặc không
Hình 41 Azure Entension for SQL Server
+ Chọn các chức năng phù hợp ở mục Feature Next
+ Ở mục Instance Configuration ta có thể đặt tên cho Instance (tên có thể đặt tùy ý, không dấu, không khoảng trắng) Next
+ Ở mục Database Engine Configuration chúng ta chọn “Mixed Mode” và nhập mật khẩu cho tài khoản sa Chọn “Add Current User”
Hình 45 Database Engine Configuration
+ Ở mục Analysis Services Configuration chọn “Add Current User” và chọn Next
Hình 46 Analysis Services Configuration
Hình 47 Integration Services – Master Node
Hình 48 Integration Services – Worker Node
Hình 49 Ready to Install
+ Cài đặt thành công Close
Cài đặt Sql Server Management Studio Tools (SSMS)
TẠO DATABASE VÀ PHÂN TÁN DỮ LIỆU
Configure distribution
+ Chọn mục Replication nhấn chuột phải Configure distribution
Hình 65 Configure distribution Wizard
+ Chọn đường dẫn của folder đã tạo dùng để phân tán dữ liệu (D:\DATA) Next
Hình 71 Complete the wizard
Hình 72 Configure distribution success
Do không cho SQL Server Agent tự động chạy mỗi khi mở SQL Server nên mới báo lỗi, tuy nhiên đến bước này là config thành công rồi.
Tạo Publication Database
+ Trong mục Replication Local Publications Nhấp chuột phải chọn New publication
Hình 74 New Publication Wizard
+ Chọn database chứa các bảng muốn nhân bảnNext
+ Ở mục Publication Type, chọn Transactional publication để cho phép nhân bản Next
+ Mở rộng mục table để xem các bảng có trong database tick vào bảng muốn nhân bản Next
Hình 77 Chọn bảng cần nhân bản
Hình 78 Filter Tables Rows
+ Chọn run under the SQL Server Agent service account và using the follow SQL Server login nhập tài khoản sa password 12345 mà ta đã tạo server OK
Hình 81 Snapshot Agent Security
Hình 83 Complete the wizard
+ Tạo Publication thành công
+ Tạo new publication tương tự mục 4.3.1
+ Ở mục Publication Type, chọn Merge publication để thực hiện phân mảnh Next
Hình 85 Chọn merge publication
+ Chọn SQL Server 2008 or later Next
Hình 86 chọn sql server 2008
+ Chọn các bảng muốn phân mảnh, solan_muon ta đã nhân bản nên không phân mảnh
Hình 87 Chọn bảng phân mảnh
Hình 89 Chọn Add filter
+ Tạo phân mảnh ngang
+ Nhấp vào dbo.TacPham chọn Add Add Join to Extend the Selected Filter
Hình 93 Add Join to extend
+ Chọn bảng muốn dẫn xuất theo TacPham click OK
Hình 94 TacGia semijoin TacPham
Hình 95 Muon semijoin TacPham
Hình 96 Lược đồ phân mảnh CTU
+ Bỏ hoặc tick Schedule the snapshot agent… đều được Next
+ Chọn run under the SQL Server Agent service account và using the follow SQL Server login -> nhập tài khoản sa password 12345 mà ta đã tạo server -> OK
Hình 99 Snapshot Agent Security
+ Chọn Next hoặc chọn Finish >>|
Hình 100 Tên phân mảnh với CTU
+ Tạo publication thành công
Hình 101 Tạo publication thành công
+ Thực hiện các bước tương tự để phân mảnh QUAN LY THU VIEN TDU và QUAN
Hình 102 Tên phân mảnh với FPT
Hình 103 Tạo publication thành công
Hình 104 Tên phân mảnh với TDU
Hình 105 Tạo publication thành công
Hình 106 Các Publication đã tạo
+ Cần có thông tin nick các máy trạm để tạo sub
DESKTOP-G9N1BLI\CT281_BTNHOM 12345 Máy chủ
ADMIN\CT281_BTNHOM (CTU) 123 Máy trạm
DESKTOP-AS9GCDN\CTU (FPT) 123 Máy trạm
ADMIN-PC\CT281_CSDLPT (TDU) 123 Máy trạm
Bảng 1 Thông tin các máy
+ Ở mục Local Publications nhấn chuột phải chọn New Subscription
Hình 108 New Subscription Wizard
+ Chọn một phân đoạn để phân tán tới server máy trạm
Hình 109 Chọn phân đoạn phân tán
Hình 110 Merge Agent Location
+ Chỉ định server chứa dữ liệu mà ta muốn phân tán cho Add SQL Server Subscriber chọn New database để chứa dữ liệu phân tán Đặt tên Ok Next
Hình 114 Merge Agent Security
+ Chọn Run under SQL Server Agent …, Using the following SQL Server login -> nhập tài khoản server con ok
Hình 115 Đăng nhập máy con
+ Chọn run continuously để đồng bộ khi nhập dữ liệu server con thì server gốc tự động cập nhật
Hình 116 Đồng bộ hóa
Hình 120 Complete the Wizard
+ Máy trạm đã nhận được database
Hình 122 Phân tán database QUAN LY THU VIEN CTU
+ Tương tự ta phân tán các phân đoạn theo thông tin máy trạm và điều kiện FPT,TDU như các bước trên
Hình 123 Phân tán database QUAN LY THU VIEN FPT
Hình 124 Phân tán thành công
4.4 Đồng bộ dữ liệu
* Máy trạm sang máy chủ
+ Dữ liệu ban đầu của bảng nhân viên ở máy chủ
Hình 125 Dữ liệu ban đầu của bảng nhân viên máy chủ
+ Máy trạm CTU thêm dữ liệu
Hình 126 Máy CTU thêm dữ liệu
+ Dữ liệu sau khi thêm của máy chủ
Hình 127 Dữ liệu sau khi thêm của máy chủ
* Máy chủ sang máy trạm
+ Dữ liệu ban đầu của bảng nhân viên CTU
Hình 128 Bảng NhanVien CTU
+ Máy chủ thêm dữ liệu
Hình 129 Thêm dữ liệu
+ Dữ liệu sau khi thêm của máy CTU
TẠO LINK_SERVER
Tạo Link Server để kết nối đến máy khác
+ Chọn New Linked Server ở Linked Servers
Hình 135 New linked server
+ Nhập Product name và provider string là nơi mà máy hiện tại muốn kết nối đến dữ liệu máy khác
Hình 136 Chọn máy muốn kết nối tới database
+ Chọn Be made using this security context
+ Chọn passwork: 123 (mật khẩu vừa tạo trước)
Hình 137 Nhập tài khoản
+ Chọn các phần trên ở trên là true và nhấn OK
+ Sau khi Link thành công
Hình 139 Kiểm tra liên kết
+ Tạo link server đến máy trạm còn lại dựa vào thông tin sau
Mật khẩu LINK_TO_SERVER Địa điểm
G9N1BLI\CT281_BTNHOM CSDLPT 123 LINK_TO_SERVER Máy chủ
Mật khẩu LINK_TO_SERVER Địa điểm
Quy ADMIN\CT281_BTNHOM CSDLPT 123 LINK_TO_SERVER_
Thuần DESKTOP-AS9GCDN\CTU CSDLPT 123 LINK_TO_SERVER_
CT281_CSDLPT CSDLPT 123 LINK_TO_SERVER_
Bảng 2 Thông tin các máy trạm