4. Minh hoạ: Giải pháp Nhà kho dữ liệu Oracle (Oracle Warehouse)
4.2.2 Hệ Quản trị CSDL Oracle
Các ứng dụng Nhà kho dữ liệu đòi hỏi một số kỹ thuật xử lý khác biệt so với các ứng dụng tác nghiệp trực tuyến do các truy vấn phức tạp và không định trớc (ad hoc) trên một kho dữ liệu khổng lồ. Để hớng đến các yêu cầu đó, Oracle8i đã đi trớc một bớc trong việc cung cấp hàng loạt các kỹ thuật xử lý câu hỏi, tối u việc chọn đờng truy xuất dữ liệu hiệu quả nhất cũng nh khai thác triệt để các cấu trúc phần cứng song song.
Đợc nâng cao hơn từ các phiên bản trớc, Oracle8i đa ra nhiều sơ đồ chỉ số hoá tích hợp và phơng pháp kết nối giúp chuyển giao câu trả lời nhanh chóng cho ngời dùng Nhà kho dữ liệu. Chỉ số đợc bitmap hoá cùng với việc sử dụng công nghệ nén tiên tiến và cùng tồn tại với các kỹ thuật chỉ số hoá khác nh B-tree, bảng nối cụm và cụm băm. Chúng rất hiệu quả cho những câu hỏi kết hợp nhiều điều kiện chẳng hạn nh “Có bao nhiêu chiếc xe máy màu xanh đợc bán trong tháng chín tại khu vực phía Bắc?”. Việc sắp xếp dữ liệu trong bộ nhớ nhờ một bảng băm trớc đây sẽ đợc thay thế hiệu quả nhờ kỹ thuật kết nối băm. Các truy vấn dựa trên nhiều bảng dữ liệu đợc giải quyết nhờ xử lý kết nối hình sao sử dụng cả chỉ số B-tree lẫn bitmap rút ngắn đáng kể thời gian xử lý và đặc biệt rất hiệu quả trong những bảng dữ liệu lớn và các bảng tha. Oracle8i cung cấp cơ cấu lu trữ nhiều chiều và tính toán tổng hợp cũng nh tích hợp các lệnh thao tác của các công cụ phân tích trực tuyến (OLAP) nh Oracle Express Analyser.
Có nhiều cách để thực hiện một câu truy vấn dữ liệu phức tạp. Tuy nhiên, bộ tối u chi phí bên trong Oracle8i xác định một cách linh hoạt đờng truy cập và cách kết nối hiệu quả nhất. Nó cũng tự nhận biết cấu hình song song của phần cứng và chọn chiến lợc truy cập song song hiệu quả nhất.
Trong thực tế, Oracle đã chứng tỏ hiệu năng cao cấp cho nhiều ứng dụng với các cơ sở dữ liệu có kích thớc đến hàng terabyte. Một ứng dụng có thể có một bảng dữ liệu có số bản ghi rất lớn. Nhiều ngời dùng sẽ đồng thời truy cập và thao tác trên các bản ghi của nó. Nếu kỹ thuật khoá đến mức trang hoặc đến mức bản khi của hệ quản trị CSDL không tốt cũng nh hạn chế về phần cứng, chắc chắn hiệu năng ứng dụng sẽ bị giảm đáng kể. Oracle8i giải quyết đợc “cổ chai” đó của hiệu năng nhờ kỹ thuật phân hoạch bảng hay “chia để trị”. Các bảng và chỉ số khổng lồ đợc chia thành các phần nhỏ hơn đợc quản lý, lu trữ và xử lý tách biệt cũng nh có thể thực hiện song song. Cũng cần nhớ rằng ngời sử dụng sẽ không cần biết dữ liệu đợc phân hoạch nh thế nào trong khi bộ tối u chi phí sẽ tự nhận thức đợc và các phân hoạch không có dữ liệu liên quan đến câu hỏi truy vấn sẽ tự động bị loại ra khỏi việc tìm kiếm.
Cũng cần nhấn mạnh rằng một kiến trúc phần cứng đa xử lý (SMP) hoặc song song (cluster) sẽ chỉ đợc phát huy khi hệ thống ứng dụng trên CSDL biết khai thác nó và tận dụng hiệu quả. Kiến trúc xử lý câu hỏi song song của Oracle8i tận dụng khả năng phần cứng giúp tăng hiệu năng của các câu hỏi truy vấn và cập nhật bằng cách chia linh hoạt các thao tác đó ra thành các tác vụ tách biệt và phân phối chúng cho các bộ vi xử lý và cân bằng tải cho các nút nối cụm. Kiến trúc này làm việc hiệu quả và thông minh với hầu hết các hệ thống phần cứng song song hiện nay. Việc xử lý theo lô các thao tác bổ sung, đổi mới và loại bỏ dữ liệu đợc thực hiện song song nhau rất hữu dụng trong ứng dụng Nhà kho dữ liệu nh tạo bảng tóm tắt, sàng lọc dữ liệu lịch sử và quá trình phân tích theo kịch bản “điều-gì-xảy-ra-nếu”.
Khi có nhiều ngời dùng yêu cầu truy cập trong các ứng dụng Data Warehouse, các tranh chấp về tài nguyên hệ thống bao gồm bộ vi xử lý và đĩa trở thành vấn đề. Oracle8i cho phép tăng cờng quản lý tài nguyên bằng việc phân định u tiên sử dụng. Chẳng hạn, bạn có thể đặt ra qui định ngời dùng là kế toán bán hàng sẽ có u tiên sử dụng tài nguyên hệ thống cao hơn ngời dùng khác.
Ngoài việc sử dụng SQL*Loader hay nhờ giao diện API, việc chuyển đổi dữ liệu từ một Nhà kho dữ liệu sang một Chợ dữ liệu hoặc từ một hệ thống tác nghiệp tới một vùng trung gian cho Nhà kho dữ liệu có thể cồng kềnh và mất thời gian nếu không sử dụng cơ cấu của Oracle8i cho phép sao chép các vùng bảng (tệp dữ liệu) giữa các hệ thống với nhau một cách đơn giản và nhanh chóng.