Tối ưu hoá hiệu suất cơ sở dữ liệu với Oracle Exadata và Oracle Linux

Máy chủ cơ sở dữ liệu Oracle Exadata (Exadata) là một hệ thống được thiết kế sẵn, cung cấp nền tảng lý tưởng để chạy các khối lượng công việc sử dụng cơ sở dữ liệu Oracle với chi phí tối ưu. Kiến trúc mở rộng quy mô của nó tích hợp các bộ xử lý mới nhất, máy chủ lưu trữ thông minh (smart storage), công nghệ bộ nhớ đệm tiên tiến và các tính năng mạng hiện đại. Khách hàng có thể khai thác một cách tối ưu nhất phần cứng và phần mềm độc quyền của Exadata bằng cách chạy Oracle Database và Oracle Exadata Database Service trên cơ sở hạ tầng Exadata. Không chỉ vậy, Zero Data Loss Recovery Appliance cũng sử dụng phần cứng và phần mềm của Exadata; chúng đơn giản hóa quy trình sao lưu cơ sở dữ liệu Oracle, tăng tốc độ phục hồi cơ sở dữ liệu và tăng cường khả năng bảo vệ trước các cuộc tấn công mạng.

Dù là Exadata, hay giải pháp khôi phục dữ liệu Zero Data Loss, tất cả đều dựa vào Oracle Linux – hệ điều hành mạnh mẽ và được tinh chỉnh kỹ lưỡng – làm hạ tầng nền tảng. Oracle Linux là nền tảng phát triển của Oracle, là nền móng để Oracle Database và tất cả các dịch vụ và giải pháp khác của Oracle được thiết kế và vận hành. Sự tích hợp này trao quyền cho các nhà phát triển Oracle Database có thể xử lý sự cố và nâng cao hiệu suất cũng như độ tin cậy của toàn bộ chuỗi hệ thống – cho tới tận nhân Linux kernel.

Oracle Linux tạo sự khác biệt với các bản phân phối Linux khác nhờ tận dụng được sự tích hợp với hệ thống giải pháp của Oracle. Hãy cùng đi sâu hơn và xem xét một số khía cạnh nổi bật cho thấy Oracle Linux là môi trường vận hành lý tưởng cho Exadata Database Machine.

Khám phá lợi thế của Oracle Linux dành cho Oracle Database trên Exadata

Trước khi tập trung vào máy chủ Exadata, điều quan trọng mà chúng ta cần lưu ý là Oracle cung cấp tùy chọn giữa hai nhân Linux – Red Hat Compatible Kernel (RHCK) và Oracle Linux Unbreakable Enterprise Kernel (UEK) – trong đó UEK được tùy chỉnh cẩn thận để mang lại hiệu suất cao cho Oracle Database và Exadata. Các nhóm kỹ sư Oracle phụ trách Exadata, Cơ sở dữ liệu và Linux phối hợp chặt chẽ với nhau để cải thiện hiệu suất của UEK. Điều này bao gồm việc tinh chỉnh hệ thống gọi (system call) và các giao diện của thư viện C, cũng như tích hợp các tính năng tiên tiến, tất cả nhằm mang lại thời gian xử lý truy vấn vượt trội cho các ứng dụng.

 Oracle Linux với UEK được tối ưu hóa cho máy chủ Exadata

Exadata vận hành hoàn toàn bằng Oracle Linux với UEK. Các hệ thống Exadata có một đặc điểm riêng biệt – hệ điều hành được cài đặt trên chúng là một phiên bản rút gọn và được điều chỉnh đặc biệt từ bản phân phối Oracle Linux tiêu chuẩn kèm theo UEK. Phiên bản UEK rút gọn này chỉ có dung lượng 80MB, và hệ điều hành chỉ bao gồm các gói cần thiết (khoảng 1070 gói), các driver cho thiết bị và các tính năng cần thiết để chạy Oracle Database trên hạ tầng Exadata và phần mềm hệ thống Exadata (ESS). Kết quả cuối cùng là dấu vết cài đặt nhỏ hơn, ít bản cập nhật hơn và giảm bề mặt tấn công tiềm ẩn.

