CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ GIAO TÁC Với sự phát triển không ngừng của Internet thì việc lưu trữ, quản lý và xử lý dữ liệu tại nhiều vị trí khác nhau, đặc biệt là các công ty và tổ chức thương mại cần được đáp ứng đầy đủ và các dữ liệu này. Yêu cầu quan trọng nhất trong quản lý dữ liệu là phải đảm bảo tính tuần tự, tính nhất quán dữ liệu .Với nhu cầu dùng chung một dữ liệu hợp nhất, các tổ chức kinh tế có nhiều trụ sở phân tán ở nhiều vị trí khác nhau. Làm thế nào để có thể quản lý các luồng dữ liệu và có thể sử dụng chung dữ liệu. Chương đầu tiên sẽ bắt đầu tìm hiểu cơ sở dữ liệu phân tán và các khái niệm cơ bản trong giao tác.
Khái niệm về cơ sở dữ liệu phân tán: Về mặt trực quan, nghĩa đen của cụm từ cơ sở dữ liệu phân tán (CSDLPT) chứa hai cụm từ là cơ sở dữ liệu (CSDL) và phân tán (PT). Như vậy có thể nói CSDLPT là sự hợp nhất của hai hướng tiếp cận nghiên cứu, đó là cơ sở dữ liệu và phân tán. Khái niệm phân tán ở đây là phân tán thông tin và các thông tin đó được chứa trên các máy tính của một hệ thống máy tính có liên hệ với nhau được gọi là Mạng Máy Tính (MMT). Một cách hình ảnh có thể nói: Cơ sở dữ liệu phân tán = Cơ sở dữ liệu + Mạng máy tính.
Như vậy, một CSDLPT là một tập nhiều CSDL có quan hệ logic và được phân bố trên một mạng máy tính. Một CSDL phân tán bao gồm nhiều nút (node, site), mỗi nút biểu diễn cho một máy tính và thiết bị lưu trữ thứ cấp kèm theo. Có thể một nút có thiết bị lưu 5 trữ nhỏ hoặc không có, và một số nút khác chỉ là thiết bị lưu trữ kèm với khả năng tính toán tối thiểu cần thiết cho việc lưu trữ và truy xuất dữ liệu. Một số cặp máy tính có thể nối với nhau bằng đường liên lạc (link), cho phép dữ liệu hoặc thông tin được gửi trực tiếp từ máy này sang máy khác theo hai chiều.
Thí dụ: Một tập các trạm làm việc (workstation) trên mạng cục bộ (localarea network, LAN) có thể chứa một CSDL phân tán, mỗi trạm giữ một phần dữ liệu. Các trạm là các nút, và có một đường liên lạc giữa mỗi cặp nút vì mạng này cho phép các thông báo có thể gửi trực tiếp từ nút này sang nút khác. CSDL phân tán có những nút nằm giới hạn trong phạm vi của một mạng cục bộ. Chẳng hạn một ngân hàng, ngoài cơ sở trung tâm được đặt trên một hoặc nhiều thiết bị lưu trữ có thể có một máy tính tại mỗi chi nhánh, và máy tính đó sẽ lưu các thông tin về các tài khoản của các chi nhánh.
Hệ quản trị CSDL phân tán là hệ thống phần mềm cho phép quản lí CSDL phân tán và đảm bảo tính trong suốt về sự phân tán đối với người dùng. Ví dụ về hệ CSDL phân tán: ATM và Google phân tán theo cách tự nhận biết, một yêu cầu cần server nào thì server đó xử lý. ATM phân tán rộng khắp, Google ở đâu cũng có. Tùy theo người lập trình mà CSDL được tiến hành phát tán cho hợp lý.1 Đặc điểm của CSDL phân tán Cơ sở dữ liệu phân tán không đơn giản là sự phân bố của các dữ liệu, bởi vì CSDL phân tán có nhiều đặc điểm khác biệt so với CSDL tập trung truyền thống, đó là: - Điều khiển tập trung (Centrealized Control) là một đặc điểm của CSDL tập trung, toàn bộ dữ liệu được tập trung lại nhằm để tránh sự dư thừa dữ liệu, đảm bảo được tính độc lập của dữ liệu.
Dữ liệu được quản lý tập trung bởi người quản 6 trị CSDL. Còn trong CSDL phân tán vấn đề điều khiển tập trung không được nhấn mạnh. Nói chung, trong các CSDL phân tán, sự điều khiển được thực hiện theo một cấu trúc điều khiển phân cấp bao gồm hai loại người quản trị CSDL: + Người quản trị CSDL toàn cục (Global Database Administrator) là người có trách nhiệm chính về toàn bộ CSDL phân tán. + Người quản trị CSDL cục bộ (Local Database Administrator) là người có trách nhiệm về CSDL cục bộ được đặt tại các site.
Tuy nhiên, những người quản trị CSDL cục bộ cần phải có những quyền độc lập riêng về CSDL cục bộ của mình mà người quản trị CSDL toàn cục hoàn toàn không có những quyền này và sự phối hợp giữa các vị trí được thực hiện bởi chính những người quản trị cục bộ. Đặc điểm này được gọi là sự độc lập vị trí. Các CSDL phân tán có thể khác nhau rất nhiều về mức độ độc lập vị trí. Từ sự độc lập vị trí hoàn toàn đến sự điều khiển tập trung hoàn toàn.
Thí dụ: ATM là 1 trong những công cụ cực kỳ đắc lực trong việc quản lý tiền, chuyển tiền, nhận tiền, thanh toán online. Anh A đang có nhu cầu sở hữu 1 thẻ ATM các ngân hàng khác nhau và thắc mắc rằng: Làm sao để làm được thẻ ATM.Anh A đến ngân hàng K làm tài khoản ngân hàng. Nhân viên giao dịch chịu trách nhiệm làn thẻ ATM cho anh A, và dữ liệu trong thẻ của anh A được lưu bởi 1 server hoặc một hệ điều hành mạng, hệ điều hành chịu trách nhiệm quản lý toàn bộ hệ thống của anh A. - Độc lập dữ liệu (Data Independence) là một đặc điểm của CSDL.
Độc lập dữ liệu có nghĩa là tổ chức lưu trữ dữ liệu là trong suốt đối với người lập trình ứng dụng. Ưu điểm của độc lập dữ liệu là các chương trình không bị ảnh hưởng bởi những thay đổi về tổ chức lưu trữ vật lý của dữ liệu. 7 Trong các hệ CSDL phân tán, độc lập dữ liệu cũng quan trọng như trong các CSDL tập trung. Tuy nhiên, một đặc điểm mới được đưa vào trong khái niệm thông thường của độc lập dữ liệu là sự trong suốt phân tán (Distribution Transparency).
Nhờ sự trong suốt phân tán mà các chương trình ứng dụng có thể được viết giống như trong CSDL không được phân tán. Vì vậy, tính đúng đắn của các chương trình ứng dụng không bị ảnh hưởng bởi sự di chuyển dữ liệu từ một vị trí này đến một vị trí khác. Tuy nhiên, tốc độ thực hiện của các chương trình ứng dụng thì bị ảnh hưởng. Độc lập dữ liệu trong CSDL tập trung được thể hiện thông qua một kiến trúc nhiều mức, các mức này có những mô tả khác nhau về dữ liệu và những ánh xạ biến đổi giữa các mức.
Sự trong suốt phân tán trong CSDL phân tán được thể hiện bằng cách bổ sung thêm các mức trong suốt vào kiến trúc nhiều mức của CSDL tập trung. Đánh giá ưu, nhược điểm của CSDL phân tán: 1.1 Ưu điểm của CSDL phân tán: - Phù hợp với cấu trúc của tổ chức. - Nâng cao khả năng chia sẻ và tính tự trị địa phương. - Nâng cao tính sẵn sàng.
- Nâng cao tính tin cậy - Nâng cao hiệu năng - Dễ mở rộng.2 Nhược điểm và khó khăn cần phải giải quyết trong CDSL phân tán: - Thiết kế CSDL phức tạp hơn. 8 - Khó điều chỉnh tính nhất quán dữ liệu - Khó phát hiện và khử lỗi. - Giá thành cao - Thiếu chuẩn mực - Thiếu kinh nghiệm - Vấn đề về bảo mật 1.3 Các ràng buộc toàn vẹn trong cơ sở dữ liệu phân tán: Đối với hệ cơ sở dữ liệu phân tán, ngoài những ràng buộc như: ràng buộc về miền giá trị, ràng buộc liên quan đến nhiều thuộc tính, ràng buộc về liên thuộc tính, ràng buộc trên nhiều quan hệ,…còn có các ràng buộc khác như: Khi có bản sao dữ liệu yêu cầu tất cả các giá trị của một thuộc tính của một quan hệ này cũng phải tồn tại trong các quan hệ khác. Thí dụ: A là đơn vị dữ liệu ghi nhận số dư của một khách hàng tại ngân hàng H.
Ngân hành H có n điểm giao dịch, tại mỗi điểm trong số n điểm giao dịch đều có một bản sao của A. Khi A gửi thêm tiền vào tài khoản tại điểm giao dịch i thì trị số của A trở thành A'. Yêu cầu đặt ra là mọi điểm giao dịch khác chứa bản sao của A đều phải được cập nhật thành A'. Loại hình phân tán trong luận văn Trong CSDL bao gồm các loại hình phân tán sau: - Phân tán với kĩ thuật phân đoạn: Nghĩa là phân hoạch CSDL thành các đoạn (fragments).
Sự phân đoạn cho phép phân chia một đối tượng đơn lẻ thành hai hay nhiều mảnh. Thí dụ: Ngân hàng chính có trụ sở được đặt tại Hà Nội là ngân hàng K và được chia thành các chi nhánh nhỏ được đăt tại các tỉnh thành để có thể đáp ứng được mọi giao dịch trong ngân hàng. 9 - Phân tán với nhiều bản sao: là CSDL được sao thành nhiều bản sao từng phần và được đặt ở hai hay nhiều vị trí trên mạng. Nếu bản sao của CSDL được lưu trữ tại mọi vị trí thì ra có trường hợp sao lặp đầy đủ.
Loại hình phân tán với nhiều bản sao này nảy sinh nhiều vấn đề cập nhật vì khi có thay đổi dữ liệu ở một nơi thì cần được sự xử lý lại và đồng bộ hóa dữ liệu cho tất cả các vị trí khác. Thí dụ: Khách hàng A sử dụng các chương trình xem web. Vậy dữ liệu được ghi vào bộ nhớ máy tính (bản sao), nếu trang web thay đổi nội dung. Người dùng vẫn chỉ xem nội dung trên máy tính (chỉ xem được bản cũ).
Vấn đề đồng bộ dữ liệu trên máy khách và trên máy chủ có 2 hường tiếp cận. Ứng dụng chịu trách nhiệm nhân bản. Do ứng dụng cần giải quyết vấn đề nhất quán. Hệ thống đảm nhiệm việc nhân bản.
- Phân tán định vị dữ liệu: liên quan đến các công việc của người sử dụng và người lập trình ứng dụng trên các đoạn dữ liệu được định vị tại các trạm. Thông qua tính trong suốt trong định vị người lập trình sẽ biết được vị trí của các đoạn trên các trạm. Bài toán truy nhập đồng thời giải quyết tranh chấp Ngân hàng K nhiều chi nhánh được phân bố tại nhiều địa điểm khác nhau. Cùng một lúc có 20 người vào giao dịch với mục đích là trả nợ cho tài khoản B.
Anh A trả nợ cho tài khoản B 2 triệu, anh C trả nợ cho B 3 triệu, chị D trả nợ cho B 10 triệu,….