Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Cơ Sở Dữ Liệu

Oracle Exadata Smart Flash Cache: Tăng Hiệu Suất & Tăng Tốc Workload

Giới thiệu

Tính năng Oracle Exadata Smart Flash Cache có các lợi ích chính sau:

  • Cung cấp khả năng stage (lưu trữ tạm) các đối tượng database hoạt động (active) trong flash.
  • Exadata Smart Flash Logging tăng tốc chức năng quan trọng là database logging.

Write-back Flash Cache

Write-back flash cache, được dùng để cải thiện các hoạt động write-intensive (ghi nhiều) vì ghi vào flash cache nhanh hơn ghi vào hard disks, rất hữu ích khi chạy các job nặng trên database. Theo Oracle, tùy ứng dụng, write performance có thể nhanh gấp 20 lần so với disk (đo bằng IOPS - input/output operations per second) và có 10 lần write IOPS hơn so với disk.

Thuộc tính cell flashCacheMode xác định cache mode. Các giá trị có thể: "WriteThrough" và "WriteBack".

Để tìm cache mode hiện tại, dùng công cụ cellcli và lệnh list cell:

CELLCLI> list cell attributes flashcachemode

Hình ảnh kết quả lệnh list cell

Để hiển thị chi tiết, dùng lệnh list cell detail:

CELLCLI> list cell detail

Hình ảnh kết quả lệnh list cell detail

Lợi ích Write-back Flash Cache

Write-back flash cache cải thiện write-intensive operations vì ghi vào flash cache nhanh hơn nhiều so với ghi vào hard disks. Write-back flash cache minh bạch tăng tốc reads và writes cho tất cả workload cho on-line transaction processing (OLTP) (nhanh hơn random reads/writes) và data warehouses (DW) (nhanh hơn sequential smart scans).

Write-back flash cache cũng giảm latency của redo-log writes khi chia sẻ disks với data. Dữ liệu có thể khôi phục từ flash cache khi cellsrv restart. Hãy cân nhắc dùng tính năng write back flash cache nếu bạn nhận thấy một trong các điều kiện sau:

  1. Thời gian chờ đáng kể cho "free buffer waits"
  2. Hoặc I/O times cao khi kiểm tra write bottlenecks trong báo cáo Automated Workload Repository (AWR).

Bảng sau hiển thị hiệu suất Exadata Smart Flash Cache cung cấp ở cấp database cho các cấu hình Exadata X4 khác nhau.

Hình ảnh bảng hiệu suất Exadata
Nguồn: https://www.oracle.com/technetwork/database/exadata/exadata-smart-flash-cache-366203.pdf, trang 7

Intelligent Caching (Caching thông minh)

Smart Flash cache cung cấp các lợi ích intelligent caching sau:

  • Smart Flash cache hiểu các loại database I/O khác nhau.
  • Dữ liệu thường xuyên truy cập & index blocks được cache.
  • Controlfile reads và writes được cache.
  • File Header reads & writes được cache.
  • Database administrator có thể ảnh hưởng đến ưu tiên caching.

Thật tiếc, không có cách dễ dàng để giám sát những gì trong cache. Oracle đã cung cấp lệnh list flashcachecontent trong công cụ cellcli, nhưng nó không cung cấp tùy chọn summation (tổng hợp) và chỉ hiển thị object numbers.

Hiểu về Exadata Smart Flash Cache

Exadata Smart Flash Cache là một cache trên cell (storage) server để lưu trữ redo-data cho đến khi dữ liệu này có thể được ghi an toàn ra disk. Exadata storage server đi kèm với một lượng đáng kể flash storage. Một lượng nhỏ được phân bổ cho database logging, phần còn lại dùng cho caching user data.

Trên full-rack exadata server, 5 TB flash cache có thể lưu trữ lượng dữ liệu đáng kể.

Flash cache có thể được quản lý tự động để đạt hiệu quả tối đa, như các use-case sau:

  • User có thể cung cấp optional hints để ảnh hưởng ưu tiên caching.
  • Administrator có thể disable smart flash cache cho database cụ thể.

Exadata Storage Server Software