Ví dụ, Exadata tận dụng công nghệ Remote Direct Memory Access (RDMA) nhằm cho phép truy cập trực tiếp bộ nhớ từ các máy chủ cơ sở dữ liệu đến các máy chủ lưu trữ. Các gói kernel và hệ thống cần thiết cho tính năng quan trọng này không chỉ được bao gồm trong Oracle Linux với UEK dành cho Exadata mà còn được tích hợp cẩn thận, kiểm thử nghiêm ngặt và cung cấp đến người dùng nhằm đảm bảo hiệu suất vượt trội và bảo mật. Sự tập trung duy nhất của Exadata vào việc trở thành nền tảng lý tưởng cho Oracle Database, kết hợp với sự đồng thiết kế với nhóm Oracle Linux, mang lại hiệu suất vượt trội, giúp rút ngắn thời gian nâng cấp và tăng cường bảo mật hệ thống.

 

Băng thông dữ liệu cao và khả năng mở rộng vượt trội

Exadata sử dụng kiến trúc mạng RDMA over Converged Ethernet (RoCE) để kết nối mỗi máy chủ cơ sở dữ liệu với mỗi máy chủ lưu trữ. Công nghệ này cung cấp độ trễ thấp và băng thông rộng giúp truy cập dữ liệu nhanh và tốc độ truyền dữ liệu cao. Ngoài sự vượt trội về tốc độ, cấu trúc mạng RoCE còn bao gồm các khả năng như không mất gói tin khi truyền tin, truy cập dữ liệu trực tiếp không cần sự tham gia của CPU, và bảo mật dựa trên ảo hóa KVM.

Khi các khối lượng công việc liên quan đến cơ sở dữ liệu tăng lên, cấu trúc mạng RoCE đóng vai trò trung tâm trong kiến trúc mở rộng quy mô của Exadata. Khách hàng có thể mở rộng thêm các máy chủ cơ sở dữ liệu và/hoặc lưu trữ trực tuyến để tăng hiệu năng và dung lượng. Nếu nhu cầu vượt quá khả năng của một tủ rack vật lý, nhiều rack có thể được kết nối với nhau mà không cần ngừng hoạt động nhằm đáp ứng các yêu cầu về hiệu năng, khả năng mở rộng và tính sẵn sàng của bất kỳ môi trường nào.

RDMA là một phần không thể thiếu trong kiến trúc hiệu nâng cao của Exadata và đã được nâng cấp liên tục qua từng thế hệ Exadata, là nền tảng cho các công nghệ độc quyền chỉ có trên Exadata như Exadata RDMA Memory (XRMEM) Data Accelerator và Exafusion Direct-to-Wire Protocol. Hơn nữa, nó tối ưu hiệu quả của các khối lượng công việc OLTP và phân tích quan trọng, cũng như các ứng dụng hiện đại sử dụng JSON, blockchain, không gian, đồ thị và xử lý vector bên trong Oracle Database.

Để tận dụng toàn bộ sức mạnh của Oracle Linux với UEK rút gọn và khai thác đầy đủ các tính năng nổi bật của Exadata, một phần mềm chuyên biệt có tên là Exadata System Software (ESS) được cài đặt và vận hành trên tất cả các máy chủ cơ sở dữ liệu và lưu trữ trong máy Exadata. ESS kích hoạt hàng loạt tính năng như XRMEM Data Accelerator, Exadata Smart Flash Cache (Flash Cache), Smart Scan, Storage Indexes, Hybrid Columnar Compression, Database In-Memory Columnar Cache trên các máy chủ lưu trữ và nhiều hơn nữa.

 Độ trễ I/O OLTP thấp hơn nhờ bộ nhớ đệm dữ liệu từ xa

XRMEM Data Accelerator là một lớp bộ nhớ đệm chia sẻ, được quản lý tự động và hoạt động như tầng đệm đọc phía trước Flash Cache, cho phép truy cập dữ liệu từ xa với độ trễ thấp hơn rất nhiều. Oracle Database sử dụng RDMA để truy cập từ xa vào bộ nhớ của XRMEM Data Accelerator, bỏ qua cả mạng lưới và ngăn xếp I/O trên cả máy chủ cơ sở dữ liệu lẫn lưu trữ. Điều này loại bỏ các ngắt CPU và context switches tốn kém, đồng thời giảm độ trễ hơn 10 lần – từ 200 micro giây xuống chỉ còn 17 micro giây. Sự tích hợp xuyên suốt từ đầu đến cuối giữa Oracle Database và các máy chủ lưu trữ Exadata tự động lưu vào bộ nhớ đệm những dữ liệu được truy cập thường xuyên một cách hiệu quả giữa database buffer cache và Flash Cache trong các máy chủ lưu trữ, từ đó nâng cao hiệu quả của Oracle Linux có hỗ trợ RDMA với UEK.

