Giới thiệu hệ quản trị cơ sở dữ liệu

18 834 1
Giới thiệu hệ quản trị cơ sở dữ liệu

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giới thiệu hệ quản trị cơ sở dữ liệu

HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU CHƯƠNG I GIỚI THIỆU (Introduction) MỤC ĐÍCH Chương trình bày nhìn bao quát sở liệu (CSDL/DB), hệ quản trị sở liệu (HQTCSDL/DBMS) hệ sở liệu (HCSDL/DBS) Các đòi hỏi xây dựng HQTCSDL chức mà HCSDL cần phải có Một khái niệm quan trọng khái niệm giao dịch (Transaction) Các tính chất giao dịch phải có để đảm bảo HQTCSDL, xây dựng HCSDL tương ứng, suốt q trình hoạt động ln cho CSDL tin cậy (dữ liệu quán) Quản trị giao dịch nhằm đảm bảo giao dịch hệ thống có tính chất mà giao dịch phải có Một điều cần ý tính chất giao dịch, tính chất quán trước hết phải đảm bảo người lập trìnhngười viết giao dịch YÊU CẦU Hiểu khái niệm Hiểu vấn đề đặt xây dựng HQTCSDL: thiết kế CSDL, đảm bảo tính quán CSDL suốt sống nó, tảng phần cứng HQTCSDL xây dựng Hiểu cấu trúc hệ thống tổng thể Hiểu vai trò người sử dụng hệ thống MỘT SỐ KHÁI NIỆM • Một sở liệu (CSDL/ DB: DataBase) tập hợp tập tin có liên quan với nhau, thiết kế nhằm làm giảm thiểu lặp lại liệu • Một hệ quản trị sở liệu (HQTCSDL/ DBMS: DataBase Management System) hệ thống gồm CSDL thao tác CSDL đó, thiết kế tảng phần cứng, phần mềm với kiến trúc định • Một hệ sở liệu (HCSDL/ DBS: DataBase System) phần mềm cho phép xây dựng HQTCSDL CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ CƠ SỞ DỮ LIỆU Một số điểm bất lợi việc lưu giữ thơng tin có tổ chức hệ thống xử lý file thơng thường: • Dư thừa liệu tính khơng qn (Data redundancy and inconsistency): Do file trình ứng dụng tạo người lập trình khác nhau, nên file có định dạng khác nhau, chương trình viết ngơn ngữ lập trình khác nhau, thơng tin lưu giữ file khác Tính khơng thống dư thừa làm tăng chi phí truy xuất lưu trữ, nũa, dẫn đến tính khơng quán liệu: liệu khơng qn • Khó khăn việc truy xuất liệu: Môi trường hệ thống xử lý file thông thường không cung cấp công cụ cho phép truy xuất thông tin cách hiệu thuận lợi • Sự lập liệu (Data isolation): Các giá trị liệu lưu trữ sở liệu phải thoả mãn số ràng buộc tính quán liệu ( ràng buộc quán/consistency contraints ) Trong hệ thống xử lý file thơng thường, khó khăn việc thay đổi chương trình để thoả mãn yêu cầu thay đổi ràng buộc Vấn đề trở nên khó khăn ràng buộc liên quan đến hạng mục liệu nằm file khác • Các vấn đề tính ngun tử (Atomicity problems): Tính nguyên tử hoạt động (giao dịch) là: hồn tất trọn vẹn khơng có Điều có nghĩa hoạt động (giao dịch) làm thay đổi liệu bền vững hồn tất (kết thúc thành công) không, giao dịch không để lại dấu vết CSDL Trong hệ thống xử lý file thơng thường khó đảm bảo tính chất • Tính bất thường truy xuất cạnh tranh: Một hệ thống cho phép nhiều người sử dụng cập nhật liệu đồng thời, dẫn đến kết liệu khơng qn Điều địi hỏi giám sát Hệ thống xử lý file thông thường khơng cung cấp chức • Vấn đề an toàn (Security problems): người sử dụng hệ sở liệu khơng cần thiết khơng có quyền truy xuất tất liệu Vấn đề địi hỏi hệ thống phải đảm bảo tính phân quyền, chống truy xuất trái phép Các bất lợi nêu gợi mở phát triển DBMS Phần sau giáo trình đề cập đến quan niệm thuật toán sử dụng để phát triển hệ sở liệu nhằm giải vấn đề nêu Một số khái niệm CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU GĨC NHÌN DỮ LIỆU Tính hiệu hệ thống đòi hỏi phải thiết kế cấu trúc liệu phức tạp để biểu diễn liệu sở liệu Các nhà phát triển che dấu phức tạp thông qua mức trừu tượng nhằm đơn giản hóa trao đổi người sử dụng với hệ thống: • Mức vật lý ( Physical level ): Mức thấp trừu tượng, mô tả liệu lưu trữ Ở mức này, cấu trúc liệu mức thấp, phức tạp mơ tả chi tiết • Mức luận lý ( Logical level ): Mức kế cao trừu tượng, mơ tả liệu lưu trữ sở liệu mối quan hệ liệu Mức logic trừu tượng dùng người quản trị sở liệu • Mức view ( view level ): Mức cao trừu tượng, mô tả phần sở liệu toàn thể Một người sử dụng sở liệu liên quan đến phận sở liệu Như trao đổi họ với hệ thống làm đơn giản việc định nghĩa view Hệ thống cung cấp nhiều mức view sở liệu Mức view view view view n mức luận lý mức vật lý Figure • Thể sơ đồ (instances and schemas): Tập hợp thông tin lưu trữ sở liệu thời điểm gọi thể (instance) sở liệu Thiết kế tổng thể sở liệu gọi sơ đồ (schema) Một hệ sở liệu có vài sơ đồ, phân tương ứng với mức trừu tượng mức thấp sơ đồ vật lý (physical schema), mức trung gian sơ đồ luận lý (logical schema), mức cao sơ đồ (subschema) Nói chung hệ sở liệu hỗ trợ sơ đồ vật lý, sơ đồ luận lý vài sơ đồ • Khả sửa đổi định nghĩa mức không ảnh hưởng định nghĩa sơ đồ mức cao gọi độc lập liệu (data independence) Có hai mức độc lập liệu: - Độc lập liệu vật lý (Physical data independence) khả sửa đổi sơ đồ vật lý khơng làm cho chương trình ứng dụng phải viết lại Các sửa đổi mức vật lý cần thiết để cải thiện hiệu CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU - Độc lập liệu luận lý (Logical data independence) khả sửa đổi sơ đồ luận lý khơng làm cho chương trình ứng dụng phải viết lại Các sửa đổi mức luận lý cần thiết cấu trúc luận lý sở liệu bị thay MƠ HÌNH DỮ LIỆU Nằm cấu trúc sở liệu mô hình liệu: cơng cụ quan niệm để mô tả liệu, quan hệ liệu, ngữ nghĩa liệu ràng buộc quán Có ba nhóm mơ hình: Các mơ hình luận lý dựa đối tượng (Object-based logical models), mơ hình luận lý dựa mẩu tin (record-based logical models), mô hình vật lý (physical models) - Các mơ hình luận lý dựa đối tượng dùng mô tả liệu mức luận lý mức view Chúng đặc trưng việc chúng cung cấp khả cấu trúc linh hoạt cho phép ràng buộc liệu xác định cách tường minh Dưới vài mơ hình biết rộng rãi: Mơ hình thực thể - quan hệ (entity-relationship model), mơ hình hướng đối tượng ( object-oriented model ), mơ hình liệu ngữ nghĩa ( semantic data model ), mơ hình liệu hàm ( function data model ) - Các mơ hình luận lý dựa mẩu tin dùng để miêu tả liệu mức luận lý hay mức view Chúng dùng để xác định cấu trúc luận lý toàn thể sở liệu cung cấp mô tả mức cao việc thực Cơ sở liệu cấu trúc dạng mẩu tin định dạng cố định (fixed format record): mẩu tin xác định số cố định trường, mối trường thường có độ dài cố định Một vài mơ hình biết rộng rãi là: Mơ hình quan hệ, mơ hình mạng, mơ hình phân cấp - Mơ hình liệu vật lý dùng để mơ tả liệu mức thấp Hai mơ hình liệu vật lý biết rộng rãi mô hình hợp (unifying model) mơ hình khung-bộ nhớ ( frame-memory model ) NGÔN NGỮ CƠ SỞ DỮ LIỆU Một hệ sở liệu cung cấp hai kiểu ngôn ngữ khác nhau: để xác định sơ đồ sở liệu, để biểu diễn vấn tin sở liệu cập nhật - Ngôn ngữ định nghĩa liệu (Data Definition Language: DDL) cho phép định nghĩa sơ đồ sở liệu Kết biên dịch lệnh DDL tập hợp bảng lưu trữ file đặc biệt gọi tự điển liệu (data dictionary) hay thư mục liệu (data directory) Tự điển liệu file chứa metadata File tra cứu trước liệu hành đọc hay sửa đổi Cấu trúc lưu trữ phương pháp truy cập sử dụng hệ sở liệu xác định tập hợp định nghĩa kiểu đặc biệt DDL gọi ngôn ngữ định nghĩa lưu trữ liệu (data storage and definition language) Kết biên dịch định nghĩa tập hợp thị xác định thực chi tiết sơ đồ sở liệu (thường che dấu) - Ngôn ngữ thao tác liệu (Data manipulation language: DML) ngôn ngữ cho phép người sử dụng truy xuất thao tác liệu Có hai kiểu ngơn ngữ thao tác liệu: DML thủ tục (procedural DML) yêu cầu người sử dụng đặc tả liệu cần làm để nhận DML khơng thủ tục (Nonprocedural DML) yêu cầu người sử dụng đặc tả liệu cần không cần đặc tả làm để nhận Một vấn tin (query) lệnh yêu cầu tìm lại liệu (information CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU retrieval) Phần ngôn ngữ DML liên quan đến tìm lại thơng tin gọi ngơn ngữ vấn tin (query language) QUẢN TRỊ GIAO DỊCH Thông thường, số thao tác sở liệu tạo thành đơn vị logic công việc Ta xét ví dụ chuyển khoản, số tiền x chuyển từ tài khoản A ( A:=A-x ) sang tài khoản B ( B:=B+x ) Một yếu tố cần thiết hai thao tác xảy không hoạt động xảy Việc chuyển khoản phải xảy tính tồn thể khơng Địi hỏi tồn thể-hoặc-khơng gọi tính nguyên tử (atomicity) Một yếu tố cần thiết khác thực việc chuyển khoản bảo tồn tính quán sở liệu: giá trị tổng A + B phải bảo tồn Địi hỏi tính xác gọi tính quán (consistency) Cuối cùng, sau thực thành công hoạt động chuyển khoản, giá trị tài khoản A B phải bền vững cho dù có cố hệ thống Địi hỏi tính bền vững gọi tính lâu bền (durability) Một giao dịch tập hoạt động thực chức logic ứng dụng sở liệu Mỗi giao dịch đơn vị mang tính nguyên tử lẫn tính qn Như vậy, giao dịch phải khơng vi phạm ràng buộc quán nào: Nếu sở liệu quán giao dịch khởi động phải quán giao dịch kết thúc thành công Tuy nhiên, thực giao dịch, phải cho phép không quán tạm thời Sự không quán tạm thời cần thiết lại dẫn đến khó khăn xảy cố Trách nhiệm người lập trình xác định đắn giao dịch cho bảo tồn tính quán sở liệu Đảm bảo tính nguyên tử tính lâu bền trách nhiệm hệ sở liệu nói chung thành phần quản trị giao dịch ( transaction-management component ) nói riêng Nếu khơng có cố, tất giao dịch hồn tất thành cơng tính ngun tử hoàn thành dễ dàng Tuy nhiên, diện cố, giao dich khơng hồn tất thành cơng thực Nếu tính nguyên tử đảm bảo, giao dịch thất bại không gây hiệu đến trạng thái sở liệu Như vậy, sở liệu phải hồn lại trạng thái trước giao dịch bắt đầu Hệ sở liệu phải có trách nhiệm phát cố hệ thống trả lại sở liệu trạng thái trước xảy cố Khi số giao dịch cạnh tranh cập nhật sở liệu, tính qn liệu khơng bảo tồn, giao dịch xác Bộ quản trị điều khiển cạnh tranh (concurency-control manager) có trách nhiệm điều khiển trao đổi giao dịch cạnh tranh để đảm bảo tính thống CSDL QUẢN TRỊ LƯU TRỮ Các CSDL đòi hỏi khối lượng lớn khơng gian lưu trữ, lên đến nhiều terabytes ( terabyte=103 Gigabytes=106 Megabytes ) Các thông tin phải lưu trữ lưu trữ (đĩa) Dữ liệu di chuyển lưu trữ đĩa nhớ cần thiết Do việc di chuyển liệu từ lên đĩa tương đối chậm so với tốc độ đơn vị xử lý trung tâm, điều ép buộc hệ CSDL phải cấu trúc liệu cho tối ưu hóa nhu cầu di chuyển liệu đĩa nhớ CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Mục đích hệ CSDL làm đơn giản dễ dàng việc truy xuất liệu Người sử dụng hệ thống khơng cần quan tâm đến chi tiết vật lý thực thi hệ thống Phần lớn họ quan đến hiệu hệ thống (thời gian trả lời câu vấn tin ) Bộ quản trị lưu trữ ( storage manager ) module chương trình cung cấp giao diện liệu mức thấp lưu trữ CSDL với chương trình ứng dụng câu vấn tin đệ trình cho hệ thống Bộ quản trị lưu trữ có trách nhiệm trao đổi với quản trị file (file manager) Dữ liệu thô lưu trữ đĩa sử dụng hệ thống file (file system), hệ thống thường cung cấp hệ điều hành Bộ quản trị lưu trữ dịch câu lệnh DML thành lệnh hệ thống file mức thấp Như vậy, quản trị lưu trữ có nhiệm vụ lưu trữ, tìm lại cập nhật liệu CSDL NHÀ QUẢN TRỊ CƠ SỞ DỮ LIỆU Một lý việc sử dụng DBMS có điều khiển trung tâm cho liệu lẫn chương trình truy cập liệu Người điều khiển trung tâm toàn hệ thống gọi nhà quản trị sở liệu (DataBase Administrator - DBA) Các chức DBA sau: • Định nghĩa sơ đồ: DBA tạo sơ đồ CSDL gốc cách viết tập định nghĩa mà dịch trình biên dịch DDL thành tập bảng lưu trữ thường trực tự điển liệu • Định nghĩa cấu trúc lưu trữ phương pháp truy xuất: DBA tạo cấu trúc lưu trữ thích hợp phương pháp truy xuất cách viết tập hợp định nghĩa mà dịch trình biên dịch lưu trữ liệu ngôn ngữ định nghĩa liệu • Sửa đổi sơ đồ tổ chức vật lý • Cấp quyền truy xuất liệu: Việc cấp dạng quyền truy cập khác cho phép DBA điều hoà phần CSDL mà nhiều người truy xuất Thơng tin quyền lưu giữ cấu trúc hệ thống đặc biệt, tham khảo hệ CSDL có truy xuất liệu hệ thống • Đặc tả ràng buộc toàn vẹn ( integrity-contraint ): Các giá trị liệu lưu trữ CSDL phải thoả mãn số ràng buộc quán định Ví dụ số làm việc nhân viên tuần vượt giới hạn 80 chẳng hạn Một ràng buộc phải đặc tả cách tường minh DBA Các ràng buộc toàn vẹn lưu giữ cấu trúc hệ thống đặc biệt tham khảo hệ CSDL có cập nhật liệu NGƯỜI SỬ DỤNG CSDL Mục đích hệ CSDL cung cấp mơi trường để tìm lại thơng tin lưu thông tin CSDL Các người sử dụng sở liệu phân thành bốn nhóm tuỳ theo cách thức họ trao đổi với hệ thống • Các người lập trình ứng dụng: Là nhà chun mơn máy tính người trao đổi với hệ thống thơng qua lời gọi DML nhúng chương trình viết ngôn ngữ chủ - host language (Pascal, C, Cobol ) Các chương trình thường tham khảo chương trình ứng dụng Vì cú pháp DML thường khác với cú pháp ngôn ngữ chủ, lời gọi DML thường bắt đầu ký tự đặc biệt mã thích hợp sinh Một tiền xử lý đặc biệt, gọi tiền CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU biên dịch (precompiler) DML, chuyển lệnh DML thành lời gọi thủ tục chuẩn ngôn ngữ chủ Bộ biên dịch ngôn ngữ chủ sinh mã đối tượng thích hợp Có ngơn ngữ lập trình phối hợp cấu trúc điều khiển ngôn ngữ giống Pascal với cấu trúc điều khiển để thao tác đối tượng CSDL Các ngôn ngữ (đôi gọi ngôn ngữ hệ thứ tư) thường bao gồm đặc điểm đặc biệt để làm dễ dàng việc sinh dạng hiển thị liệu hình • Các người sử dụng thành thạo ( Sophisticated users ): Trao đổi với hệ thống không qua viết trình Thay vào họ đặt u cầu họ ngôn ngữ truy vấn CSDL ( Database query language ) Mỗi câu vấn tin đệ trình cho xử lý vấn tin, chức xử lý vấn tin "dịch" lệnh DML thành thị mà quản trị lưu trữ hiểu Các nhà phân tích đệ trình câu vấn tin thăm dò liệu sở liệu thuộc vào phạm trù • Các người sử dụng chuyên biệt ( Specialized users ): Là người sử dụng thành thạo, họ viết ứng dụng CSDL chuyên biệt không nằm khung xử lý liệu truyền thống Trong đó, phải kể đến hệ thống thiết kế trợ giúp máy tính (computer-aided design systems), Cơ sở tri thức (knowledge-base) hệ chuyên gia (expert systems), hệ thống lưu trữ liệu với kiểu liệu phức tạp (dữ liệu đồ họa, hình ảnh, âm thanh) hệ thống mơ hình mơi trường (environment-modeling systems) • Các người sử dụng ngây thơ ( Naive users ): người sử dụng không thành thạo, họ trao đổi với hệ thống cầu dẫn chương trình ứng dụng thường trực viết sẵn CẤU TRÚC HỆ THỐNG TỔNG THỂ Một hệ CSDL phân thành module, thực trách nhiệm hệ thống tổng thể Một số chức hệ CSDL cung cấp hệ điều hành Trong hầu hết trường hợp, hệ điều hành cung cấp dịch vụ sở nhất, hệ CSDL phải xây dựng sở Như vậy, thiết kế hệ CSDL phải xem xét đến giao diện hệ CSDL hệ điều hành Các thành phần chức hệ CSDL chia thành thành phần xử lý vấn tin (query processor components) thành phần quản trị lưu trữ (storage manager components ) Các thành phần xử lý vấn tin gồm: • Trình biên dịch DML ( DML compiler ): dịch lệnh DML ngôn ngữ vấn tin thành thị mức thấp mà engine định giá vấn tin ( query evaluation engine ) hiểu Hơn nữa, Trình biên dịch DML phải biến đổi yêu cầu người sử dụng thành đích tương đương dạng hiệu có nghĩa tìm chiến lược tốt để thực câu vấn tin • Trình tiền biên dịch DML nhúng ( Embedded DML Precompiler ): biến đổi lệnh DML nhúng chương trình ứng dụng thành lời gọi thủ tục chuẩn ngôn ngữ chủ Trình tiền biên dịch phải trao đổi với trình biên dịch DML để sinh mã thích hợp • Bộ thông dịch DDL ( DDL interpreter ): thông dịch lệnh DDL ghi chúng vào tập hợp bảng chứa metadata CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU • Engine định giá vấn tin ( Query evaluation engine ): Thực thị mức thấp sinh trình biên dịch DML Các thành phần quản trị lưu trữ cung cấp giao diện liệu mức thấp lưu trữ CSDL chương trình ứng dụng, vấn tin đệ trình cho hệ thống Các thành phần quản trị lưu trữ gồm: • Bộ quản trị quyền tính tồn vẹn ( Authorization and integrity manager ): kiểm tra thoả mãn ràng buộc toàn vẹn kiểm tra quyền truy xuất liệu người sử dụng • Bộ quản trị giao dịch ( Transaction manager ): Đảm bảo CSDL trì trạng thái quán cho dù hệ thống có cố đảm bảo thực giao dịch cạnh tranh tiến triển khơng xung đột • Bộ quản trị file ( File manager ): Quản trị cấp phát không gian lưu trữ đĩa cấu trúc liệu dùng để biểu diễn thông tin lưu trữ đĩa • Bộ quản trị đệm ( Buffer manager ): có trách nhiệm đem liệu từ lưu trữ đĩa vào nhớ định liệu trữ nhớ Hơn nữa, số cấu trúc liệu cần đến phận thực thi hệ thống vật lý: • Các file liệu: Lưu trữ CSDL • Tự điển liệu ( Data Dictionary ): lưu metadata cấu trúc CSDL • Chỉ mục ( Indices ): cung cấp truy xuất nhanh đến hạng mục liệu chứa giá trị tìm kiếm • Dữ liệu thống kê ( Statistical data ): lưu trữ thông tin thống kê liệu sở liệu Thông tin dùng xử lý vấn tin để chọn phương pháp hiệu thực câu vấn tin Sơ đồ thành phần nối kết chúng Naive users Application programmer Sophisticated users application application query interfaces programs Database administrator database scheme embedded DML application programs object code query DDL compiler interpreter Query processor precompiler DML evaluation engine CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU buffer authorization and manager manager integrity manager file manager storage manager transaction Figure KIẾN TRÚC HỆ CƠ SỞ DỮ LIỆU Kiến trúc hệ CSDL bị ảnh hưởng nhiều hệ thống máy Các sắc thái kiến trúc máy mạng, song song phân tán phản ánh kiến trúc hệ CSDL • Mạng máy tính cho phép thực số công việc hệ thống server, số công việc hệ thống client Việc phân chia công việc dẫn đến phát triển hệ CSDL client-server • Xử lý song song hệ thống máy tính làm tăng tốc độ hoạt động hệ CSDL, trả lời giao dịch nhanh Các vấn tin xử lý theo cách khai thác tính song song Sự cần thiết xử lý vấn tin song song dẫn tới phát triển hệ CSDL song song • Dữ liệu phân tán site phận quan cho phép liệu thường trú nơi chúng sinh truy xuất chúng từ site khác hay phận khác Việc lưu nhiều CSDL site khác cho phép tổ chức lớn tiếp tục hoạt động hay vài site bị cố Hệ CSDL phân tán phát triển để quản lý liệu phân tán, phương diện địa lý hay quản trị, trải rộng nhiều hệ CSDL HỆ THỐNG TẬP TRUNG Các hệ CSDL tập trung chạy máy đơn không trao đổi với máy khác Các hệ thống trải từ hệ CSDL người sử dụng chạy máy cá nhân (PC) đến hệ CSDL hiệu cao chạy hệ mainframe Một hệ máy tính mục đích chung đại gồm một vài CPU số điều khiển thiết bị nối với thông qua bus CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU chung, cho phép truy xuất đến nhớ chia sẻ CPU có nhớ cache cục lưu số phần nhớ nhằm tăng tốc độ truy xuất liệu Mỗi điều khiển thiết bị phụ trách kiểu thiết bị xác định Các CPU điều khiển thiết bị thực đồng thời, canh tranh truy cập nhớ Bộ nhớ cache giúp làm giảm tranh chấp truy xuất nhớ Ta phân biệt hai cách máy tính sử dụng: Hệ thống người dùng hệ thống nhiều người dùng Hệ CSDL thiết kế cho hệ thống người dùng không hỗ trợ điều khiển cạnh tranh, chức phục hồi thiếu chép dự phòng đơn giản HỆ THỐNG CLIENT-SERVER Các máy tính cá nhân ( PC ) ngày trở nên mạnh hơn, nhanh hơn, rẻ Có chuyển dịch hệ thống tập trung Các đầu cuối (terminal) nối với hệ thống tập trung chỗ máy tính cá nhân Chức giao diện người dùng (user interface) thường quản lý trực tiếp hệ thống tập trung quản lý máy tính cá nhân Như vậy, hệ thống tập trung ngày hoạt động hệ thống server làm thoả mãn địi hỏi client Chức CSDL chia thành hai phần: phần trước (front-end) phần sau (back-end) Phần sau quản trị truy xuất cấu trúc, định giá câu vấn tin tối ưu hoá, điều khiển xảy đồng thời phục hồi Phần trước hệ CSDL gồm công cụ như: tạo mẫu (form), soạn báo cáo (report writer), giao diện đồ hoạ người dùng (graphical user interface) Giao diện phần trước phần sau thông qua SQL chương trình ứng dụng Các hệ thống server phân thành phạm trù : server giao dịch (transaction server), server liệu (data server) Client Client Client Client Network Server Figure • Hệ thống server giao dịch (transaction-server systems): gọi hệ thống server vấn tin (query-server system), cung cấp giao diện mà client gửi đến yêu cầu thực hành động Để đáp ứng yêu cầu, hệ thống thực hành động gửi lại client kết Các người sử dụng đặc tả yêu cầu SQL giao diện trình ứng dụng sử dụng chế gọi thủ tục xa ( remote-procedure-call ) o Các servers giao dịch ( Transaction servers ): Trong hệ thống tập trung, phần trước (front-end) phần sau (back-end) thực hệ thống Kiến trúc server giao dịch cho phép chia chức phần trước phần sau Chức phần trước hỗ trợ máy tính cá nhân (PC) Các PC hành động khách hàng hệ thống server nơi lưu trữ khối lượng lớn liệu hỗ trợ chức phần sau Các clients gửi giao dịch đến hệ thống server giao dịch thực CHƯƠNG I GIỚI THIỆU Trang 10 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU kết gửi trả lại cho clients, người giữ trách nhiệm hiển thị liệu ODBC ( Open DataBase Connectivity ) phát triển để tạo giao diện clients servers ODBC giao diện trình ứng dụng cho phép clients sinh lệnh SQL gửi đến server lệnh thực Bất kỳ client sử dụng giao diện nối với server cung cấp giao diện Các giao diện client-server khác ODBC sử dụng số hệ thống xử lý giao dịch Chúng xác định giao diện lập trình ứng dụng, sử dụng clients tạo lời gọi thủ tục giao dịch từ xa ( transactional remote procedure calls ) server Các lời gọi giống lời gọi thủ tục gốc người lập trình tất lời gọi thủ tục từ xa client bao giao dịch server cuối Như giao dịch bỏ dở, server huỷ bỏ hiệu lời gọi thủ tục xa riêng lẻ • Hệ thống server liệu ( Data-server systems ): cho phép clients trao đổi với server cách tạo yêu cầu đọc cập nhật liệu đơn vị file trang Ví dụ, file-servers cung cấp giao diện với hệ thống file clients tạo, cập nhật, đọc xoá files Các servers liệu sở liệu cung cấp nhiều chức hơn; chúng hỗ trợ đơn vị liệu nhỏ file trang, ( tuple ) đối tượng Chúng cung cấp phương tiện dễ dàng để lấy mục (indexing) liệu, phương tiện dễ dàng để tạo giao dịch o Các server liệu (Data Servers): Các hệ thống server liệu sử dụng mạng cục bộ, có nối kết tốc độ cao máy clients máy server, máy clients có sức mạnh xử lý tương thích với máy server công việc phải thực tăng cường tính tốn Trong mơi trường vậy, gửi liệu đến máy client để thực tất xử lý máy clients sau gửi liệu trở lại đến máy server Kiến trúc địi hỏi tính back-end đầy đủ clients Kiến trúc server liệu thường gặp hệ CSDL hướng đối tượng (Object-Oriented DataBase Systems) Gửi trang đối lại với gửi hạng mục (Page shipping versus item shipping): Đơn vị liên lạc liệu "hạt thơ" (Coarse granularity) trang, hay hạt (fine granularity) (tuple)/ đối tượng (object) Ta dùng thuật ngữ hạng mục để hay đối tượng Nếu đơn vị liên lạc hạng mục dẫn đến tổng chi phí truyền thông điệp tăng Đem hạng mục (fetching item) trước yêu cầu, gọi đem trước (Prefetching) Gửi trang xem dạng đem trước trang chứa nhiều hạng mục Chốt (Locking): Các chốt thường cấp server hạng mục mà gửi cho máy clients Khi client giữ chốt hạng mục liệu, có quyền “sử dụng” hạng mục liệu này, khoảng thời gian client giữ chốt hạng mục liệu không client khác sử dụng hạng mục liệu Bất lợi gửi trang máy client cấp chốt "hạt q thơ" chốt trang ẩn chứa chốt tất hạng mục trang Các kỹ thuật nhằm tiết giảm chốt (lock deescalation) đề nghị, server yêu cầu clients truyền trả lại chốt CHƯƠNG I GIỚI THIỆU Trang 11 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU hạng mục cấp phát trước Nếu máy client không cần hạng mục cấp phát trước, truyền trả lại chốt hạng mục cho server chốt cấp phát cho clients khác Trữ liệu (Data caching): Dữ liệu gửi đến client với danh nghĩa giao dịch trữ client, giao dịch hồn tất, khơng gian lưu trữ có sẵn Các giao dịch liên tiếp client dùng liệu trữ Tuy nhiên, kết dính liệu vấn đề cần phải xem xét: giao dịch tìm thấy liệu trữ, phải chắn liệu "mới nhất" liệu cập nhật client khác sau chúng trữ Như vậy, phải trao đổi với server để kiểm tra tính hợp lệ liệu để giành chốt liệu Trữ chốt (Lock caching): Các chốt trữ lại máy client Nếu hạng mục liệu tìm thấy cache chốt yêu cầu cho truy xuất đến hạng mục liệu tìm thấy cache, việc truy xuất tiến hành không cần liên lạc với server Tuy nhiên, server phải lưu lại vết chốt trữ Nếu client đòi hỏi chốt từ server, server phải gọi lại tất chốt xung đột hạng mục liệu từ tất máy clients trữ chốt Phần trước SQL user-interface Form interface Report writer Graphical interface (front-end) interface(SQL&API) Phần sau SQL engine (Back-end) Figure CÁC HỆ SONG SONG (Parallel Systems): Các hệ song song cải tiến tốc độ xử lý tốc độ I/O cách sử dụng nhiều CPU nhiều đĩa song song Trong xử lý song song, nhiều hoạt động thực đồng thời Một máy song song "hạt thô" (coarse-grain) gồm số nhỏ xử lý mạnh Một máy song song đồ sộ (massively parallel) hay "hạt mịn" (fine-grain) sử dụng hàng ngàn xử lý nhỏ Có hai biện pháp để đánh giá hiệu hệ CSDL Thứ lực truyền qua (throughput): số công việc hồn tất khoảng thời gian cho Thứ hai thời gian đáp ứng (response time): lượng thời gian cần thiết để hoàn thành cơng việc từ lúc đệ trình Một hệ thống xử lý lượng lớn giao dịch nhỏ cải tiến lực truyền qua xử lý song song nhiều giao dịch Một hệ thống xử lý giao dịch lớn cải tiến thời gian đáp ứng lực truyền qua thực song song công việc (subtask) giao dịch • Tăng tốc độ tăng quy mô (Speedup & Scaleup): Tăng tốc độ ám việc chạy công việc cho thời gian ngắn cách tăng bậc song song Tăng quy mô ám việc quản lý công việc lớn cách tăng bậc song song Chúng ta xét ứng dụng CSDL chạy hệ thống song song với số processor số đĩa Giả sử, tăng kích cỡ hệ thống cách tăng số processor, đĩa, thành phần khác hệ thống Mục đích xử lý cơng việc thời gian tỷ lệ nghịch với số processor đĩa cấp phát CHƯƠNG I GIỚI THIỆU Trang 12 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Giả sử, thời gian thực cơng việc máy tính lớn TL, thời gian thực công việc máy tính nhỏ TS Tăng tốc độ nhờ song song định nghĩa tỷ số TS/TL, hệ thống song song gọi tăng tốc độ tuyến tính tốc độ tăng N hệ thống lớn có N lần tài nguyên (CPU, đĩa ) lớn hệ thống nhỏ Nếu tốc độ tăng nhỏ N, hệ thống gọi tăng tốc độ hạ tuyến tính (sublinear) Tăng quy mơ liên quan đến khả xử lý công việc lớn trong lượng thời gian cách cung cấp thêm tài nguyên Giả sử, Q công việc, QN công việc N lần lớn Q Giả sử thời gian thực công việc Q máy MS TS thời gian thực công việc QN máy song song ML, N lần lớn MS, TL Tăng quy mô định nghĩa TS/TL Hệ song song ML gọi tăng quy mơ tuyến tính cơng việc Q TS = TL Nếu TL > TS, hệ thống gọi tăng quy mơ hạ tuyến tính Tăng quy mô độ đo (metric) quan trọng đo lường hiệu hệ CSDL song song Đích song song hệ CSDL đảm bảo hệ CSDL tiếp tục thực tốc độ chấp nhận được, kích cỡ CSDL số giao dịch tăng lên Tăng khả hệ thống cách tăng song song cung cấp đường thuận tiện cho phát triển thay hệ tập trung máy nhanh Một số nhân tố ảnh hưởng xấu đến tính hiệu hoạt động song song làm giảm tăng tốc độ tăng quy mơ là: • o Chi phí khởi động ( Startup Costs ): Có chi phí khởi động kết hợp với khởi động xử lý Trong hoạt động song song gồm hàng ngàn xử lý, thời gian khởi động (Startup time) làm lu mờ thời gian xử lý tại, ảnh hưởng bất lợi tới tăng tốc độ o Sự giao thoa ( Interference ): Các xử lý thực hệ song song thường truy nhập đến tài nguyên chia sẻ, giao thoa xử lý cạnh tranh với xử lý tồn tài nguyên bị chiếm bus hệ thống, đĩa chia sẻ, chí đồng hồ Hiện tượng ảnh hướng đến tăng tốc độ lẫn tăng quy mô o Sự lệch ( Skew ): Bằng cách chia công việc thành bước song song, ta làm giảm kích cỡ bước trung bình Tuy nhiên, thời gian phục vụ cho bước chậm xác định thời gian phục vụ cho toàn cơng việc Thường khó chia cơng việc thành phần kích cỡ, cách mà kích cỡ phân phối bị lệch Ví dụ: cơng việc có kích cỡ 100 chia thành 10 phần phân chia bị lệch, có số phần có kích cỡ nhỏ 10 số nhiệm vụ có kích cỡ lớn 10, giả sử có phần kích cỡ 20, độ tăng tốc nhận chạy cơng việc song song 5, thay 10 Các mạng hợp (Interconnection Network): Các hệ thống song song gồm tập hợp thành phần ( Processors, memory đĩa ) liên lạc với thơng qua mạng hợp Các ví dụ mạng hợp là: o Bus: Toàn thành phần hệ thống gửi nhận liệu qua bus liên lạc Các kiến trúc bus làm việc tốt với số nhỏ processor Tuy nhiên, chúng khơng có quy mơ tăng song song bus điều khiển liên lạc từ thành phần thời điểm P P P P P M bus M CHƯƠNG I GIỚI THIỆU Trang 13 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Figure o Lưới ( Mesh): Các thành phần xếp nút lưới, thành phần nối với tất thành phần kề với lưới Trong lưới hai chiều nút nối với nút kề P P P P P P P P Siêu lập phương chiều P P 10 11 00 01 P P P P Siêu lập phương hai chiều P P P P P P P P P P P P mạng hợp hình lưới o • P 100 000 P 101 110 001 P 111 P 011 010 Siêu lập phương ba chiều Figure Siêu lập phương ( Hypercube ): Các thành phần đánh số theo nhị phân, thành phần nối với thành phần khác biểu diễn nhị nhân số chúng sai khác bit Như vậy, thành phần n thành phần nối với log(n) thành phần khác Có thể kiểm nghiệm hợp siêu lập phương thông điệp từ thành phần đến thành phần khác nhiều log(n) nối kết, lưới n −1 Các kiến trúc sở liệu song song: Có vài mơ hình kiến trúc cho máy song song: ( Ký hiệu: o P = processor, M = Memory, = đĩa ) Bộ nhớ chia sẻ ( Shared memory ): Tất cảc processor chia sẻ nhớ chung Trong mơ hình processor đĩa truy xuất nhớ chung, thường thông qua bus mạng hợp Thuận lợi chia sẻ nhớ liên lạc processor hiệu quả: liệu nhớ chia sẻ truy xuất processor mà di chuyển phần mềm Một processor gửi thơng điệp cho processor khác cách viết vào nhớ chia sẻ, cách liên lạc nhanh nhiều so với liên lạc khác Tuy nhiên, máy nhớ chia sẻ hỗ trợ nhiều 64 processor nhiều hơn, bus mạng hợp trở nên dễ bị nghẽn ( bottle-neck ) Kiến trúc nhớ chia sẻ thường có cache lớn cho processor, việc tham khảo nhớ chia sẻ tránh CHƯƠNG I GIỚI THIỆU Trang 14 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU P P P P M Figure o Đĩa chia sẻ ( Shared disk ): Tất processor chia sẻ đĩa chung Mơ hình cịn gọi cụm (cluster) Trong mơ hình tất processor truy xuất trực tiếp đến tất đĩa thơng qua mạng hợp nhất, processor có nhớ riêng M M M M P P P P Figure Kiến trúc có điểm thuận lợi là: thứ nhất, bus nhớ không bị bottle-neck, thứ hai, cho phương pháp rẻ để cung cấp mức độ lượng thứ lỗi processor bị hỏng hóc, processor khác tiếp tục cơng việc Ta tạo hệ thống đĩa tự lượng thứ lỗi cách sử dụng kiến trúc RAID (được trình bày sau này) Vấn đề chia sẻ đĩa hợp hệ thống đĩa trở nên bottle-neck, đặc biệt tình CSDL truy xuất đĩa nhiều So sánh với nhớ chia sẻ, chia sẻ đĩa hỗ trợ số lượng processor lớn hơn, việc liên lạc processor chậm o Không chia sẻ ( Shared nothing ): Các processor không chia sẻ nhớ chung, không chia sẻ đĩa chung Trong hệ thống nút máy có processor, nhớ vài đĩa M M M P P P P P P M M M Figure CHƯƠNG I GIỚI THIỆU Trang 15 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Các processor nút liên lạc với processor khác qua mạng hợp tốc độ cao Chức nút, server, liệu chứa đĩa Mơ hình khơng chia sẻ có vấn đề việc truy xuất đĩa không cục việc truyền quan hệ kết qua mạng Hơn nữa, hệ thống khơng chia sẻ gì, mạng hợp thường thiết kế để tăng quy mô, cho khả truyền chúng tăng nút thêm vào o Phân cấp ( hierarchical ): Mơ hình lai kiểu kiến trúc trước M M M P P P P P P P P P P P P P P P Figure 10 Kiến trúc tổ hợp đặc trưng kiến trúc chia sẻ nhớ, chia sẻ đĩa không chia sẻ Ở mức cao nhất, hệ thống bao gồm nút nối mạng hợp không chia sẻ đĩa nhớ với nút khác Như vậy, mức cao kiến trúc không chia sẻ Mỗi nút hệ thống hệ thống chia sẻ nhớ với vài processor Kế tiếp, nút hệ thống chia sẻ đĩa Mỗi hệ thống chia sẻ đĩa lại hệ thống chia sẻ nhớ Như vậy, hệ thống xây dựng phân cấp CÁC HỆ THỐNG PHÂN TÁN (Distributed Systems): Trong hệ thống CSDL phân tán, CSDL lưu trữ vài máy tính Các máy tính hệ thống phân tán liên lạc với máy khác qua nhiều dạng phương tiện liên lạc khác nhau: mạng tốc độ cao, đường điện thoại Chúng không chia sẻ nhớ đĩa Các máy tính hệ thống phân tán đa dạng kích cỡ chức năng: từ workstation đến mainframe Các máy tính hệ thống phân tán tham chiếu số tên khác nhau: site , node phụ thuộc vào ngữ cảnh mà máy đề cập Ta sử dụng thuật ngữ site để nhấn mạnh phân tán vật lý hệ thống Site A Site C mạng CHƯƠNG I GIỚI THIỆU Liên lạc thông qua mạng Trang Site B 16 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Figure 11 Sự sai khác CSDL song song khơng chia sẻ hệ thống phân tán CSDL phân tán tách biệt mặt địa lý, quản trị tách biệt có hợp chậm Hơn nữa, hệ thống phân tán người ta phân biệt giao dịch cục (local) toàn thể (global) Giao dịch cục giao dịch truy xuất liệu site giao dịch khởi xướng Giao dịch tồn thể giao dịch mà truy xuất liệu site từ site khác khởi xướng truy xuất liệu vài site khác BÀI TẬP CHƯƠNG I I.1 Bốn điểm khác hệ thống xử lý file hệ quản trị CSDL ? I.2 Giải thích khác độc lập liệu vật lý độc lập liệu logic I.3 Liệt kê năm nhiệm vụ nhà quản trị CSDL Đối với nhiệm vụ, giải tích rõ vấn đề nảy sinh nhiệm vụ khơng hồn thành I.4 Năm chức nhà quản trị CSDL ? I.5 Sử dụng mảng hai chiều kích cỡ n x m ví dụ để minh hoạ khác nhau: ba mức trừu tượng liệu sơ đồ thể I.6 Trong hệ thống client-server tiêu biểu, máy server thường mạnh máy client nhiều: Có xử lý nhanh chí có nhiều xử lý, có nhớ lớn hơn, có dung lượng đĩa lớn Ta xét kịch máy client máy server mạnh CHƯƠNG I GIỚI THIỆU Trang 17 HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU Xây dựng hệ thống client-server theo kịch có ưu nhược điểm ? Kịch phù hợp với kiến trúc server liệu ? I.7 Giả sử giao dịch viết C với SQL nhúng, khoảng 80% thời gian dùng cho code SQL, 20% lại cho code C Nếu song song dùng cho code SQL, Tăng tốc độ đạt tới ? Giải thích I.8 Những nhân tố chống lại việc tăng quy mơ tuyến tính hệ thống xử lý giao dịch ? Nhân tố quan trọng kiến trúc sau: nhớ chia sẻ, đĩa chia sẻ, khơng chia sẻ ? I.9 Xét mạng dựa đường điện thoại quay số tự động, site liên lạc theo định kỳ, ví dụ hàng đêm Các mạng thường cấu hình với site server nhiều site client Các site client nói với server trao đổi liệu với client khác lưu liệu server lấy liệu lưu server client khác Ưu, nhược điểm kiến trúc ? CHƯƠNG I GIỚI THIỆU Trang 18 ... phát triển hệ sở liệu nhằm giải vấn đề nêu Một số khái niệm CHƯƠNG I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU GĨC NHÌN DỮ LIỆU Tính hiệu hệ thống đòi hỏi phải thiết kế cấu trúc liệu phức tạp... I GIỚI THIỆU Trang HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU buffer authorization and manager manager integrity manager file manager storage manager transaction Figure KIẾN TRÚC HỆ CƠ SỞ DỮ LIỆU Kiến trúc hệ. ..HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU HỆ CƠ SỞ DỮ LIỆU Một số điểm bất lợi việc lưu giữ thơng tin có tổ chức hệ thống xử lý file thơng thường: • Dư thừa liệu tính khơng qn (Data

Ngày đăng: 14/09/2012, 11:41

Hình ảnh liên quan

• Các kiến trúc cơ sở dữ liệu song song: Có một vài mô hình kiến trúc cho các máy song song:  - Giới thiệu hệ quản trị cơ sở dữ liệu

c.

kiến trúc cơ sở dữ liệu song song: Có một vài mô hình kiến trúc cho các máy song song: Xem tại trang 14 của tài liệu.
o Đĩa chia sẻ ( Shared disk ): Tất cả các processor chia sẻ đĩa chung. Mô hình này còn được gọi là cụm (cluster) - Giới thiệu hệ quản trị cơ sở dữ liệu

o.

Đĩa chia sẻ ( Shared disk ): Tất cả các processor chia sẻ đĩa chung. Mô hình này còn được gọi là cụm (cluster) Xem tại trang 15 của tài liệu.
o Phân cấp ( hierarchical ): Mô hình này làm ột sự lai kiểu của các kiến trúc trước. - Giới thiệu hệ quản trị cơ sở dữ liệu

o.

Phân cấp ( hierarchical ): Mô hình này làm ột sự lai kiểu của các kiến trúc trước Xem tại trang 16 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan