intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Khoa học máy tính: Các thuật toán quản lý khóa chốt trong Cơ sở dữ liệu phân tán

Chia sẻ: _ _ | Ngày: | Loại File: PDF | Số trang:76

25
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Đề tài “Các thuật toán quản lý khóa chốt trong cơ sở dữ liệu phân tán” với mục đích tìm hiểu các khái niệm, các phương thức tiếp cận và thuật toán quản lý việc lập lịch cho một tập các giao dịch trong môi trường phân tán một cách hiệu quả. Mời các bạn cùng tham khảo!

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Khoa học máy tính: Các thuật toán quản lý khóa chốt trong Cơ sở dữ liệu phân tán

  1. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỖ THỊ LỢI CÁC THUẬT TOÁN QUẢN LÝ KHÓA CHỐT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên, 2018
  2. ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ĐỖ THỊ LỢI CÁC THUẬT TOÁN QUẢN LÝ KHÓA CHỐT TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN Chuyên ngành: Khoa học máy tính Mã số: 84 80 101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Người hướng dẫn khoa học: PGS TSKH Nguyễn Xuân Huy Thái Nguyên, 2018
  3. v LỜI CAM ĐOAN Tôi xin cam đoan kết quả tìm hiểu, nghiên cứu trong luận văn là của cá nhân tôi. Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công bố trong bất kỳ công trình nào khác. Các trích dẫn số liệu và kết quả tham khảo đều có xuất xứ rõ ràng và được trích dẫn hợp pháp. Thái Nguyên, tháng 6 năm 2018 Tác giả luận văn Đỗ Thị Lợi
  4. vi MỤC LỤC LỜI CAM ĐOAN ................................................................................................. v MỤC LỤC ............................................................................................................ vi DANH MỤC CÁC HÌNH VẼ............................................................................. ix LỜI CẢM ƠN ....................................................................................................... x MỞ ĐẦU ............................................................................................................... 1 1. Đặt vấn đề ............................................................................................................... 1 2. Những đóng góp của luận văn............................................................................... 2 3. Bố cục của luận văn................................................................................................ 2 CHƯƠNG I: TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU PHÂN TÁN VÀ GIAO TÁC........................................................................................................................ 4 1.1. Khái niệm về cơ sở dữ liệu phân tán: ................................................................ 4 1.1.1 Đặc điểm của CSDL phân tán ....................................................................... 5 1.1.2. Đánh giá ưu, nhược điểm của CSDL phân tán: ......................................... 7 1.1.3 Các ràng buộc toàn vẹn trong cơ sở dữ liệu phân tán: ............................... 8 1.1.4. Loại hình phân tán trong luận văn ............................................................. 8 1.2. Bài toán truy nhập đồng thời giải quyết tranh chấp ....................................... 9 1.3. Phát biểu bài toán tổng hợp ............................................................................. 10 1.4. Giao tác (Transaction) ...................................................................................... 11 1.4.1. Khái niệm..................................................................................................... 11 1.4.3. Các thao tác của giao tác ............................................................................ 15 1.4.4. Các trạng thái của giao tác ......................................................................... 17 1.5. Lịch ..................................................................................................................... 17 1.5.1. Định nghĩa lịch: .......................................................................................... 17 1.5.2. Lịch tuần tự (Serial schedule): ................................................................... 19
  5. vii 1.5.3. Lịch khả tuần tự (serializable schedule): ................................................... 20 1.6. Khóa chốt ............................................................................................................... 22 1.6.1. Khái niệm ......................................................................................................... 22 1.6.2. Khóa sống (Livelock) ...................................................................................... 26 1.6.3. Khóa gài (Deadlock)........................................................................................ 26 1.6.4. Nghi thức 2 pha ............................................................................................... 27 1.6.5. Mô hình khóa cơ bản ...................................................................................... 29 1.6.5.1. Mô hình đọc ghi đơn giản........................................................................ 30 1.6.5.2. Mô hình đọc và đọc & ghi....................................................................... 31 CHƯƠNG II: CÁC THUẬT TOÁN QUẢN LÝ KHÓA ................................ 33 TRONG CƠ SỞ DỮ LIỆU PHÂN TÁN .......................................................... 33 2.1. Kiểm tra tính hợp lệ của giao tác ..................................................................... 33 2.2. Kiểm tra tính hợp lệ của lịch ............................................................................ 38 2.3. Kiểm tra nghi thức 2 pha của giao tác ............................................................ 41 2.4. Kiểm tra tính khả tuần tự của lịch .................................................................. 43 2.5. Lập lịch ............................................................................................................... 48 CHƯƠNG III: CÀI ĐẶT CHƯƠNG TRÌNH VÀ THỬ NGHIỆM .............. 52 3.1. Tổ chức dữ liệu .................................................................................................. 52 3.2. Kịch bản chương trình...................................................................................... 54 3.3. Thử nghiệm chương trình ................................................................................ 56 3.3.1. Môi trường cài đặt ....................................................................................... 56 3.3.2. Mô hình hệ thống ........................................................................................ 56 TÀI LIỆU THAM KHẢO ................................................................................. 68
  6. viii DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT 1 CSDLPT Distributed database- Cở sở dữ liệu phân tán 2 CSDL Database- Cơ sở dữ liệu 3 PT Distributed- Phân tán 4 CNTT Information Technology- Công nghệ thông tin 5 MMT Internet- Mạng máy tính 6 // Chú thích 7 ++ Tăng biến đếm lên 1 đơn vị 8 -- Giảm biến đếm xuống 1 đơn vị 9 && Và hoặc Ender 10  Gán 11 [][] Ma trận 12 == Dấu bằng
  7. ix DANH MỤC CÁC HÌNH VẼ Hình 3.1: Cấu trúc một file input của một giao tác cho kịch bản ................................. 53 Hình 3.2: Cấu trúc một file input của một lịch cho kịch bản ........................................ 54 Hình 3.3: Giao diện chính của chương trình ................................................................ 57 Hình 3.4: Giao diện lập lịch từ các giao tác LOCK/ UNLOCK ................................... 58 Hình 3.5: Giao diện xong lập lịch ................................................................................. 59 Hình 3.6: Giao diện phân tích lịch LOCK/ UNLOCK ................................................. 60 Hình 3.7: Giao diện xong phân tích lịch ....................................................................... 61 Hình 3.8: Giao diện phân tích lịch RLOCK & WLOCK/ UNLOCK ............................. 62 Hình 3.9: Giao diện xong phân tích lịch ....................................................................... 63 Hình 3.10: Giao diện lập lịch RLOCK & WLOK/ UNLOCK ........................................ 64 Hình 3.11: Giao diện xong lập lịch ............................................................................... 65
  8. x LỜI CẢM ƠN Học viên xin chân thành cảm ơn các thầy cô giáo trong Trường Đại học Công nghệ Thông tin và Truyền thông Đại học Thái Nguyên đã hết lòng dạy dỗ chỉ bảo, tạo điều kiện tốt cho học viên trong suốt quá trình học tập cũng như trong thời gian thực hiện luận văn này. Đặc biệt học viên xin gửi lời cảm ơn chân thành và sâu sắc tới PGS. TSKH Nguyễn Xuân Huy, người đã trực tiếp quan tâm, tận tình hướng dẫn và cung cấp nhiều tài liều cần thiết để học viên có thể hoàn thành luận văn này. Học viên xin kính chúc thầy và gia đình luôn luôn mạnh khỏe và hạnh phúc. Xin cảm ơn các anh chị em học viên cao học và các bạn bè đồng nghiệp đã trao đổi, giúp đỡ học viên rất nhiều trong quá trình học tập và thực hiện luận văn này. Mặc dù học viên đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép nhưng chắc chắn sẽ không tránh khỏi những sai sót. Học viên kính mong nhận được sự chỉ bảo tận tình của quý thầy cô và các bạn. Thái Nguyên, tháng 6 năm 2018 Tác giả luận văn Đỗ Thị Lợi
  9. 1 MỞ ĐẦU 1. Đặt vấn đề Cơ sở dữ liệu (CSDL) là một lĩnh vực lớn và là chuyên ngành được sự quan tâm nhiều nhất trong Công nghệ thông tin (CNTT). Từ khi có mô hình cơ sở dữ liệu đầu tiên vào những năm 60 thì đến nay đã trải qua nhiều hệ cơ sở dữ liệu và có nhiều ứng dụng trong khoa học và thương mại. Đặc biệt là trong thế kỷ 21, sự phát triển của Internet bùng nổ một cách mạnh mẽ thì cơ sở dữ liệu phân tán cũng trở thành một lĩnh vực quan trọng và phát triển nhanh chóng. Bên cạnh đó, với sự phát triển 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ủa các công ty, các tổ chức đặ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 cần phải được đảm bảo sự nhất quán và toàn vẹn. Nhưng vấn đề được đặt ra ở đây là dựa vào nền tảng của cơ sở dữ liệu tập trung để mở rộng cho cơ sở dữ liệu phân tán thì việc giải quyết trở nên phức tạp. Một vấn đề khác cũng được đặt ra ở đây và cũng là vấn để mà nhiều nhà nghiên cứu vẫn đang tìm hiểu và giải quyết đó là quản lý khóa chốt trong cơ sở dữ liêu phân tán. Khóa chốt được hiểu là công cụ khẳng định sự chiếm giữ của một chương trình (giao dịch) đối với một đơn vị dữ liệu trong cơ sở dữ liệu. Yêu cầu quan trọng nhất trong quản lý khóa chốt là phải đảm bảo tính khả tuần tự cho các giao dịch độc lập [1], [2] . Điểu này đối với cơ sở dữ liệu phân tán trở nên phức tạp bởi vì trong môi trường phân tán có nhiều lý do để dữ liệu bị xung đột khi nhiều giao dịch xảy ra đồng thời. Ngày nay, song song với việc Internet phát triển thì thương mại điện tử cũng trở thành một lĩnh vực lớn. Khi đó, các trung tâm (site) thương mại ngày càng được mở rộng và mô hình giao dịch trực tuyến trở nên phổ biến. Nhưng khi các site
  10. 2 thương mại này càng lớn thì nhu cầu quản lý dữ liệu càng trở nên thiết yếu và dữ liệu được đặt ở nhiều vị trí khác nhau. Với lượng dữ liệu lớn, khối lượng truy cập lớn và quản lý giao dịch xảy ra đồng thời với tần suất cao thì làm thế nào để đảm bảo dữ liệu không bị xung đột với nhau và dữ liệu không bị mất là một trong những đòi hỏi bức thiết [4], [5], [6]. Học viên lựa chọn đề tài “Các thuật toán quản lý khóa chốt trong cơ sở dữ liệu phân tán” với mục đích tìm hiểu các khái niệm, các phương thức tiếp cận và thuật toán quản lý việc lập lịch cho một tập các giao dịch trong môi trường phân tán một cách hiệu quả. 2. Những đóng góp của luận văn Trong luận văn này học viên tập trung nghiên cứu tìm hiểu khái quát cơ sở dữ liệu phân tán, giao tác và các trạng thái của giao tác.Ngoài ra tìm hiểu về giao dịch và cách xử lí đồng thời phân tán .Từ đó xây dựng chương trình thể hiện các thuật toán quản lý khóa chốt phân tán trong cơ sở dữ liệu phân tán. 3. Bố cục của luận văn Nội dung của luận văn gồm có: Phần mở đầu, ba chương chính, kết luận, mục lục và tài liệu tham khảo. Nội dung cơ bản của luận văn được trình bày như sau: Chương 1: Tổng quan về cơ sở dữ liệu phân tán và giao tác Chương này sẽ trình bày về cơ sở dữ liệu phân tán, giao tác, tìm hiểu các ràng buộc toàn vẹn trong hệ cơ sở dữ liệu phân tán, các tính chất, các thao tác và các trạng thái của giao tác.
  11. 3 Chương 2: Các thuật toán quản lý khóa trong cơ sở dữ liệu phân tán Chương này sẽ trình bày về kiểm tra lịch hợp lệ của giao tác, kiểm tra giao tác 2 pha, kiểm tra lịch khả tuần tự, lập lịch. Chương 3: Cài đặt chương trình và thử nghiệm. Chương này sẽ cài đặt thử nghiệm về quản lý khóa chốt dựa theo thuật toán đề xuất.
  12. 4 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. 1.1. 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
  13. 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.1.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
  14. 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.
  15. 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. 1.1.2. Đánh giá ưu, nhược điểm của CSDL phân tán: 1.1.2.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. 1.1.2.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.
  16. 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.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'. 1.1.4. 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.
  17. 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. 1.2. 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,…. Khi hoạt động đồng loạt cùng trả nợ như vậy thì dữ liệu chắc chắn phải cập nhật, khi nhiều người cùng trả nợ đến một đơn vị dữ liệu thì cách giải quyết đó là để cho anh A này làm xong rồi mới đến người khác làm. Mỗi người trả nợ như vậy nó dài và lâu, nó động đến nhiều cơ sở dữ liệu và nếu đợi như vậy thì đợi đến hết ngày cũng không xong được.
  18. 10 => Bài toán đặt ra chính là :  Không có tiến trình nào phải chờ lâu.  Sau khi thực hiện đan xen các tiến trình thì người ta có cảm giác như các tiến trình được thực hiện tuần tự xong anh này đến anh kia.  Có nghĩa là bài toán chỉ là phép trộn. Trộn các dãy thao tác làm sao cho nó hòa hợp là được, nó không gây ra sự cố. Từ phép trộn đó thì nó sinh ra 5 vấn đền cần giải quyết, 5 bài toán cần làm. 1.3. Phát biểu bài toán tổng hợp Xét CSDL có chứa các đơn vị dữ liệu tập trung A, B, C ... Thí dụ: A,B,C... là các mã tài khoản của khách hàng tương ứng, nghĩa là A là tài khoản của A, B là tài khoản của B, C là tài khoản của C... Hay hiểu một các chính xác : A là số dư của tài khoản A, B là số dư của tài khỏa B, C là số dư của tài khoản C, ...n là số dư của tài khoản n. Mã TK Số dư A 50 B 100 C 60 … … - CSDL tập trung của ngân hàng H khai thác phân tán tại nhiều tỉnh thành khác nhau trên cả nước như: Hà Nội, Hải Phòng, Bắc Ninh...Tại mỗi tỉnh lại có nhiều
  19. 11 chi nhánh cơ sở của ngân hàng. Cùng một thời điểm có thể có nhiều người rút tiền tại chi nhánh C từ một tài khoản. → Vấn đề đặt ra: Làm thế nào để đảm bảo tính nhất quán của dữ liệu.... - Thế nào là nhất quán dữ liệu: Tại mọi thời điểm, mọi bản sao của cùng một đơn vị dữ liệu phải chứa cùng một giá trị. Các nguyên nhân gây lỗi nhất quán: - Giao dịch chứa một đơn vị dữ liệu bị lỗi. - Dữ liệu chứa giá trị không hợp lệ. - Dữ liệu không phù hợp với các quy định được định nghĩa cho database. 1.4. Giao tác (Transaction) 1.4.1. Khái niệm Giao tác là một dãy các thao tác hay một chuỗi các hành động khác nhau cần thực hiện trên cơ sở dữ liệu, các hành động này có mối quan hệ mật thiết với nhau và được biểu dưới một đơn vị duy nhất.  Hoặc tất cả các thao tác được thực chiện  Hoặc không thực hiện thao tác nào cả. Thế nào là thao tác: Thao tác là thực hiện những hành động theo thứ tự trong giao tác. Thí dụ: Công ty AAA mở tài khoản tại Ngân hàng V với số tiền nạp vào bạn đầu là 500 triệu đồng. Một ngày đẹp trời, chị C là nhân viên phòng kết toán rút 20 triệu đồng để thưởng cho anh B vì thành tích xuất sắc trong tháng. Anh B cũng mở tài khoản ở ngân hàng V và chị C chuyển khoản thưởng này vào tài khoản của anh B ngân hàng V.
  20. 12 Việc thực hiện chuyển khoản từ chị C sang tài khoản của anh B thì hành động chuyển tiền được tách biệt thành hai hành động như sau:  Trừ 20 triệu đồng từ tài khoản tiền gửi của công ty AAA.  Cộng thêm 20 triệu đồng vào tài khoản của anh B.  Chú ý: Không phải hành động nào cũng diễn ra theo một chuỗi liên tiếp nhau cũng được gọi là giao tác. Thí dụ:  Khách hàng B chuyển 3 triệu từ tài khoản ngân hàng V sang tải khoản tiết kiệm của anh ta tại ngân hàng S.  Khách hàng B chuyển 5 triệu từ tài khoản ngân hàng V sang tài khoản đầu tư chứng khoán của anh ta ở ngân hàng AB.  Khách hàng B rút 2 triệu từ tài khoản V để đi nhậu với bạn bè. => Khi cả 3 hành động diễn ra gần nhau nhưng không phải là transaction vì các hành động diễn ra tách biệt. 1.4.2. Tính chất giao tác  Tính nguyên tố (Atomicity) - Đặc tính nguyên tử (atomicity hay còn được gọi ngắn hơn là atomic) quy định rằng tất các hành động của một transaction cần được thực hiện thành công hoặc ngược lại nếu có một hành động không được thực hiện thì sẽ không có bất cứ hành động nào khác được thực hiện thành công.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2