Hiệu suất vượt trội nhờ quản lý dữ liệu thông minh

Các máy chủ lưu trữ Exadata tích hợp các thẻ Flash PCIe, hoạt động như một tầng bộ nhớ đệm giữa Exadata RDMA Memory và PMEM – thường được gọi là Exadata Smart Flash Cache. Cơ chế lưu đệm này hoạt động kết hợp với XRMEM Data Accelerator để tự động lưu đệm những dữ liệu thường xuyên được truy cập, trong khi các dữ liệu ít truy cập hơn sẽ vẫn nằm trên ổ đĩa. Phương pháp này kết hợp giữa tốc độ I/O cao và thời gian phản hồi nhanh của flash với dung lượng lớn và hiệu quả chi phí của đĩa cứng. Exadata được thiết kế với hiểu biết độc đáo về các khối lượng công việc cơ sở dữ liệu và có thể thông minh tránh lưu đệm những dữ liệu gây ảnh hưởng tiêu cực đến hiệu năng tổng thể.

Công nghệ Smart Scan, hay còn được gọi là SQL Offload to Storage và chỉ có trên Exadata, đẩy xử lý truy vấn SQL xuống tầng lưu trữ. Nó thực hiện các nhiệm vụ như lọc, chọn cột, nối bảng và tổng hợp trực tiếp trong tầng lưu trữ, loại bỏ nhu cầu chuyển toàn bộ dữ liệu được truy vấn lên tầng cơ sở dữ liệu để xử lý. Các hệ thống lưu trữ truyền thống chỉ có thể cung cấp một phần nhỏ băng thông tổng hợp từ các ổ flash của chúng vì liên kết mạng giữa máy chủ cơ sở dữ liệu và lưu trữ trở thành một nút thắt lớn.

Một tối ưu hóa nổi bật của máy chủ lưu trữ nhận biết định dạng cơ sở dữ liệu là Storage Index. Khi các Smart Scan chạy trên máy chủ lưu trữ, chúng sẽ điền vào bộ nhớ đệm metadata trong bộ nhớ, ghi lại các khoảng giá trị của các cột được lưu trong mỗi đơn vị dữ liệu được truy cập bởi quá trình quét. Metadata này có thể được sử dụng trong các lần Smart Scan tiếp theo để xác định – dựa trên điều kiện lọc – rằng nên truy cập hay bỏ qua đơn vị dữ liệu nào. Kết quả là có thể giảm đáng kể số lượng thao tác I/O lưu trữ được phát sinh bởi Smart Scan, tùy thuộc vào độ chọn lọc của điều kiện lọc.

Giảm chi phí xử lý thông qua giao tiếp tối ưu

Exafusion là giao thức mạng thế hệ tiếp theo, có mặt độc quyền trên Oracle Exadata. Oracle Database sử dụng Exafusion để loại bỏ context switches và giảm thiểu chi phí xử lý của hệ điều hành thông qua giao tiếp direct-to-wire, từ đó cải thiện độ trễ gấp 3 lần so với các nền tảng không phải Exadata vốn dựa vào mô hình truyền tin truyền thống. Ngoài ra, sử dụng Exafusion còn giảm đáng kể mức sử dụng CPU liên quan đến các giao tiếp giữa các phiên bản (inter-instance communications). Tổng thể, việc tăng tốc độ truyền thông này mang lại lợi ích trực tiếp cho hiệu suất ứng dụng, đặc biệt với các ứng dụng được triển khai trên Oracle Real Application Clusters (RAC).

