Hệ cơ sở dữ liệu phân tán Hệ cơ sở dữ liệu phân tán Distributed Database System là một hệ thống cơ sở dữ liệu trong đó dữ liệu được phân tán và lưu trữ trên nhiều máy tính hoặc nút trong
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC VINH
TIỂU LUẬN KẾT THÚC HỌC PHẦN MÔN HỆ PHÂN TÁN
(Lớp K30C - Cao học ngành Công nghệ Thông tin )
Giáo viên hướng dẫn : TS Lê Văn Minh Học viên : Lê Huỳnh Giang Học viên
:
Nguyễn Trung Phong
Học viên :
Lớp :
Đỗ Phước Thịnh CNTT.K30C
Long An, 07/2023
Trang 2
LỜI CẢM ƠN
Lời cảm ơn chân thành và sâu sắc dành đến Thầy TS Lê Văn Minh - người đã tận tình hướng dẫn chúng tôi trong suốt quá trình học tập và nghiên cứu để hoàn thành đồ án này tốt nhất
Chúng tôi muốn bày tỏ lòng biết ơn đến Ban giám hiệu của Trường Đại học Vinh và Trường Đại học Kinh tế Công nghiệp Long An, cùng với tất cả các thầy cô giáo, người đã truyền đạt kiến thức quý báu và tạo điều kiện thuận lợi giúp đỡ chúng tôi trong quá trình học tập và nghiên cứu
Mặc dù đã cố gắng hết sức, đồ án này vẫn không tránh khỏi những thiếu sót Do
đó, chúng tôi trân trọng mọi ý kiến đóng góp từ quý Thầy Cô và các bạn bè để đồ án trở nên hoàn thiện hơn
Một lần nữa, chúng tôi xin chân thành cảm ơn!
Trang 3MỤC LỤC
CHƯƠNG 1 GIỚI THIỆU 1
CHƯƠNG 2: TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ HỆ THỐNG CÁC ĐỐI TƯỢNG PHÂN TÁN 1
1 Hệ cơ sở dữ liệu phân tán 1
1.1 Mô hình kiến trúc 1
1.2 So sánh Hệ CSDL phân tán và hệ CSDL tập trung 3
1.3 Thiết kế Cơ sở dữ liệu phân tán 3
2 Hệ thống các đối tượng phân tán 4
2.1 Đối tượng (Objects) 4
2.2 RPC (Remote Procedure Call) 5
2.3 RMI (Remote Method Invocation) 5
2.4 CORBA (Common Object Request Broker Architecture) 6
2.5 Messaging (Thông điệp) 7
2.6 Service-Oriented Architecture (SOA) 8
3 Cơ sở dữ liệu phân tán 9
4 Load Balancing (Cân bằng tải) 10
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG CHAT CLIENT-SERVER TRONG CƠ QUAN BẢO HIỂM XÃ HỘI TỈNH LONG AN 11
1 Ứng dụng của hệ phân tán vào hệ thống chat client-server trong cơ quan Bảo hiểm xã hội tỉnh Long An 11
2 Thực hiện biên dịch và thực thi ứng dụng 18
3 Ưu và nhược điểm của ứng dụng chat client-server sử dụng cơ chế socket trong cơ quan Bảo hiểm xã hội tỉnh Long An 20
CHƯƠNG 4: KẾT LUẬN 21
TÀI LIỆU THAM KHẢO 23
Trang 4PHÂN CÔNG NHIỆM VỤ CÁC THÀNH VIÊN
Nghiên cứu và trình bày Ứngdụng của hệ phân tán vào hệthống chat client-server trong cơquan Bảo hiểm xã hội tỉnh Long
An
2 Nguyễn Trung Phong
Nghiên cứu và trình bày Ứngdụng của hệ phân tán vào hệthống chat client-server trong cơquan Bảo hiểm xã hội tỉnh Long
An
Nghiên cứu và trình bày tổngquan về hệ cơ sở dữ liệu phântán và hệ thống các đối tượngphân tán, giới thiệu và kết luận
KẾT QUẢ ĐÁNH GIÁ NHÓM
2 Nguyễn Trung Phong
Trang 5CHƯƠNG 1 GIỚI THIỆU
Hệ phân tán và ứng dụng chat client-server đã trở nên quan trọng và phổ biếntrong việc tạo ra các giải pháp hiệu quả trong lĩnh vực công tác cơ quan bảo hiểm xãhội Việc áp dụng hệ thống chat client-server trong cơ quan bảo hiểm xã hội tỉnh Long
An mang lại những tiện ích vượt trội, từ việc tối ưu hóa giao tiếp giữa các nhân viên,đến việc nâng cao hiệu quả quản lý và tương tác với khách hàng
Đoạn mã trên đây là một ứng dụng chat server, cho phép nhiều khách hàng(clients) kết nối và gửi tin nhắn văn bản cho nhau thông qua máy chủ Cơ chế này hỗtrợ cơ quan bảo hiểm xã hội tỉnh Long An trong việc cải thiện trao đổi thông tin nội
bộ, từ việc trao đổi thông tin giữa các nhân viên trong cùng một bộ phận đến việctương tác với các phòng ban khác nhau
Đồng thời, việc triển khai ứng dụng chat client-server trong cơ quan bảo hiểm
xã hội cũng giúp tăng cường sự liên kết và giao tiếp với khách hàng Nhân viên có thểnhanh chóng giải đáp thắc mắc, cung cấp thông tin và hỗ trợ các dịch vụ bảo hiểm mộtcách hiệu quả hơn thông qua kênh chat trực tuyến
Từ những lợi ích trên, việc áp dụng hệ thống chat client-server trong cơ quanbảo hiểm xã hội tỉnh Long An hứa hẹn mang lại sự thuận tiện, nhanh chóng và hiệuquả trong việc quản lý thông tin, giao tiếp nội bộ và hỗ trợ khách hàng, góp phần nângcao chất lượng và hiệu suất công việc của cơ quan bảo hiểm xã hội
CHƯƠNG 2: TỔNG QUAN VỀ HỆ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ HỆ
THỐNG CÁC ĐỐI TƯỢNG PHÂN TÁN
1 Hệ cơ sở dữ liệu phân tán
Hệ cơ sở dữ liệu phân tán (Distributed Database System) là một hệ thống cơ sở
dữ liệu trong đó dữ liệu được phân tán và lưu trữ trên nhiều máy tính hoặc nút trongmạng Mục tiêu của hệ cơ sở dữ liệu phân tán là cải thiện tính khả dụng, tính mở rộng
và hiệu suất của hệ thống bằng cách tận dụng tối đa tài nguyên phân tán
1.1 Mô hình kiến trúc
a) Mô hình kiến trúc của hệ phân tán máy khách/máy chủ – client/server.
Trang 6Hình: Sơ đồ hệ phân tán client/server
Mô hình máy khách/máy chủ là một dạng điện toán phân tán trong đó mộtchương trình (máy khách) giao tiếp với một chương trình khác (máy chủ) nhằm mụcđích trao đổi thông tin Trong mô hình này, cả máy khách và máy chủ thường nói cùngmột ngôn ngữ một giao thức mà cả máy khách và máy chủ đều hiểu để chúng cóthể giao tiếp
Mặc dù mô hình máy khách/máy chủ có thể được triển khai theo nhiều cáchkhác nhau, nhưng nó thường được thực hiện bằng cách sử dụng ổ cắm cấp thấp Sửdụng ổ cắm để phát triển hệ thống máy khách/máy chủ có nghĩa là chúng ta phải thiết
kế một giao thức, là một tập hợp các lệnh được máy khách và máy chủ đồng ý thôngqua đó chúng có thể giao tiếp Ví dụ, hãy xem xét giao thức HTTP cung cấp mộtphương thức gọi là GET, phương thức này phải được triển khai bởi tất cả các máy chủweb và được sử dụng bởi các máy khách web (trình duyệt) để truy xuất tài liệu
b) Mô hình hệ phân tán ngang hàng
Hình: Sơ đồ kiến trúc của hệ phân tán ngang hàng
Trang 7Mô hình hệ phân tán ngang hàng (Peer-to-Peer - P2P) trong hệ phân tán là mộtkiểu kiến trúc trong đó các thành phần phần mềm hoạc các hệ thống trong mạng có thểtương tác và làm việc với nhau mà không có máy chủ trung tâm điều khiển Mô hìnhnày cho phép các thành phần phân tán trao đổi thông tin và tài nguyên trực tiếp giữanhau, tạo thành một mạng phân tán có tính phân tán cao.
Trong mô hình P2P, các thành phần phần mềm, máy tính hoặc các thiết bị cóvai trò tương đương và có khả năng hoạt động cả là máy chủ (server) lẫn là máy khách(client) Mỗi thành phần trong mạng có thể cung cấp và lấy thông tin từ nhau màkhông cần sự can thiệp của máy chủ trung tâm Mô hình P2P khác biệt so với kiểukiến trúc truyền thống client-server, trong đó có một máy chủ trung tâm đảm nhậntrách nhiệm xử lý yêu cầu và cung cấp dữ liệu cho các máy khách
1.2 So sánh Hệ CSDL phân tán và hệ CSDL tập trung
1.2.1 Hệ cơ sở dữ liệu tập trung
Trong mô hình này, các thành phần xử lý ứng dụng, phần mềm cơ sở dữ liệu vàbản thân cơ sở dữ liệu đều ở trên một bộ xử lý
Hệ cơ sở dữ liệu được thiết kế cho hệ thống một người dùng không hỗ trợ điềukhiển cạnh tranh, chức năng phục hồi
1.2.2So sánh Hệ CSDL phân tán và hệ CSDL tập trung
Cơ sở dữ liệu phân tán được thiết kế khác cơ sở dữ liệu tập trung Do đó cần đốisánh các đặc trưng của cơ sở dữ liệu phân tán với cơ sở dữ liệu tập trung để thấy đượclợi ích của cơ sở dữ liệu phân tán Đặc trưng mô tả cơ sở dữ liệu tập trung là điềukhiển tập trung, độc lập dữ liệu, giảm bớt dư thừa, cơ cấu vật lý phức tạp đối với khảnăng truy cập, toàn vẹn, hồi phục, điều khiển tương tranh, biệt lập và an toàn dữ liệu
1.3 Thiết kế Cơ sở dữ liệu phân tán
Các chiến lược thiết kế cơ sở dữ liệu phân tán là các phương pháp và kỹ thuật
để thiết kế và triển khai cơ sở dữ liệu phân tán sao cho nó đáp ứng các yêu cầu về tínhsẵn sàng, tính mở rộng, hiệu suất và bảo mật
Các chiến lược thiết kế cơ sở dữ liệu phân tán phụ thuộc vào yêu cầu cụ thể củaứng dụng và môi trường triển khai Thiết kế cơ sở dữ liệu phân tán đòi hỏi cân nhắc vàtối ưu hóa các yếu tố liên quan đến hiệu suất, khả năng mở rộng, tính sẵn sàng và bảomật
Trang 82 Hệ thống các đối tượng phân tán
Hệ thống các đối tượng phân tán là một kiến trúc phần mềm trong đó các đốitượng (components, services) và các thành phần của hệ thống được triển khai và chạytrên nhiều máy tính hoặc nút trong mạng Mục tiêu chính của hệ thống phân tán là tậndụng tối đa sức mạnh tính toán và tài nguyên phân tán của hệ thống, đồng thời cungcấp tính linh hoạt, sự mở rộng và khả năng chịu lỗi cao
Một số thành phần chính trong hệ thống các đối tượng phân tán bao gồm:
2.1 Đối tượng (Objects)
Trong hệ phân tán, các đối tượng (Objects) đề cập đến các thành phần phầnmềm độc lập, có trạng thái và hành vi, được triển khai và chạy trên các máy tính khácnhau trong mạng Các đối tượng phân tán có thể giao tiếp với nhau qua mạng để thựchiện các hoạt động phân tán, chia sẻ dữ liệu, và tương tác với nhau
Dưới đây là một số đặc điểm chính của các đối tượng phân tán:
Tính độc lập: Mỗi đối tượng phân tán là một thành phần phần mềm độc lập, tồntại và hoạt động độc lập với các đối tượng khác Điều này cho phép tính module và tái
sử dụng mã
Trạng thái và hành vi: Các đối tượng phân tán bao gồm trạng thái (dữ liệu củađối tượng) và hành vi (phương thức của đối tượng) Hành vi của đối tượng được triểnkhai bằng cách định nghĩa các phương thức
Giao tiếp phân tán: Đối tượng phân tán có thể giao tiếp với nhau qua mạngbằng cách gửi và nhận các thông điệp hoặc yêu cầu Các cơ chế như RMI (RemoteMethod Invocation) hoặc CORBA (Common Object Request Broker Architecture)được sử dụng để thực hiện việc giao tiếp này
Định danh duy nhất: Mỗi đối tượng phân tán có một định danh duy nhất giúpxác định nó trong hệ thống phân tán Định danh này giúp truy cập và giao tiếp với đốitượng từ xa
Bảo mật: Bảo mật là một yếu tố quan trọng khi làm việc với các đối tượng phântán Cần thiết phải xác thực và kiểm tra quyền truy cập khi gửi và nhận thông điệpgiữa các đối tượng
Tính bất đồng bộ: Các đối tượng phân tán có thể thực hiện các hoạt động bấtđồng bộ, có nghĩa là các yêu cầu không phụ thuộc vào nhau có thể được gửi và nhận ởcác thời điểm khác nhau
Trang 9Khả năng mở rộng: Hệ thống các đối tượng phân tán có thể mở rộng bằng cáchthêm các đối tượng mới hoặc triển khai các đối tượng trên các máy tính mới trongmạng.
Các đối tượng phân tán đóng vai trò quan trọng trong việc xây dựng các ứngdụng phân tán có tính linh hoạt cao, khả năng mở rộng và khả năng chịu lỗi tốt Chúngcho phép tận dụng tối đa tài nguyên phân tán của hệ thống và cung cấp cơ chế mạnh
mẽ để tương tác và chia sẻ dữ liệu giữa các thành phần phần mềm trên mạng
2.2 RPC (Remote Procedure Call)
Đây là cơ chế cho phép các đối tượng phân tán gọi phương thức hoặc thực thi
mã từ xa trên các máy tính khác nhau trong mạng
RPC là một mô hình truyền thông truyền thống trong lập trình phân tán
Đây là một phương pháp để gọi một hàm (procedure) trên một máy tính từ xathông qua mạng
Client gửi một yêu cầu gọi hàm và chờ đợi kết quả từ server
RPC thường được sử dụng trong các môi trường phân tán với ngôn ngữ lậptrình hỗ trợ tốt cho việc xây dựng các gọi thủ tục từ xa như C, C++, Python, và PHP
RPC không hỗ trợ truyền các đối tượng (objects) giữa client và server, chỉ hỗtrợ truyền các tham số và kết quả của các thủ tục
2.3 RMI (Remote Method Invocation)
Đây cũng là cơ chế cho phép các đối tượng phân tán gọi phương thức hoặc thựcthi mã từ xa trên các máy tính khác nhau trong mạng RMI là một cơ chế hướng đốitượng dành riêng cho Java và hỗ trợ truyền các đối tượng giữa client và server RMI cómột số đặc điểm khác so với RPC, cụ thể như sau:
RMI là một cơ chế truyền thông trong lập trình phân tán, được xây dựng trênnguyên tắc hướng đối tượng
Đây là một phương pháp để gọi các phương thức của các đối tượng Java từ xa.RMI hỗ trợ truyền các đối tượng giữa client và server, cho phép gửi và nhận cáctham số và kết quả là các đối tượng Java
RMI hỗ trợ tính bảo mật cao, nghĩa là có thể xác thực và kiểm tra quyền truycập của người dùng trước khi cho phép gọi các phương thức từ xa
RMI là một phương tiện mạnh mẽ để triển khai các ứng dụng phân tán Java, và
nó cung cấp các tính năng hướng đối tượng như kế thừa, đa hình và giao diện
Trang 102.4 CORBA (Common Object Request Broker Architecture)
CORBA (Common Object Request Broker Architecture) là một kiến trúc phầnmềm phân tán và một chuẩn của Object Management Group (OMG) cho phép các đốitượng phân tán giao tiếp và tương tác với nhau qua mạng Nó được phát triển như mộtgiải pháp giúp các đối tượng phần mềm viết bằng các ngôn ngữ lập trình khác nhau cóthể tương tác với nhau dễ dàng và độc lập ngôn ngữ
Một số thành phần chính trong CORBA bao gồm:
Interface Definition Language (IDL): Đây là ngôn ngữ định nghĩa giao diệnchung giữa các đối tượng phân tán IDL mô tả các giao diện của các đối tượng, baogồm các phương thức và dữ liệu mà các đối tượng có thể sử dụng để giao tiếp vớinhau
Object Request Broker (ORB): ORB là trung gian giữa các đối tượng phân tántrong hệ thống CORBA Nó quản lý việc gửi và nhận các yêu cầu và phản hồi giữa cácđối tượng ORB đảm bảo rằng yêu cầu của một đối tượng sẽ được gửi đến đúng đốitượng cụ thể trong hệ thống
Stubs và Skeletons: CORBA sử dụng stubs và skeletons để đóng gói các yêucầu và phản hồi giữa client và server Stub là một đại diện cho đối tượng trên client-side, trong khi skeleton là một đại diện cho đối tượng trên server-side Cả hai đều giúp
ẩn đi chi tiết của giao tiếp mạng và giúp dễ dàng tạo các đối tượng phân tán
Đối tượng phân tán: Đối tượng CORBA có thể triển khai và chạy trên các máytính khác nhau trong mạng và có thể giao tiếp với nhau thông qua ORB
Service: CORBA cung cấp các dịch vụ phổ biến như Time, Naming, Event, vàTrader Service để hỗ trợ các tác vụ phân tán phức tạp
Điểm mạnh của CORBA là nó cung cấp tích hợp giữa các ứng dụng viết bằngcác ngôn ngữ lập trình khác nhau Điều này cho phép các đối tượng phân tán viết bằngJava có thể giao tiếp và làm việc với các đối tượng viết bằng C++, Python, hay bất kỳngôn ngữ nào được hỗ trợ bởi CORBA CORBA đã từng được sử dụng rộng rãi trongcác ứng dụng phân tán lớn và phức tạp, nhưng trong những năm gần đây, nhiều côngnghệ mới đã xuất hiện và phổ biến hơn như RESTful APIs, gRPC, và các kiến trúcdựa trên Web Services
Trang 112.5 Messaging (Thông điệp)
Hệ thống các đối tượng phân tán thường sử dụng messaging để truyền thông tin
và dữ liệu giữa các đối tượng khác nhau Điều này đảm bảo tính bất đồng bộ và khảnăng chịu lỗi cao
Trong lập trình phân tán, messaging (thông điệp) là một phương pháp truyềnthông cho phép các thành phần phần mềm tương tác và giao tiếp với nhau bằng cáchtrao đổi thông điệp qua mạng Thông điệp được sử dụng để chia sẻ dữ liệu, yêu cầuthực thi các hành động, và gửi thông tin giữa các đối tượng phân tán
Các khái niệm chính liên quan đến messaging bao gồm:
Thông điệp (Message): Thông điệp là một bản tin hoặc gói dữ liệu chứa thôngtin cần gửi từ một đối tượng phân tán đến một đối tượng khác Thông điệp có thể chứacác dữ liệu cần truyền, các yêu cầu thực thi hành động, hoặc các lời nhắn thông báo
Hàng đợi (Queue): Hàng đợi là một cơ chế lưu trữ tạm thời các thông điệptrong một trạng thái chờ xử lý Các thông điệp được gửi đến hàng đợi và sau đó đượclấy ra và xử lý theo thứ tự mà chúng đã được đưa vào
Gửi (Send) và Nhận (Receive): Gửi và nhận là các hoạt động liên quan đếntruyền và nhận thông điệp giữa các đối tượng phân tán Đối tượng gửi sẽ gửi thôngđiệp đến một đối tượng nhận, và đối tượng nhận sẽ tiếp nhận và xử lý thông điệp đó
Bất đồng bộ (Asynchronous) và Đồng bộ (Synchronous): Trong messaging,thông điệp có thể được gửi và nhận bất đồng bộ, có nghĩa là gửi và nhận thông điệpkhông cần phải chờ đợi kết quả ngay lập tức Trong khi đó, messaging có thể đượcthực hiện theo cách đồng bộ, có nghĩa là đối tượng gửi phải chờ đợi kết quả từ đốitượng nhận trước khi tiếp tục thực hiện các hoạt động tiếp theo
Có nhiều cơ chế messaging được sử dụng trong lập trình phân tán, bao gồm:Message Queuing: Sử dụng hàng đợi để lưu trữ các thông điệp và đảm bảo cácđối tượng phân tán có thể gửi và nhận thông điệp một cách đồng bộ hoặc bất đồng bộ
Publish/Subscribe: Cơ chế này cho phép các đối tượng phân tán đăng ký(subscribe) để nhận thông điệp với một loại cụ thể, trong khi các đối tượng khác có thểxuất bản (publish) thông điệp cho loại đó Điều này giúp tạo ra các hệ thống phân tán
có tính tương tác cao
Trang 12Remote Messaging: Sử dụng messaging để giao tiếp giữa các đối tượng phântán ở xa nhau Điều này thường được sử dụng trong các kiến trúc hướng dịch vụ(SOA) và các hệ thống phân tán phức tạp.
Messaging là một phương pháp quan trọng trong việc xây dựng các hệ thốngphân tán, vì nó cung cấp tính bất đồng bộ, khả năng chịu lỗi và linh hoạt trong giaotiếp và tương tác giữa các thành phần phần mềm trên mạng
2.6 Service-Oriented Architecture (SOA)
Kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA) là một kiểukiến trúc phần mềm cho phép các ứng dụng phân tán tương tác với nhau thông qua cácdịch vụ (services) SOA tập trung vào việc phân chia ứng dụng thành các thành phầnđộc lập, độc lập ngôn ngữ và có thể tái sử dụng được gọi là dịch vụ Các dịch vụ này
có thể được triển khai trên nhiều máy tính và có thể giao tiếp với nhau qua mạng
Một số khái niệm chính của SOA bao gồm:
Dịch vụ (Service): Dịch vụ là một thành phần phần mềm độc lập thực hiện mộttác vụ cụ thể Các dịch vụ có thể được sử dụng và gọi từ các ứng dụng khác để thựchiện các chức năng cụ thể
Giao diện dịch vụ (Service Interface): Giao diện dịch vụ xác định các phươngthức và các thông điệp mà dịch vụ hỗ trợ Nó xác định cách các ứng dụng khác có thểtương tác với dịch vụ và sử dụng chức năng của nó
Giao tiếp dịch vụ (Service Communication): Giao tiếp dịch vụ là cơ chế mà cácdịch vụ sử dụng để giao tiếp với nhau Điều này có thể sử dụng các giao thức truyềnthông như HTTP, SOAP, RESTful, và các giao thức phân tán khác
UDDI (Universal Description, Discovery, and Integration): UDDI là một chuẩncho phép các dịch vụ được đăng ký và tìm kiếm trong một thư mục phân tán Điều nàygiúp các ứng dụng tìm kiếm và sử dụng các dịch vụ một cách dễ dàng
BPEL (Business Process Execution Language): BPEL là một ngôn ngữ được sửdụng để mô tả các quy trình kinh doanh và tương tác giữa các dịch vụ trong SOA
SOA mang lại một số lợi ích quan trọng như sau:
Tích hợp: SOA giúp tích hợp các ứng dụng và dịch vụ từ các nguồn khác nhauvào một hệ thống duy nhất, giúp cải thiện tính tương tác và tương thích giữa các thànhphần
Trang 13Tái sử dụng: Các dịch vụ độc lập và có thể tái sử dụng giúp giảm thời gian vàcông sức phát triển, vì các chức năng đã được triển khai một lần có thể tái sử dụngtrong nhiều ứng dụng khác nhau.
Linh hoạt: SOA cho phép các dịch vụ linh hoạt và có khả năng mở rộng, dễdàng thay đổi và cập nhật các chức năng của hệ thống mà không làm ảnh hưởng đếncác ứng dụng khác
Tính mở rộng: SOA hỗ trợ xây dựng các hệ thống phân tán mở rộng với khảnăng thêm và triển khai các dịch vụ mới một cách dễ dàng
SOA đã trở thành một kiến trúc phổ biến trong xây dựng các ứng dụng phântán, đặc biệt là trong môi trường doanh nghiệp nơi tích hợp và tái sử dụng dịch vụ làmột yêu cầu quan trọng
3 Cơ sở dữ liệu phân tán
Cơ sở dữ liệu phân tán là một hệ thống cơ sở dữ liệu trong đó dữ liệu được lưutrữ trên nhiều máy tính hoặc nút trong mạng Mục tiêu chính của cơ sở dữ liệu phântán là tận dụng tối đa tài nguyên phân tán của hệ thống và cung cấp tính khả dụng cao,tính linh hoạt và hiệu suất cao hơn so với cơ sở dữ liệu truyền thống
Một số đặc điểm chính của cơ sở dữ liệu phân tán bao gồm:
Độc lập về vị trí: Dữ liệu được phân chia thành các phân đoạn và lưu trữ trêncác máy tính khác nhau trong mạng Điều này cho phép dữ liệu được lưu trữ gần vớicác ứng dụng sử dụng nó và giảm thiểu tải cho một máy chủ duy nhất
Khả năng mở rộng: Cơ sở dữ liệu phân tán có thể mở rộng bằng cách thêm cácmáy tính mới vào hệ thống để tăng khả năng lưu trữ và xử lý dữ liệu
Tính khả dụng cao: Vì dữ liệu được lưu trữ trên nhiều máy tính, nếu một máytính gặp sự cố, các máy tính khác vẫn có thể cung cấp dữ liệu và phục vụ yêu cầu củaứng dụng
Tính đồng nhất (Consistency): Cơ sở dữ liệu phân tán cần đảm bảo tính đồngnhất của dữ liệu giữa các máy tính Điều này đảm bảo rằng dữ liệu luôn đồng nhất vàchính xác dù có thay đổi trạng thái trên nhiều máy tính
Tính bất đồng bộ: Cơ sở dữ liệu phân tán thường hỗ trợ các giao thức bất đồng
bộ cho phép thực hiện các thao tác cập nhật dữ liệu mà không cần phải chờ đợi kết quảngay lập tức