Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 40 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
40
Dung lượng
3,06 MB
Nội dung
TốiưuhóalưutrữbằngnénsâutrongDB210
Bản chất của dữ liệu
Tin hay không là tùy bạn, khi khối dữ liệu tăng lên, bản số (cardinality) của dữ liệu đó có xu
hướng giảm đi. (ND: Thuật ngữ cardinality đề cập đến sự duy nhất của dữ liệu được chứa trong
một cột (thuộc tính) cụ thể của bảng dữ liệu). Do đó, đúng là không có nhiều thứ thật sự duy nhất
trên thế giới này. Nhiều thứ có thể là duy nhất khi được dùng trong một tổ hợp, nhưng bản thân
các yếu tố cơ bản không phải là tất cả những thứ hay thay đổi. Hãy xem xét bảng các nguyên tố
tuần hoàn — mọi thứ trên thế giới của chúng ta được tạo thành từ các cách kết hợp của một tập
khá nhỏ các nguyên tố. Áp dụng khái niệm này cho dữ liệu và bạn thấy điều này cũng hoàn toàn
đúng. Ví dụ, theo điều tra dân số mới nhất của Hoa Kỳ, có khoảng 300 triệu người sống tại Hoa
Kỳ. Tuy nhiên, chỉ có khoảng 78.800 họ duy nhất, dẫn đến bản số rất thấp với "các nhóm họ"
khổng lồ trong các tập tên cụ thể. Với các tên thậm chí còn tệ hơn, có khoảng 6.600 tên (4.400
tên duy nhất với nữ giới và 2.200 tên duy nhất với nam giới). Tên của các thành phố, các đường
phố và các địa chỉ, chưa kể đến các tên, các mô tả và các thuộc tính sản phẩm, cũng có xu hướng
dư thừa rất cao với bản số thấp (có nhiều tên trùng lặp).
Nén sâu hoạt động ra sao
Nén sâu được dựa trên nguyên lý là một lượng lớn dữ liệu có xu hướng có sự dư thừa rất cao.
Nén sâu hoạt động bằng cách tìm kiếm các mẫu lặp lại trong dữ liệu và thay thế các mẫu đó bằng
các ký hiệu 12-bit, được lưutrữ cùng với các mẫu mà chúng đại diện trong một từ điển tĩnh. Sau
khi từ điển này được tạo ra, nó được lưutrữtrongbảng (hoặc trang), cùng với dữ liệu nén và
được nạp vào bộ nhớ bất cứ khi nào dữ liệu trongbảng được truy cập (để hỗ trợ giải nén). Khi
nén sâu được kích hoạt, DB2 quét toàn bộ bảng để tìm kiếm các giá trị cột lặp lại và các mẫu lặp
lại trong nhiều cột trong một hàng hoặc trên một trang. Nó cũng tìm kiếm các mẫu lặp lại là các
chuỗi con của một cột cụ thể. Tuy nhiên, tìm thấy mẫu lặp lại không có nghĩa là dữ liệu được tự
động nén. Dữ liệu chỉ được nén khi thực hiện tiết kiệm vùng lưu trữ. Trong bất kỳ trường hợp
nào, toàn bộ hàng được lưutrữ như là một tập các ký hiệu 12-bit; các hàng không bao giờ được
nén một phần.
Nén sâu có thể được áp dụng cho dữ liệu nguyên thủy của người dùng (dữ liệu hàng, dữ liệu
XML và các chỉ mục), dữ liệu do hệ thống tạo ra (các bảng tạm thời) và dữ liệu quản trị (các
hình ảnh sao lưu và các bản ghi nhật ký giao dịch đã lưu). Các phương tiện nén với dữ liệu quản
trị có sẵn trong tất cả các ấn bản phần mềm DB2; Các tính năng nén cao cấp cho dữ liệu nguyên
thủy của người dùng và dữ liệu do hệ thống tạo ra có sẵn thông qua Tính năng tốiưuhóalưutrữ
của DB2 (DB2 Storage Optimization Feature).
Về đầu trang
Định dạng hàng thay thế
Khi nói đến việc tạo ra các bảng do người dùng định nghĩa, có hai định dạng hàng mà bạn có thể
sử dụng — là tiêu chuẩn và thay thế — và định dạng được chọn xác định cách đóng gói các hàng
như thế nào khi chúng được lưutrữ trên đĩa. Định dạng hàng thay thế cho phép lưutrữ cô đọng
hơn giá trị NULL và giá trị mặc định hệ thống, cũng như các giá trị có độ dài bằng không trong
các cột có các kiểu dữ liệu có độ dài biến đổi. (Các kiểu dữ liệu có độ dài biến đổi được DB2
công nhận là VARCHAR, VARGRAPHIC, LONG VARCHAR, LONG VARGRAPHIC,
BLOB, CLOB, DBCLOB và XML). Do đó, định dạng này thường được gọi là nén giá trị NULL
và giá trị mặc định hoặc đơn giản chỉ là nén giá trị.
Với định dạng hàng tiêu chuẩn, vùng lưutrữ cho các giá trị cột có độ dài cố định được phân bổ
ngay cả khi giá trị thực tế được lưutrữ là NULL. Tương tự như vậy, các giá trị có độ dài bằng
không, được lưutrữtrong các cột có kiểu dữ liệu độ dài biến đổi sẽ tiêu tốn một lượng nhỏ vùng
lưu trữ. Tuy nhiên, với định dạng hàng thay thế, các giá trị NULL trong tất cả các cột và các giá
trị độ dài bằng không trong các cột có kiểu dữ liệu độ dài biến đổi không tiêu tốn vùng lưutrữ
nào cả.
Khi so sánh với định dạng hàng tiêu chuẩn, định dạng hàng thay thế cũng làm giảm chi phí lưu
trữ cho tất cả các giá trị khác trong các cột có kiểu dữ liệu độ dài biến đổi. Tuy nhiên, sự tiêu thụ
vùng lưutrữ cho tất cả các giá trị khác NULL được lưutrữtrong các cột với kiểu dữ liệu độ dài
cố định lại tăng lên. Có thể tìm thấy các công thức để xác định tổng số byte dùng cho các giá trị
của tất cả các kiểu dữ liệu và các định dạng hàng được hỗ trợ trong các tài liệu tham khảo dành
cho câu lệnh CREATE TABLE.
Điều khiển định dạng hàng
Bạn có thể điều khiển định dạng hàng được sử dụng cho từng bảng một. Theo mặc định, các
bảng sử dụng định dạng hàng tiêu chuẩn. Để tạo một bảng sử dụng định dạng hàng thay thế, chỉ
cần nối thêm cụm từ VALUE COMPRESSION vào câu lệnh tảo bảng CREATE TABLE được sử dụng
để tạo ra bảng đó. Ví dụ: CREATE TABLE VALUE COMPRESSION.
Để thay đổi định dạng hàng đã sử dụng cho bảng hiện tại, hãy ban hành một trong các câu lệnh
sau để thay thế:
ALTER TABLE ACTIVATE VALUE COMPRESSION
ALTER TABLE DEACTIVATE VALUE COMPRESSION
Nếu bạn kích hoạt (activate) hoặc tắt kích hoạt (deactivate) nén giá trị cho một bảng, dữ liệu hiện
có được lưutrữtrongbảng đó không bị thay đổi. Thay vào đó, các hàng vẫn giữ nguyên theo
định dạng hàng hiện có của chúng, trừ khi bạn áp dụng một hoặc nhiều biện pháp được trình bày
trong phần Các chiến lược lựa chọn trong bài này.
Đối với các bảng sử dụng định dạng hàng thay thế, bạn có thể tiết kiệm thêm vùng lưutrữbằng
cách cho phép nén giá trị mặc định cho các cột ký tự và số có độ dài cố định. Điều này dẫn đến
các giá trị mặc định của hệ thống (là 0 với các cột số và rỗng với các cột ký tự có độ dài cố định)
không được cụ thể hoátrong biểu diễn trên đĩa của một hàng. Bạn có thể cho phép nén các giá trị
mặc định của hệ thống cho từng cột riêng lẻ bằng cách chỉ rõ tùy chọn cột COMPRESS SYSTEM
DEFAULT cho cột đó trong câu lệnh SQL tạo bảng CREATE TABLE hoặc sửa đổi bảng ALTER
TABLE ALTER COLUMN.
Quyết định sử dụng định dạng nào
Mặc dù định dạng hàng tiêu chuẩn là một lựa chọn tốt trong hầu hết trường hợp, nhưng có một
số bảng mà định dạng hàng thay thế đem lại cho chúng một cách bố trí lưutrữ cô đọng hơn
nhiều:
Các bảng ít giá trị điền vào (tức là, các bảng có chứa nhiều hàng có giá trị NULL hoặc
giá trị mặc định hệ thống) nên sử dụng định dạng hàng thay thế. Tuy nhiên, các yêu cầu
về vùng lưutrữ cho một hàng sẽ tăng thêm bất cứ khi nào bạn cập nhật một giá trị NULL
hoặc giá trị mặc định hệ thống thành một giá trị khác NULL hoặc khác giá trị mặc định
hệ thống. Sự thay đổi này thường gây ra tràn bản ghi, ngay cả khi trongbảng không có
cột nào có kiểu dữ liệu độ dài biến đổi (tức là, các bảngtrong đó tất cả các hàng có cùng
yêu cầu vùng lưutrữ như nhau khi sử dụng định dạng hàng tiêu chuẩn).
Các bảng có kiểu dữ liệu độ dài biến đổi trong phần lớn các cột của chúng nên sử dụng
định dạng hàng thay thế.
Đối với một số bảng không có các đặc điểm nói trên, việc sử dụng định dạng hàng thay thế có
thể làm tăng các yêu cầu vùng lưu trữ. Có thể cũng đáng làm một phép kiểm tra trong môi
trường của bạn.
Bạn có thể sử dụng định dạng hàng thay thế bất kể bạn có giấy phép dùng DB2 Storage
Optimization Feature hay không. Tính linh hoạt này cho phép bạn chọn cách bố trí lưutrữ cô
đọng nhất cho mỗi bảng, ngay cả khi bạn chưa có kế hoạch sử dụng nén hàng. Tuy nhiên, nếu
bạn đang có kế hoạch sử dụng nén hàng, việc chọn để bắt đầu với nhiều định dạng hàng cô đọng
hơn sẽ làm cho vùng lưutrữ trên đĩa của bảng đó nhỏ hơn trong hầu hết trường hợp, mặc dù hiệu
quả là không lớn hoặc thậm chí không đáng kể. Điều này là do thực tế là nén hàng có thể nén rất
tốt các giá trị NULL và các giá trị mặc định hệ thống đã cụ thể hóatrong các bảng có định dạng
hàng tiêu chuẩn.
Về đầu trang
Nén hàng
Nén hàng đã được giới thiệu trongDB2 9 cho Linux, UNIX và Windows và kể từ đó đã thực
hiện nhiều cải tiến đáng kể cho chức năng này trong mọi bản phát hành, kết quả là chức năng nén
thích ứng thế hệ tiếp theo có sẵn trongDB2 10.1. Nén hàng đòi hỏi phải mua giấy phép DB2
Storage Optimization Feature.
Bắt đầu từ DB2 10.1, hai kiểu phương pháp nén hàng có sẵn là:
Nén hàng cổ điển — Nói đến công nghệ nén đã được sử dụng:
o Với dữ liệu bảng người dùng, kể từ DB2 9 cho Linux, UNIX và Windows.
o Với dữ liệu XML và dữ liệu tạm thời, kể từ DB2 9.7 cho Linux, UNIX và
Windows.
Nén hàng thích ứng — Một chế độ nén mới được giới thiệu trongDB2 10.1 mà bạn có
thể áp dụng cho dữ liệu bảng người dùng. Nén hàng thích ứng tốt hơn nén hàng cổ điển ở
chỗ nó thường đạt được nén tốt hơn và yêu cầu bảo trì cơ sở dữ liệu ít hơn để duy trì tỉ lệ
nén gần tới mức tối ưu.
Nén hàng cổ điển
Nén hàng cổ điển nhờ vào một thuật toán nén dựa theo từ điển. Có một từ điển nén cho từng đối
tượng bảng. Từ điển này gồm một có một ánh xạ các mẫu thường xuất hiện trong các hàng của
toàn bộ bảng. Từ điển nén này được gọi là từ điển nén mức bảng. Có thể thấy một ví dụ về cách
hoạt động của nén hàng cổ điển trong Hình 1.
Hình 1. Cách hoạt động của nén hàng cổ điển
Bạn có thể cho phép nén hàng theo từng bảng một. Để có nén hàng cổ điển, bạn phải cho phép
nén bảng đó và phải tồn tại một từ điển cho đối tượng dữ liệu hoặc đối tượng XML. Để cho phép
nén hàng cổ điển cho một bảngtrongDB2 10.1 vào lúc tạo bảng, hãy ban hành câu lệnh sau
CREATE TABLE COMPRESS YES STATIC.
Mặt khác, để cho phép nén hàng cổ điển cho một bảng hiện hiện có, hãy thực hiện một câu lệnh:
ALTER TABLE COMPRESS YES STATIC.
Trong DB2 10.1, tùy chọn STATIC trong cụm từ COMPRESS YES là bắt buộc trong cả hai trường
hợp. Trong các phiên bản DB2 trước, bạn sử dụng cụm từ COMPRESS YES mà không thêm bất kỳ
điều kiện nào, như sau:
CREATE TABLE COMPRESS YES
ALTER TABLE COMPRESS YES
Việc cho phép nén hàng dẫn đến tiết kiệm vùng lưutrữ cho phần lớn các bảng thực tế; tỷ lệ nén
thường là 50-80% hoặc cao hơn. Hơn nữa, vùng lưutrữ cho một bảng có sử dụng nén hàng
không bao giờ vượt quá vùng lưutrữ của phiên bản không nén của cùng bảng đó.
Việc tiết kiệm vùng lưutrữ của nén hàng thường dẫn đến các hoạt động vào/ra (I/O) vật lý ít hơn
để đọc dữ liệu trong một bảng nén, do cùng một số lượng hàng được lưutrữ trên ít trang vật lý
hơn. (Nén cho phép nhiều hàng dữ liệu hơn được đóng gói vào cùng một số lượng trang và tỷ lệ
truy cập vùng bộ đệm tăng lên). Trong nhiều trường hợp, sự tiết kiệm vào/ra và việc sử dụng
vùng bộ đệm được cải thiện dẫn đến thông lượng cao hơn và thời gian thực hiện truy vấn nhanh
hơn.
Nén hàng thích ứng
Giống như nén hàng cổ điển, nén hàng thích ứng nhờ vào một thuật toán nén dựa theo từ điển.
Sự khác biệt là ở chỗ có thể có nhiều từ điển nén cho từng đối tượng bảng. Mỗi từ điển có chứa
một ánh xạ các mẫu thường xảy ra trong các hàng suốt toàn bộ một trang đơn lẻ. Do đó, các từ
điển nén này được gọi là các từ điển nén mức trang. Hình 2 cho thấy một ví dụ về cách nén hàng
thích ứng hoạt động. Nén hàng thích ứng không chỉ đem lại các tỷ lệ nén tốt hơn đáng kể trong
nhiều trường hợp, mà còn có thể thích ứng với các đặc điểm dữ liệu thay đổi.
Hình 2. Nén hàng thích ứng hoạt động như thế nào
Như với nén hàng cổ điển, bạn cho phép nén hàng thích ứng theo từng bảng một. TrongDB2
10.1, để tạo ra một bảng đã cho phép nén hàng thích ứng, bạn chỉ cần ban hành một trong những
câu lệnh sau:
CREATE TABLE COMPRESS YES ADAPTIVE
CREATE TABLE COMPRESS YES
Mặt khác, để cho phép nén hàng thích ứng một bảng hiện có, hãy thực hiện một câu lệnh ALTER
TABLE giống như sau:
ALTER TABLE COMPRESS YES ADAPTIVE
ALTER TABLE COMPRESS YES
Trong DB2 10.1, nén hàng thích ứng là kiểu nén hàng mặc định được dùng. Vì vậy, tùy chọn
ADAPTIVE là giá trị mặc định cho cụm từ COMPRESS YES.
Khi bạn nâng cấp một cơ sở dữ liệu từ một phiên bản cũ của DB2 cho Linux, UNIX và
Windows, các bảng hiện có đã cho phép nén hàng cổ điển, sẽ duy trì các thiết lập nén của mình
và nén hàng cổ điển vẫn được sử dụng. Do đó, nếu bạn muốn cho phép nén hàng thích ứng cho
các bảng này, bạn phải sử dụng một trong các câu lệnh ALTER TABLE được hiển thị ở trên.
Như đã đề cập, nén hàng thích ứng xây dựng trên nén hàng cổ điển; các từ điển nén mức bảng
vẫn được sử dụng. Một từ điển mức bảng được bổ sung bằng các từ điển nén mức trang, có chứa
các mục ứng với các mẫu xuất hiện thường xuyên trong một trang đơn lẻ. Từ điển mức bảng
giúp loại bỏ các mẫu lặp lại trong phạm vi chung, trong khi các từ điển mức trang chịu trách
nhiệm tìm ra các mẫu lặp lại cục bộ trên các trang riêng lẻ đó. Cách sử dụng sự kết hợp này của
cả hai từ điển mức bảng và mức trang được minh họatrong Hình 3.
Hình 3. Cách các từ điển nén mức bảng và mức trang làm việc cùng nhau khi sử dụng nén
thích ứng
Các từ điển mức trang được duy trì tự động. Khi một trang đã đầy dữ liệu, trình quản lý cơ sở dữ
liệu DB2 xây dựng một từ điển nén mức trang cho dữ liệu trong trang đó. Theo thời gian, trình
quản lý cơ sở dữ liệu DB2 tự động xác định khi nào cần xây dựng lại từ điển cho các trang, ở đây
các mẫu dữ liệu đã thay đổi đáng kể. Kết quả là, việc sử dụng nén thích ứng không chỉ mang lại
tiết kiệm nén tổng thể cao hơn, mà nó còn bảo đảm rằng các tỷ lệ nén không giảm đi theo thời
gian như với nén hàng cổ điển. Trong nhiều trường hợp thực tế, tỉ lệ nén vẫn duy trì gần như tối
ưu theo thời gian. Như vậy, bằng cách sử dụng nén hàng thích ứng, bạn có thể làm giảm chi phí
liên quan đến việc giám sát các tỷ lệ nén của các bảng và thực hiện bảo trì cần thiết (sắp xếp lại
bảng không nối mạng, cổ điển) để cải thiện việc sử dụng lưu trữ.
Về đầu trang
Khám phá các thiết lập nén
Bằng cách kiểm tra cột COMPRESSION trong khung nhìn danh mục hệ thống SYSCAT.TABLES, bạn
có thể xác định xem một bảng đã cho phép nén hàng chưa và nó sử dụng định dạng hàng nào.
Các giá trị có thể có với cột này như sau:
V. — Sử dụng định dạng nén hàng thay thế và không nén hàng.
R. — Sử dụng nén hàng và định dạng hàng tiêu chuẩn.
B. — Sử dụng định dạng hàng thay thế và nén hàng
N. — Không sử dụng nén hàng nhưng sử dụng định dạng hàng tiêu chuẩn.
Với DB2 10.1, bạn có thể xác định kiểu nén hàng nào được sử dụng trên các bảng của mình bằng
cách kiểm tra cột ROWCOMPMODE trong khung nhìn danh mục hệ thống SYSCAT.TABLES. Các giá
trị có thể có với cột này như sau:
S.— Sử dụng nén hàng cổ điển.
A. — Sử dụng nén hàng thích ứng.
Blank. (Để trống) — Không cho phép nén hàng.
Cột ROWCOMPMODE trong khung nhìn danh mục hệ thống SYSCAT.TABLES không tồn tại trong các
phiên bản trước của DB2. Trong trường hợp này, tất cả các bảng đã cho phép nén hàng mặc
nhiên sử dụng nén hàng cổ điển.
Nếu bạn có DB2 10.1 cho Linux, UNIX và Windows đã cài đặt, có thể sử dụng truy vấn sau để
nhận được các thiết lập nén cho tất cả các bảng người dùng đã được định nghĩa.
Liệt kê 1. Nhận các thiết lập nén với một truy vấn
SELECT SUBSTR(TABSCHEMA, 1, 10) AS TABSCHEMA,
SUBSTR(TABNAME, 1, 10) AS TABNAME,
COMPRESSION, ROWCOMPMODE
FROM SYSCAT.TABLES
WHERE TABSCHEMA NOT LIKE 'SYS%'
Khi thực hiện truy vấn này, bạn sẽ thấy các kết quả trông giống như Liệt kê 2.
Liệt kê 2. Các kết quả truy vấn hiển thị các thiết lập nén
Sample results are as follows:
TABSCHEMA TABNAME COMPRESSION ROWCOMPMODE
DB2INST1 ACCTCR R S
DB2INST1 BKPF R A
DB2INST1 BSIS B A
DB2INST1 CDCLS N
DB2INST1 CDHDR V
DB2INST1 COSP B S
6 record(s) selected.
Trong ví dụ này, cho phép nén hàng tất cả các bảng ACCTCR, BKPF, BSIS và COSP. Các bảng
ACCTCR và COSP sử dụng nén hàng cổ điển và các bảng BKPF và BSIS sử dụng nén hàng
thích ứng. Các bảng BSIS và COSP cũng sử dụng định dạng hàng thay thế, trong khi các bảng
ACCTCR và BKPF sử dụng định dạng hàng tiêu chuẩn. Bảng CDHDR sử dụng định dạng hàng
thay thế mà không nén hàng còn bảng CDCLS sử dụng định dạng hàng tiêu chuẩn mà không nén
hàng.
Về đầu trang
Xây dựng một từ điển nén
Trước khi nén hàng cổ điển có thể có hiệu lực trong một bảng đã được cho phép nén, phải có
một từ điển đã tồn tại cho bảng đó. Với DB2 9, bạn đã phải biết rõ liệu một từ điển nén đã tồn tại
hay chưa và bạn đã phải khởi tạo một từ điển mức bảng nếu cần. Có thể xây dựng một từ điển
nén mức bảng (và có thể nén dữ liệu hiện có trong một bảng) bằng cách thực hiện một hoạt động
sắp xếp lại bảng (cổ điển) không nối mạng (offline). Một hoạt động như vậy được bắt đầu bằng
cách thực hiện lệnh sắp xếp lại REORG có chỉ rõ tùy chọn KEEPDICTIONARY hoặc tùy chọn
RESETDICTIONARY. Nếu lệnh REORG được thực hiện với một trong hai tùy chọn đã quy định và
không tồn tại một từ điển nén, thì một từ điển mới sẽ được tạo ra. Mặt khác, nếu lệnh REORG
được thực hiện với một trong hai tùy chọn đã quy định và một từ điển nén đã tồn tại, thì từ điển
hiện có hoặc sẽ được tạo lại (RESETDICTIONARY) hoặc giữ nguyên như hiện có
(KEEPDICTIONARY) và dữ liệu trongbảng đó sẽ được sắp xếp lại và được nén.
Để tạo ra một từ điển nén mới cho một bảng có tên là EMPLOYEE đã được cho phép nén sâu,
(cũng như sắp xếp lại và nén dữ liệu của bảng), bạn cần thực hiện lệnh sau:
REORG TABLE employee RESETDICTIONARY
[...]... để cho phép nén hàng trước khi bạn tạo ra bất kỳ chỉ mục nào trên chúng Nén chỉ mục sử dụng một tổ hợp của ba kỹ thuật để giảm lượng dữ liệu được lưutrữ trên đĩa Đạt được tiết kiệm vùng lưutrữbằng cách điều chỉnh động số lượng các khóa chỉ mục, chứ không phải dành riêng vùng lưutrữ cho số lượng khóa cao nhất có thể có, được lưutrữtrong một trang Các mục chỉ mục, trong đó gồm có một khóa chỉ mục... ALTER INDEX Đối với những chỉ mục được cho phép nén, cột PCTPAGESSAVED cung cấp thông tin về mức tiết kiệm không gian lưutrữ Về đầu trang Trả lại vùng không sử dụng cho hệ thống tệp Sau khi giảm lượng vùng lưutrữ cần thiết để lưutrữ dữ liệu của một bảngbằngnén sâu, bạn có thể muốn thay đổi kích cỡ vùng bảng nơi lưutrữbảng đó, sao cho bất kỳ vùng lưutrữ nào đã thu hồi có thể được sử dụng ở một... về tất cả các vùng lưutrữ đã thu hồi bằng cách nén theo hệ điều hành để phân phối lại Vùng lưutrữ có thể thu hồi được trong bản DB2 9.7 và mới hơn Các vùng bảnglưutrữ tự động và DMS cố định mà bạn tạo ra trong bản DB2 9.7 hoặc mới hơn hỗ trợ vùng lưutrữ có thể thu hồi được Đối với những vùng bảng đó, trình quản lý cơ sở dữ liệu có thể thay đổi vị trí vật lý của các khu vực trong các thùng chứa... mức tiết kiệm vùng lưutrữ với nén chỉ mục Khi quyết định nén các chỉ mục nào, đánh giá về tiết kiệm vùng lưutrữ đóng một vai trò lớn hơn so với trường hợp nénbảng Chi phí tính toán liên quan đến nén chỉ mục thấp hơn so với nén hàng và mức tiết kiệm vùng lưutrữ thường tương đương trực tiếp hơn với các cải tiến hiệu năng tổng thể Nếu bạn có thể đạt được mức tiết kiệm vùng lưutrữ đáng kể cho bất... cần lưu ý là vì các bản ghi trong một bảngnén được di chuyển giữa thiết bị lưutrữ và bộ nhớ dưới dạng nén, nên các bản ghi dùng cho các bảngnén được viết vào các tệp bản ghi nhật ký giao dịch cũng được nén (Từ điển nén được nạp vào bộ nhớ khi bảng này được truy cập sao cho việc nén và giải nén có thể xảy ra) Về đầu trang Tạo từ điển tự động (ADC) Như bạn có thể tưởng tượng, các tỷ lệ nén tối ưu đạt... Đánh giá mức tiết kiệm lưutrữ do sử dụng nén hàng Sau khi bạn đã tạo ra một danh sách các bảng ứng viên để nén, dựa trên các đặc điểm tiêu dùng lưutrữ và truy cập dữ liệu, bước tiếp theo sẽ xác định mức tiết kiệm vùng lưutrữ mà bạn có thể hy vọng đạt được khi các bảng đó thực sự được nén Bạn có thể đánh giá mức tiết kiệm vùng lưutrữ cho bất kỳ bảng nào trước khi bạn cho phép nén hàng cho nó Hơn nữa,... dữ liệu được lưutrữtrongbảng EMPLOYEE sẽ được phân tích, một từ điển nén sẽ được xây dựng và được lưutrữ tại phần đầu của bảng đó và tất cả các dữ liệu hiện có sẽ được nén và được viết vào bảng đó ngay sau từ điển nén Hình 4 cho thấy bảng EMPLOYEE sẽ trông như thế nào trước và sau khi áp dụng nénsâu Hình 4 Cách thay đổi dữ liệu trong một bảng khi xây dựng một từ điển nén và áp dụng nén hàng cổ... cũ hơn cũng có sẵn trong DB2 10. 1 Tuy nhiên, bạn có thể thấy rằng các bản sao đã cải tiến trongDB210. 1 dễ sử dụng hơn hoặc đáp ứng nhanh hơn với dữ liệu mà bạn đang tìm kiếm Đánh giá mức tiết kiệm nén hàng trong DB2 10. 1 Trong DB2 10. 1, cách ưa thích để đánh giá các tỷ lệ nén là dùng hàm quản trị ADMIN_GET_TAB_COMPRESS_INFO() Bạn có thể sử dụng hàm này để đánh giá mức tiết kiệm nén cho một bảng cụ... gồm có một khóa chỉ mục và một danh sách RID, được nénbằng cách loại bỏ các tiền tố dư thừa khỏi các khóa trong một trang đơn lẻ Với các khoá trùng lặp, các RID liên kết trong mỗi danh sách được nénbằng cách áp dụng mã hóa delta Giống như nén hàng thích ứng và không giống như nén hàng cổ điển, nén chỉ mục là hoàn toàn tự động Mức tiết kiệm nén tối ưu được duy trì theo thời gian và không cần phải giám... lại, nén thích ứng có thể là sự lựa chọn tốt hơn vì mức tiết kiệm vùng lưutrữ tăng thêm đáng kể lên đến 45% Đánh giá mức tiết kiệm nén hàng trongDB2 9.7 và 9.5 TrongDB2 9.7 và 9.5, có sẵn các hàm quản trị rất giống với hàm ADMIN_GET_TAB_COMPRESS_INFO() kèm theo DB210. 1, mặc dù chúng có tên và các chữ ký hơi khác nhau một chút TrongDB2 9.7, hàm này được gọi là ADMIN_GET_TAB_COMPRESS_INFO_V97() và trong . Tối ưu hóa lưu trữ bằng nén sâu trong DB2 10 Bản chất của dữ liệu Tin hay không là tùy bạn, khi khối dữ liệu tăng lên,. tiết kiệm lưu trữ trên các bảng không nén hiện có và tối ưu hóa sự tăng trưởng lưu trữ trong tương lai, bạn có thể tìm thấy các điểm yếu lưu trữ của mình bằng cách kiểm tra các bảng hiện có. động nén. Dữ liệu chỉ được nén khi thực hiện tiết kiệm vùng lưu trữ. Trong bất kỳ trường hợp nào, toàn bộ hàng được lưu trữ như là một tập các ký hiệu 12-bit; các hàng không bao giờ được nén