Khi triển khai trên Exadata, Oracle Database duy trì một bộ In-Memory Commit Cache. Mỗi phiên bản Oracle RAC duy trì một bộ nhớ đệm (cache) chứa các giao dịch cục bộ và trạng thái commit, mà các phiên bản từ xa có thể đọc bằng RDMA. Bộ nhớ đệm commit này hỗ trợ truy vấn trạng thái giao dịch theo lô, giúp giảm thiểu số lượng truy vấn trạng thái từng giao dịch đơn lẻ và cải thiện đáng kể thời gian xử lý cho cả truy vấn và thao tác DML.

 Khả năng sẵn sàng cao hơn

Bên cạnh các tính năng và thông lệ tốt nhất thuộc Kiến trúc Tối đa Khả năng Sẵn sàng – Maximum Availability Architecture (MAA) mà Exadata được xây dựng trên đó, tính năng Exadata Instant Failure Detection đặc biệt nâng cao mức độ sẵn sàng của Oracle Database. Bằng cách tận dụng RDMA thay vì các thông điệp heartbeat TCP/IP, nó phát hiện lỗi trên máy chủ cơ sở dữ liệu hoặc máy chủ lưu trữ một cách cực nhanh – trong vòng chưa đến một giây. Không có Exadata Instant Failure Detection, việc phát hiện lỗi máy chủ thường mất một phút hoặc lâu hơn, trong khoảng thời gian đó ứng dụng có thể gặp hiện tượng “brownout” hoặc hiệu suất không ổn định.

 Hợp nhất cơ sở dữ liệu trên Exadata

Cách ly (isolation) là điều cần thiết trong các môi trường cung cấp dịch vụ dùng chung hoặc phát triển/kiểm thử (DevTest). Các môi trường hợp nhất chạy trên Exadata X10M có thể sử dụng các máy ảo (VM Guest) dựa trên KVM và Secure RDMA Fabric Isolation để đảm bảo cách ly mạnh mẽ giữa các khối lượng công việc. Khi sử dụng ảo hóa, Exadata có thể triển khai an toàn nhiều cụm VM – có thể chạy cùng hoặc khác phiên bản phần mềm Exadata, phần mềm hạ tầng lưới (grid infrastructure) hoặc cơ sở dữ liệu – tất cả trên cùng một tập máy chủ cơ sở dữ liệu.

 Nâng cao bảo mật mà không bị gián đoạn

Các máy chủ cơ sở dữ liệu Exadata tận dụng khả năng cập nhật không gián đoạn Ksplice của Oracle Linux để áp dụng các bản vá bảo mật trong khi hệ điều hành vẫn hoạt động, nghĩa là không cần dừng hệ thống hay khối lượng công việc nào. Đối với Exadata Database Machine, khách hàng có thể sử dụng Ksplice để cập nhật kernel trên các máy chủ cơ sở dữ liệu. Đối với Exadata Cloud@Customer, khi có thể, các bản cập nhật do Oracle triển khai được áp dụng trực tiếp lên hệ thống đang chạy mà không cần downtime thông qua Ksplice. Với các bản cập nhật khác cần khởi động lại thành phần, Oracle thực hiện theo cách rolling để đảm bảo duy trì dịch vụ trong quá trình cập nhật.

Cấu hình Linux trên Exadata đạt hơn 90% trên điểm chuẩn STIG SCAP (Security Content Automation Protocol) của Hướng dẫn Thực thi Kỹ thuật Bảo mật từ Cơ quan Hệ thống Thông tin Quốc phòng Hoa Kỳ – DISA ngay từ nhà máy. Khi kết hợp với các tính năng bảo mật được tối ưu hóa cho Exadata trên Oracle Linux như Secure Boot, Advanced Intrusion Detection Environment (AIDE), Security Enhanced Linux (SELinux), hỗ trợ LDAP, Kerberos, tiêu chuẩn FIPS 140-2, seccomp trên máy chủ lưu trữ, và bộ tính năng bảo mật đầy đủ của Oracle Database, Exadata mang đến khả năng bảo vệ dữ liệu từ đầu đến cuối mà không làm ảnh hưởng đến hiệu suất hoặc tính sẵn sàng.

Tài liệu tham khảo:

· Oracle blog. (2025). Gursewak Sokhi và Alex Blyth - “Maximize database performance with Oracle Exadata and Oracle Linux”

https://blogs.oracle.com/exadata/post/maximize-database-performance-with-oracle-exadata-and-oracle-linux


Bài sau
article.vi