DB2 - Trang đệm

Chương này giới thiệu với bạn về Bufferpools trong cơ sở dữ liệu.

Giới thiệu

Vùng đệm là một phần của không gian bộ nhớ chính được cấp phát bởi trình quản lý cơ sở dữ liệu. Mục đích của bufferpools là lưu dữ liệu bảng và lập chỉ mục từ đĩa vào bộ đệm. Tất cả các cơ sở dữ liệu đều có vùng đệm riêng. Một vùng đệm mặc định được tạo tại thời điểm tạo cơ sở dữ liệu mới. Nó được gọi là “IBMDEFAULTBP”. Tùy theo yêu cầu của người dùng, có thể tạo một số vùng đệm. Trong vùng đệm, trình quản lý cơ sở dữ liệu đặt dữ liệu hàng của bảng dưới dạng một trang. Trang này vẫn ở trong vùng đệm cho đến khi cơ sở dữ liệu tắt hoặc cho đến khi không gian được ghi bằng dữ liệu mới. Các trang trong vùng đệm, được cập nhật dữ liệu nhưng không được ghi vào đĩa, được gọi là trang "Dirty". Sau khi các trang dữ liệu được cập nhật trong vùng đệm được ghi trên đĩa, vùng đệm sẵn sàng lấy dữ liệu khác.

Mối quan hệ giữa không gian bảng và vùng đệm

Mỗi vùng bảng được liên kết với một vùng đệm cụ thể trong cơ sở dữ liệu. Một vùng bảng được liên kết với một vùng đệm. Kích thước của vùng đệm và vùng bảng phải giống nhau. Nhiều vùng đệm cho phép bạn định cấu hình bộ nhớ được cơ sở dữ liệu sử dụng để tăng hiệu suất tổng thể của nó.

Kích thước vùng đệm

Kích thước của trang vùng đệm được đặt khi bạn sử dụng lệnh “TẠO CƠ SỞ DỮ LIỆU”. Nếu bạn không chỉ định kích thước trang, nó sẽ có kích thước trang mặc định là 4KB. Sau khi vùng đệm được tạo, không thể sửa đổi kích thước trang sau này

Liệt kê các vùng đệm có sẵn trong thư mục cơ sở dữ liệu hiện tại

Syntax: [Cú pháp bên dưới hiển thị tất cả các vùng đệm có sẵn trong cơ sở dữ liệu]

db2 select * from syscat.bufferpools

Example: [Để xem các vùng đệm có sẵn trong cơ sở dữ liệu hiện tại]

db2 select * from syscat.bufferpools

Output:

BPNAME      BUFFERPOOLID DBPGNAME   NPAGES      PAGESIZE    ESTORE 
NUMBLOCKPAGES BLOCKSIZE   NGNAME
------------------------------------------------------------ 
IBMDEFAULTBP                                                                                                                
 1 -                                                                                                  
 -2        4096 N                  0           0 -     
 
 1 record(s) selected.

Tạo vùng đệm

Để tạo một vùng đệm mới cho máy chủ cơ sở dữ liệu, bạn cần hai tham số là “tên vùng đệm” và “kích thước của trang”. Truy vấn sau được thực hiện để tạo một vùng đệm mới.

Cú pháp: [Trong cú pháp bên dưới, 'bp_name' cho biết tên vùng đệm và 'kích thước' cho biết kích thước trang bạn cần khai báo cho vùng đệm (4K, 8K, 16K, 32K)]

db2 create bufferpool <bp_name> pagesize <size>

Example: [Để tạo một vùng đệm mới với tên “bpnew” và kích thước “8192” (8Kb).]

db2 create bufferpool bpnew pagesize 8192

Output

DB20000I The SQL command completed successfully.

Bỏ bộ đệm

Trước khi thả vùng đệm, cần phải kiểm tra xem có bất kỳ vùng bảng nào được gán cho nó hay không.

Syntax: [Để bỏ vùng đệm]

drop bufferpool <bp_name>

Example: [Để thả 'bpnew' có tên vùng đệm]

db2 drop bufferpool bpnew

Output

DB20000I The SQL command completed successfully.