Hai tính năng chính của Exadata Storage Server Software tận dụng Exadata Flash hardware và làm cho Exadata database machine trở thành hệ thống nhanh để triển khai Oracle Database. Thứ nhất, Exadata Smart Flash Cache cung cấp khả năng stage active database objects trong flash. Thứ hai, Exadata Smart Flash Logging tăng tốc chức năng quan trọng database logging.

Triển khai Oracle database đòi hỏi mission critical resilience (sự phục hồi cấp nhiệm vụ quan trọng). Việc dùng Exadata Storage Server software kết hợp với Oracle database cung cấp resilience đó.

Tạo FlashDisk-based Grid Disks

Bạn không nên dùng tất cả Flash Cache cho grid disks. Khi tạo Flash Cache, dùng tham số size để dành một phần không gian cho grid disks, như lệnh create flashcache của cellcli:

CellCLI> create flashcache all size=300g;

Tạo grid disks dùng không gian trống còn lại trên Flash Disks, dùng lệnh create griddisk:

CellCLI> create griddisk all flashdisk prefix='RAMDISK‘;

Để liệt kê chi tiết grid disk dùng lệnh list griddisk:

CellCLI> list griddisk attributes name, diskType, size – where disktype='FlashDisk‘;

Lợi thế lớn nhất của cấu hình Flash Cache là có thể thực hiện trong khi hệ thống online và phục vụ I/O requests.

Cách bật Write-back Flash Cache

Dùng một trong các phương pháp sau để bật tính năng write-back flash cache:

  • Rolling Method (Phương pháp Rolling) – Giả định RDBMS và ASM instances đang up và bật write-back flash cache trên một cell server tại một thời điểm.
  • Non-Rolling Method (Phương pháp Non-Rolling) – Giả định RDBMS & ASM instances đang down khi bật write-back flash cache.

Trước khi bật write-back flash cache, chạy lệnh sau để kiểm tra thuộc tính griddisk "asmdeactivationoutcome" và "asmmodestatus". Đảm bảo tất cả griddisks trên tất cả cells là "Yes" và "ONLINE" tương ứng và toàn bộ flashcache ở trạng thái normal và không flash disks nào ở trạng thái degraded hoặc critical:

# dcli -g cell_group -l root cellcli -e list griddisk attributes asmdeactivationoutcome, asmmodestatus

Để liệt kê cells, chạy lệnh:

# dcli -g cell_group -l root cellcli -e list flashcache detail
exadata01cell01: WriteThrough
exadata01cell02: WriteThrough
exadata01cell03: WriteThrough

Để bật write-back flash cache, chạy các lệnh sau cho mỗi cell:

-> Drop cache
CellCLI> drop flashcache;
Flash cache exadata01cell01 successfully dropped.
-> Shut down Cell service
CellCLI> alter cell shutdown services cellsrv;
Stopping CELLSRV services... The SHUTDOWN of CELLSRV services was successful.
-> Change Cell Flash Cache mode to Write Back
CellCLI> alter cell flashCacheMode=writeback;
Cell cel04 successfully altered
-> Restart the Cell Service
CellCLI> alter cell startup services cellsrv;
Starting CELLSRV services... The STARTUP of CELLSRV services was successful.
-> Recreate the Flash Cache
CellCLI> create flashcache all;
Flash cache cel04_FLASHCACHE successfully created
-> Check the State on all Cell Server
# dcli -g cell_group -l root "cellcli -e list cell attributes flashcachemode"
exadata01cell01: WriteBack
exadata01cell02: WriteBack
exadata01cell03: WriteBack

Kết luận

Sử dụng tính năng write-back flash cache để tận dụng Exadata Flash hardware và làm cho Exadata database machine trở thành hệ thống nhanh hơn cho triển khai Oracle database. Flash storage bên trong Oracle Exadata database machine mặc định được dùng hoàn toàn như flash cache. Điều này cho phép nó hoạt động hiệu quả như một phần mở rộng của database buffer cache và cung cấp truy cập nhanh hơn, bao gồm IOPS rate rất cao, đặc biệt quan trọng cho OLTP. Ngoài ra, bạn có thể lấy một phần Flash Storage để xây dựng ASM diskgroups lên đó. Các file đặt trên các diskgroups này sẽ nằm vĩnh viễn trên flash storage mà không cần caching.

Nếu bạn có bất kỳ câu hỏi nào về chủ đề, hãy thoải mái để lại bình luận ở ô bên dưới.