CẤU TRÚC LƯU TRỮ
Số trang: 14
Loại file: pdf
Dung lượng: 299.93 KB
Lượt xem: 23
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
CẤU TRÚC LƯU TRỮ1.1.CÁC LOẠI SEGMENTSSegments là các vùng không gian của các objects (đối tượng) trong database. Dưới đây, ta sẽ xem xét một số loại segments cụ thể.1.1.1. TableTable (bảng), là nơi lưu giữ dữ liệu trong database. Dữ liệu trong một table được lưu giữ không theo một thứ tự bắt buộc. Các dữ liệu trong một table thuộc loại nonpartitioned (không phân khu) sẽ phải lưu giữ trong cùng một tablespace.Hình vẽ 1. Các loại segments1.1.2. Table partitionCó thể có một số table trong database có số lượng truy cập lớn và đồng thời. Khi đó,...
Nội dung trích xuất từ tài liệu:
CẤU TRÚC LƯU TRỮCẤU TRÚC LƯU TRỮ1.1.CÁC LOẠI SEGMENTSSegments là các vùng không gian của các objects (đối tượng) trong database. Dưới đây,ta sẽ xem xét một số loại segments cụ thể.1.1.1. TableTable (bảng), là nơi lưu giữ dữ liệu trong database. Dữ liệu trong một table được lưu giữkhông theo một thứ tự bắt buộc. Các dữ liệu trong một table thuộc loại nonpartitioned(không phân khu) sẽ phải lưu giữ trong cùng một tablespace. Hình vẽ 1. Các loại segments1.1.2. Table partitionCó thể có một số table trong database có số lượng truy cập lớn và đồng thời. Khi đó, dữliệu trong table đó sẽ được lưu thành nhiều partition (phân khu), mỗi partition có thểnằm trên các tablespace khác nhau. Oracle server hỗ trợ việc phân chia này bằng cácgiá trị khoá. Khi một table được phân khu, mỗi partition đó được xem như một segment.1.1.3. ClusterCác dòng dữ liệu trong một cluster được lưu trữ theo các giá trị của trường khoá (keycolumn). Một cluster có thể chứa một hay nhiều tables và nó được xem là một kiểuđoạn dữ liệu (type of data segment). Các tables trong một cluster thuộc về cùng mộtđoạn và có chung các tính chất lưu trữ.1.1.4. IndexTất cả các đầu mục (entries) ứng với một index cụ thể được lưu trữ trong một indexsegment. Một table có tới bao nhiêu indexes, thì sẽ có bấy nhiêu index segments đượcsử dụng. Mục đích của segment này là tìm kiếm và định vị các dòng dữ liệu trong mộttable dựa trên một khoá được chỉ ra.1.1.5. Index-Organized TableTrong một index-organized table, các dữ liệu trong một index được lưu trữ dựa vào giátrị khoá. Một index-organized table không cần thiết đến một table dùng để tìm kiếm(lookup), các dữ liệu có thể được trả về ngay trực tiếp từ cây index (index tree). Hình vẽ 2. Các loại segments (tiếp theo)1.1.6. Index PartitionMột index có thể được partitioned (phân khu) và trải rộng trên nhiều tablespaces khácnhau. Khi đó, mỗi partition của một index sẽ tương ứng với segment (đoạn) và khôngđược phép nằm dài trên nhiều tablespaces. Mục đích chính của việc sử dụng indexpartition là để giảm thiểu những tranh chấp vào ra I/O.1.1.7. Rollback SegmentRollback segment được sử dụng trong transaction (giao dịch) để tạo các thay đổi trongdatabase. Trước khi thay đổi các dữ liệu hay các index blocks, các giá trị cũ sẽ được lưugiữ vào rollback segment. Việc làm này cho phép user có thể phục hồi lại các thay đổi.1.1.8. Temporary SegmentKhi một user thực hiện các lênh như CREATE INDEX, SELECT DISTINCT, và SELECTGROUP BY, Oracle sẽ cố gắng thực hiện công việc sắp xếp ngay trong bộ nhớ. Khi côngviệc sắp xếp cần đến nhiều không gian hơn, các kết quả này sẽ được ghi trực tiếp lênđĩa. Temporary segments sẽ được dùng đến trong trường hợp này.1.1.9. LOB SegmentKhi một hay nhiều cột trong table lưu giữ các đối tượng lớn (large objects - LOBs) nhưcác văn bản tài liệu, hình ảnh, hay videos. Các cột chứa dữ liệu lớn này sẽ được Oracleserver lưu giữ trong các segments riêng được biết đến như là LOB segments. Table sẽchỉ lưu giữ các giá trị dùng để định vị, xác định nơi lưu giữ các dữ liệu LOB tương ứng.1.1.10. LOB IndexMột LOB index segment được tạo ngầm định mỗi khi LOB segment được tạo lập. Cáctính chất lưu giữ của LOB index có thể được quy định bởi quản trị viên database. Mụcđích của việc sử dụng LOB index segment là cho phép tìm kiếm các giá trị cụ thể trongcột dữ liệu loại LOB. Hình vẽ 3. Các loại segments (tiếp theo)1.1.11. Nested TableCột dữ liệu trong table có thể được tạo lập từ một user-defined table (bảng do ngườidùng định nghĩa). Trong trường hợp này, bảng dữ liệu tương ứng với phần tử thuộc cộtdữ liệu (inner table), được biết đến như một nested table và được lưu giữ trong mộtsegment riêng biệt.1.1.12. Bootstrap SegmentBootstrap segment, được biết đến như một cache segment, được tạo bởi file scriptsql.bsq sau mỗi khi database được tạo. Segment giúp cho việc khởi tạo data dictionarycache mỗi khi database được mở bởi một instance. Dữ liệu trong bootstrap segmentkhông thể xem hay sửa chữa, cập nhật được. Quản trị database cũng không cần thiếtphải quan tâm tới segment này.1.2.QUẢN LÝ EXTENTS1.2.1. Cấp phát và thu hồi các extentsViệc cấp phát các extent xảy ra mỗi khi segment được tạo mới, được mở rộng hay bịthay đổi (altered).Và nó sẽ bị thu hồi khi segment bị huỷ, bị thay đổi, bị cắt bớt (truncated). Riêng đối vớicác rollback segments, các extent có thể bị tự động thu hồi.1.2.2. Sử dụng và giải phóng các extentKhi một tablespace được tạo, các data files thuộc tablespace sẽ chứa các phần thông tinsau: Header block, tương ứng với block đầu tiên của file Phần còn lại của data file là các phần còn trống Hình vẽ 4. Sử dụng và giải phóng các extentsMỗi khi segments được tạo lập, nó sẽ được cấp phát một vùng không thích hợp từnhững extents còn trống trong tablespa ...
Nội dung trích xuất từ tài liệu:
CẤU TRÚC LƯU TRỮCẤU TRÚC LƯU TRỮ1.1.CÁC LOẠI SEGMENTSSegments là các vùng không gian của các objects (đối tượng) trong database. Dưới đây,ta sẽ xem xét một số loại segments cụ thể.1.1.1. TableTable (bảng), là nơi lưu giữ dữ liệu trong database. Dữ liệu trong một table được lưu giữkhông theo một thứ tự bắt buộc. Các dữ liệu trong một table thuộc loại nonpartitioned(không phân khu) sẽ phải lưu giữ trong cùng một tablespace. Hình vẽ 1. Các loại segments1.1.2. Table partitionCó thể có một số table trong database có số lượng truy cập lớn và đồng thời. Khi đó, dữliệu trong table đó sẽ được lưu thành nhiều partition (phân khu), mỗi partition có thểnằm trên các tablespace khác nhau. Oracle server hỗ trợ việc phân chia này bằng cácgiá trị khoá. Khi một table được phân khu, mỗi partition đó được xem như một segment.1.1.3. ClusterCác dòng dữ liệu trong một cluster được lưu trữ theo các giá trị của trường khoá (keycolumn). Một cluster có thể chứa một hay nhiều tables và nó được xem là một kiểuđoạn dữ liệu (type of data segment). Các tables trong một cluster thuộc về cùng mộtđoạn và có chung các tính chất lưu trữ.1.1.4. IndexTất cả các đầu mục (entries) ứng với một index cụ thể được lưu trữ trong một indexsegment. Một table có tới bao nhiêu indexes, thì sẽ có bấy nhiêu index segments đượcsử dụng. Mục đích của segment này là tìm kiếm và định vị các dòng dữ liệu trong mộttable dựa trên một khoá được chỉ ra.1.1.5. Index-Organized TableTrong một index-organized table, các dữ liệu trong một index được lưu trữ dựa vào giátrị khoá. Một index-organized table không cần thiết đến một table dùng để tìm kiếm(lookup), các dữ liệu có thể được trả về ngay trực tiếp từ cây index (index tree). Hình vẽ 2. Các loại segments (tiếp theo)1.1.6. Index PartitionMột index có thể được partitioned (phân khu) và trải rộng trên nhiều tablespaces khácnhau. Khi đó, mỗi partition của một index sẽ tương ứng với segment (đoạn) và khôngđược phép nằm dài trên nhiều tablespaces. Mục đích chính của việc sử dụng indexpartition là để giảm thiểu những tranh chấp vào ra I/O.1.1.7. Rollback SegmentRollback segment được sử dụng trong transaction (giao dịch) để tạo các thay đổi trongdatabase. Trước khi thay đổi các dữ liệu hay các index blocks, các giá trị cũ sẽ được lưugiữ vào rollback segment. Việc làm này cho phép user có thể phục hồi lại các thay đổi.1.1.8. Temporary SegmentKhi một user thực hiện các lênh như CREATE INDEX, SELECT DISTINCT, và SELECTGROUP BY, Oracle sẽ cố gắng thực hiện công việc sắp xếp ngay trong bộ nhớ. Khi côngviệc sắp xếp cần đến nhiều không gian hơn, các kết quả này sẽ được ghi trực tiếp lênđĩa. Temporary segments sẽ được dùng đến trong trường hợp này.1.1.9. LOB SegmentKhi một hay nhiều cột trong table lưu giữ các đối tượng lớn (large objects - LOBs) nhưcác văn bản tài liệu, hình ảnh, hay videos. Các cột chứa dữ liệu lớn này sẽ được Oracleserver lưu giữ trong các segments riêng được biết đến như là LOB segments. Table sẽchỉ lưu giữ các giá trị dùng để định vị, xác định nơi lưu giữ các dữ liệu LOB tương ứng.1.1.10. LOB IndexMột LOB index segment được tạo ngầm định mỗi khi LOB segment được tạo lập. Cáctính chất lưu giữ của LOB index có thể được quy định bởi quản trị viên database. Mụcđích của việc sử dụng LOB index segment là cho phép tìm kiếm các giá trị cụ thể trongcột dữ liệu loại LOB. Hình vẽ 3. Các loại segments (tiếp theo)1.1.11. Nested TableCột dữ liệu trong table có thể được tạo lập từ một user-defined table (bảng do ngườidùng định nghĩa). Trong trường hợp này, bảng dữ liệu tương ứng với phần tử thuộc cộtdữ liệu (inner table), được biết đến như một nested table và được lưu giữ trong mộtsegment riêng biệt.1.1.12. Bootstrap SegmentBootstrap segment, được biết đến như một cache segment, được tạo bởi file scriptsql.bsq sau mỗi khi database được tạo. Segment giúp cho việc khởi tạo data dictionarycache mỗi khi database được mở bởi một instance. Dữ liệu trong bootstrap segmentkhông thể xem hay sửa chữa, cập nhật được. Quản trị database cũng không cần thiếtphải quan tâm tới segment này.1.2.QUẢN LÝ EXTENTS1.2.1. Cấp phát và thu hồi các extentsViệc cấp phát các extent xảy ra mỗi khi segment được tạo mới, được mở rộng hay bịthay đổi (altered).Và nó sẽ bị thu hồi khi segment bị huỷ, bị thay đổi, bị cắt bớt (truncated). Riêng đối vớicác rollback segments, các extent có thể bị tự động thu hồi.1.2.2. Sử dụng và giải phóng các extentKhi một tablespace được tạo, các data files thuộc tablespace sẽ chứa các phần thông tinsau: Header block, tương ứng với block đầu tiên của file Phần còn lại của data file là các phần còn trống Hình vẽ 4. Sử dụng và giải phóng các extentsMỗi khi segments được tạo lập, nó sẽ được cấp phát một vùng không thích hợp từnhững extents còn trống trong tablespa ...
Tìm kiếm theo từ khóa liên quan:
cấu trúc lưu trữ cơ sở dữ liệu segments database vùng không gian lưu trữ dữ liệuGợi ý tài liệu liên quan:
-
62 trang 401 3 0
-
Đề thi kết thúc học phần học kì 2 môn Cơ sở dữ liệu năm 2019-2020 có đáp án - Trường ĐH Đồng Tháp
5 trang 376 6 0 -
13 trang 289 0 0
-
Giáo trình Cơ sở dữ liệu: Phần 2 - TS. Nguyễn Hoàng Sơn
158 trang 289 0 0 -
Phân tích thiết kế hệ thống - Biểu đồ trạng thái
20 trang 283 0 0 -
Tài liệu học tập Tin học văn phòng: Phần 2 - Vũ Thu Uyên
85 trang 254 1 0 -
Đề cương chi tiết học phần Quản trị cơ sở dữ liệu (Database Management Systems - DBMS)
14 trang 243 0 0 -
8 trang 186 0 0
-
Giáo trình về dữ liệu và các mô hình cơ sở dữ liệu
62 trang 181 0 0 -
Giáo trình Cơ sở dữ liệu: Phần 2 - Đại học Kinh tế TP. HCM
115 trang 175 0 0