Using Space-Saving Features – Phương pháp tiết kiệm dung lượng lưu trữ trong Oracle Database

Quản trị việc sử dụng các tính năng tiết kiệm không gian Space-Saving trong Oracle Database giúp tối ưu hóa việc sử dụng tài nguyên lưu trữ và cải thiện hiệu suất tổng thể của hệ thống. Dưới đây là một số tính năng và kỹ thuật phổ biến để tiết kiệm không gian trong Oracle Database:

1. Compression (Nén Dữ Liệu)

Table Compression:

Nén dữ liệu trong bảng giúp giảm không gian lưu trữ cần thiết. Oracle cung cấp nhiều tùy chọn nén khác nhau, bao gồm Basic Table Compression và Advanced Row Compression.

Basic Table Compression:

CREATE TABLE employees_compressed
(employee_id NUMBER, first_name VARCHAR2(50), last_name VARCHAR2(50), hire_date DATE)
COMPRESS;

Advanced Row Compression:

CREATE TABLE employees_compressed
(employee_id NUMBER, first_name VARCHAR2(50), last_name VARCHAR2(50), hire_date DATE)
COMPRESS FOR OLTP;
  • COMPRESS: Nén dòng (row compression), Giảm dung lượng lưu trữ và cải thiện hiệu suất I/O.
  • COMPRESS FOR OLTP: Nén dòng (row compression), Giảm dung lượng lưu trữ và cải thiện hiệu suất I/O.
  • COMPRESS FOR ALL OPERATIONS: Nén dòng (row compression), Tối ưu hóa lưu trữ và hiệu suất cho các thao tác đọc và ghi.
  • COMPRESS FOR QUERY LOW: Nén cột (column compression), Giảm thiểu lưu lượng dữ liệu truy vấn và tăng hiệu suất đọc dữ liệu.
  • COMPRESS FOR ARCHIVE LOW: Nén cột (column compression). Giảm dung lượng lưu trữ dữ liệu lịch sử và dữ liệu lưu trữ lâu dài.
  • COMPRESS FOR ARCHIVE HIGH: Nén cột (column compression). Tối ưu hóa lưu trữ dữ liệu lịch sử hoặc dữ liệu lưu trữ lâu dài với mức độ nén cao.

Index Compression:

Nén các Index để giảm không gian lưu trữ cần thiết cho các Index.

CREATE INDEX emp_idx_compressed ON employees_compressed(employee_id)
COMPRESS;

2. Deferred Segment Creation

Như đã đề cập trước đó, trì hoãn tạo phân đoạn giúp tiết kiệm không gian lưu trữ cho các bảng không có dữ liệu ngay lập tức.

ALTER SYSTEM SET deferred_segment_creation = TRUE SCOPE = BOTH;

CREATE TABLE employees (
employee_id NUMBER,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
hire_date DATE
);

3. Table Shrink (Thu Nhỏ Bảng)

Thu nhỏ bảng để giải phóng không gian trống không sử dụng bên trong bảng.

ALTER TABLE employees_compressed ENABLE ROW MOVEMENT;

ALTER TABLE employees_compressed SHRINK SPACE CASCADE;

4. Partitioning (Phân Vùng)

Phân vùng bảng giúp quản lý và tối ưu hóa không gian lưu trữ bằng cách chia bảng lớn thành các phân đoạn nhỏ hơn.

CREATE TABLE sales (
sale_id NUMBER,
sale_date DATE,
amount NUMBER
)
PARTITION BY RANGE (sale_date) (
PARTITION p1 VALUES LESS THAN (TO_DATE('2022-01-01', 'YYYY-MM-DD')),
PARTITION p2 VALUES LESS THAN (TO_DATE('2023-01-01', 'YYYY-MM-DD'))
);

5. Data Deduplication (Loại Bỏ Dữ Liệu Trùng Lặp)

Sử dụng tính năng lọc dữ liệu trùng lặp để giảm không gian lưu trữ.

6. Use Appropriate Data Types

Sử dụng kiểu dữ liệu phù hợp để tiết kiệm không gian. Ví dụ, sử dụng NUMBER với độ chính xác và quy mô phù hợp thay vì NUMBER mặc định.

CREATE TABLE optimized_table (
id NUMBER(10),
small_data VARCHAR2(50)
);

7. Purge Recycle Bin (Xóa Thùng Rác)

Xóa thùng rác Oracle để giải phóng không gian lưu trữ từ các đối tượng đã bị xóa.

PURGE DBA_RECYCLEBIN;

8. Monitoring and Managing Space Usage

Theo dõi và quản lý việc sử dụng không gian lưu trữ bằng các view hệ thống như DBA_SEGMENTS, DBA_FREE_SPACE, DBA_TABLESPACE_USAGE_METRICS.

SELECT tablespace_name, SUM(bytes)/1024/1024 AS MB_USED
FROM dba_segments
GROUP BY tablespace_name;

SELECT tablespace_name, SUM(bytes)/1024/1024 AS MB_FREE
FROM dba_free_space
GROUP BY tablespace_name;

9. Using Automatic Data Optimization (ADO)

ADO giúp quản lý không gian lưu trữ bằng cách tự động di chuyển và nén dữ liệu dựa trên các chính sách sử dụng dữ liệu.

Xem thêm tại đây:

10. Using Exadata Hybrid Columnar Compression (EHCC)

Nếu sử dụng Oracle Exadata, EHCC cung cấp nén dữ liệu hiệu quả hơn cho các dữ liệu được lưu trữ trong cơ sở dữ liệu.

CREATE TABLE large_table (
col1 NUMBER,
col2 VARCHAR2(100)
)
COMPRESS FOR QUERY LOW;

Sử dụng các tính năng tiết kiệm không gian trong Oracle Database không chỉ giúp giảm chi phí lưu trữ mà còn cải thiện hiệu suất của hệ thống. Việc kết hợp các kỹ thuật này và thường xuyên theo dõi việc sử dụng không gian sẽ giúp quản trị viên cơ sở dữ liệu tối ưu hóa tài nguyên một cách hiệu quả.

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận