Chuyển thiết kế logic thành thiết kế vật lý

Một phần của tài liệu Nghiên cứu giải pháp kho dữ liệu trong Oracle data warehouse 10g và áp dụng trong bài toán xây dựng kho dữ liệu khách hàng, ngân hàng TMCP Tiên Phong (Trang 30 - 33)

Thiết kế logic là cái ta vẽ với bút và giấy hoặc thiết kế với Oracle Warehouse Builder hoặc Oracle Designer trước khi xây dựng kho dữ liệu.

Thiết kế vật lý là việc tạo cơ sở dữ liệu với các lệnh SQL. Trong quá trình thiết kế vật lý, ta chuyển đổi dữ liệu thu thập được trong pha thiết kế logic vào một mô tả

của cấu trúc cơ sở dữ liệu vật lý. Các quyết định thiết kế vật lý được thúc đẩy bởi hiệu suất truy vấn và các khía cạnh bảo trì cơ sở dữ liệu. Ví dụ, việc lựa chọn một chiến lược phân vùng mà đáp ứng các yêu cầu truy vấn phổ biến cho phép cơ sở dữ liệu Oracle tận dụng lợi thế của việc lược bớt phân vùng, một cách thu hẹp một tìm kiếm trước khi thực thi nó.

2.6.2. Thiết kế vật lý

Trong pha thiết kế vật lý, ta xác định một mô hình cho kho dữ liệu gồm các thực thể, các thuộc tính, và các mối quan hệ. Các thực thểđược liên kết với nhau sử dụng các mối quan hệ. Các thuộc tính được sử dụng để mô tả các thực thể. Định danh duy nhất phân biệt giữa một trường hợp của một thực thể với các trường hợp khác.

Hình 2-12 minh họa một phương pháp đồ họa của việc phân biệt giữa thiết kế

logic và thiết kế vật lý.

Hình 2-12: Thiết kế logic so với thiết kế vật lý

Trong quá trình thiết kế vật lý, ta chuyển các lược đồ dự kiến thành các cấu trúc dữ liệu thực tế. Lúc này, ta phải ánh xạ:

• Các thực thể tới các bảng.

• Các thuộc tính tới các cột.

• Các định danh duy nhất tới các ràng buộc khóa duy nhất.

2.6.3. Cấu trúc thiết kế vật lý

Một khi ta đã chuyển thiết kế logic thành một thiết kế vật lý, ta sẽ cần phải tạo ra một số hoặc tất cả các cấu trúc sau: • Các không gian bảng. • Các bảng và các bảng phân vùng. • Các khung nhìn. • Các ràng buộc toàn vẹn. • Các chiều.

Một số cấu trúc này yêu cầu không gian đĩa. Một số khác chỉ tồn tại trong từđiển dữ liệu. Ngoài ra, các cấu trúc sau có thểđược tạo ra cho cải thiện hiệu suất.

• Chỉ mục và chỉ mục phân vùng.

• Khung nhìn.

2.6.4. Không gian lưu trữ dữ liệu

Một không gian lưu trữ dữ liệu bao gồm một hoặc nhiều tệp dữ liệu, đó là những cấu trúc vật lý trong hệđiều hành ta đang sử dụng. Một tệp dữ liệu liên kết với chỉ một không gian lưu trữ dữ liệu. Từ một quan điểm thiết kế, các không gian lưu trữ dữ liệu là nơi chứa các cấu trúc thiết kế vật lý.

Các không gian lưu trữ dữ liệu cần phải được tách ra bởi sự khác biệt. Ví dụ, các bảng nên được tách ra khỏi các chỉ mục của chúng và các bảng nhỏ nên được tách ra từ các bảng lớn. nếu có thế các không gian lưu trữ dữ liệu cũng nên đại diện cho các

đơn vị nghiệp vụ. Bởi vì một không gian lưu trữ cho phép sao lưu và khôi phục hoặc di chuyển, thiết kế nghiệp vụ logic ảnh hưởng đến độ khả dụng và các hoạt động bảo trì.

Bây giờ ta có thể sử dụng các tệp dữ liệu cực lớn, một cải tiến đáng kể trong các cơ sở dữ liệu rất lớn.

2.6.5. Bảng và phân hoạch bảng

Bảng là đơn vị cơ bản của lưu trữ dữ liệu. Chúng là nơi chứa lượng dữ liệu thô dự kiến trong kho dữ liệu.

Sử dụng các bảng phân hoạch thay cho những bảng không phân hoạch giải quyết vấn đề chủ chốt của việc hỗ trợ khối lượng dữ liệu rất lớn bằng cách cho phép phân

tích chúng thành những mảnh nhỏ hơn và dễ quản lý hơn. Tiêu chuẩn thiết kế chính cho phân vùng là dễ quản lý, tuy nhiên ta cũng sẽ thấy được lợi ích hiệu năng trong hầu hết các trường hợp bởi sự lược bớt các phân hoạch hay việc xử lý song song thông minh.

Phân hoạch các bảng lớn cải thiện hiệu suất vì mỗi phân vùng dễ quản lý hơn. thông thường, ta phân vùng dựa trên các ngày giao dịch trong kho dữ liệu. Ví dụ, mỗi tháng, một giá trị dữ liệu của tháng có thểđược gán phân hoạch riêng cho nó.

2.6.6. Nén bảng

Ta có thể tiết kiệm không gian đĩa bằng cách nén các bảng được tổ chức theo khối. Một loại điển hình của bảng dữ liệu được tổ chức theo khối nên xem xét cho việc nén bảng là các bảng phân hoạch.

Để giảm thiểu việc sử dụng đĩa và sử dụng bộ nhớ trong, như bộ nhớ đệm, ta có thể lưu trữ các bảng và các bảng được phân hoạch ở dạng nén bên ngoài cơ sở dữ liệu.

Điều này thường dẫn tới một thiết kế quy mô tốt hơn cho các hoạt động chỉ đọc. Nén bảng cũng có thể tăng tốc việc thực thi truy vấn. Tuy nhiên, điều quan tâm là cái giá trong chi phí hoạt động bộ xử lý. (adsbygoogle = window.adsbygoogle || []).push({});

Nén bảng nên được sử dụng với dữ liệu dư thừa cao, như bảng với nhiều khóa ngoại. Ta nên tránh nén bảng với nhiều cập nhật hay hoạt động ngôn ngữ thao tác dữ

liệu (DML) khác.

2.6.7. Khung nhìn

Một khung nhìn là một thể hiện phù hợp của dữ liệu chứa trong một hoặc nhiều bảng hoặc các khung nhìn khác. Một khung nhìn đưa ra kết quả của một truy vấn và xem nó như một bảng. Các khung nhìn không yêu cầu không gian trong cơ sở dữ liệu.

2.6.8. Ràng buộc toàn vẹn

Ràng buộc toàn vẹn ngăn cản việc có các thông tin không hợp lệ trong bảng. Ràng buộc toàn vẹn trong kho dữ liệu khác với ràng buộc trong môi trường OLTP. Trong môi trường OLTP, chúng chủ yếu ngăn chặn việc chèn dữ liệu không hợp lệ vào một bản ghi, mà đó không phải là một vấn đề lớn trong môi trường kho dữ liệu vì độ

chính xác đã được bảo toàn. Trong môi trường kho dữ liệu, ràng buộc chỉ sử dụng cho viết lại truy vấn. Ràng buộc NOT NULL đặc biệt phổ biến trong kho dữ liệu. Như một số trường hợp cụ thể, ràng buộc cần không gian trong cơ sở dữ liệu.

2.6.9. Chỉ mục và chỉ mục phân cụm

Chỉ mục là cấu trúc tùy ý kết hợp với các bảng hoặc các cluster. Ngoài chỉ mục B-tree cổ điển, chỉ mục bitmap cũng rất phổ biên trong môi trường kho dữ liệu. Chỉ

mục bitmap là cấu trúc chỉ mục tối ưu cho các hoạt động tập các dữ liệu được thiết lập

định hướng. Thêm nữa, chúng cần thiết cho một số phương pháp truy cập dữ liệu tối

ưu như các phép biến đổi hình sao.

Chỉ mục như bảng bởi vì ta có thể phân vùng chúng, mặc dù chiến lược phân vùng không phụ thuộc vào cấu trúc bảng. Phân vùng các chỉ mục làm nó dễ dàng hơn trong quản lý kho dữ liệu trong quá trình làm tươi và cải thiện hiệu năng truy vấn.

2.6.10. Khung nhìn vật lí

Khung nhìn vật lí là các kết quả truy vấn đã được lưu trữ cho nên các tính toán dài hạn không cần thiết khi ta thực sự thực thi các câu lệnh SQL. Từ quan điểm thiết kế vật lý của khung nhìn, các khung nhìn vật lí tương tự các bảng hoặc bảng được phân hoạch và hoạt động như chỉ mục bởi vì chúng được sử dụng một cách rõ ràng và cải thiện được hiệu năng.

2.6.11. Chiều

Chiều là một đối tượng mà xác định các mối quan hệ thứ bậc giữa các cột hoặc các nhóm cột. Một quan hệ phân cấp là một phụ thuộc hàm từ một mức của một phân cấp tới một mức của phân cấp kế tiếp. Một chiều là một miền của các mối quan hệ

logic và không yêu cầu không gian trong cơ sở dữ liệu. Một chiều điển hình là city, state (hoặc province), region, và country.

Hình 2-13: Ví dụ về chiều

Một phần của tài liệu Nghiên cứu giải pháp kho dữ liệu trong Oracle data warehouse 10g và áp dụng trong bài toán xây dựng kho dữ liệu khách hàng, ngân hàng TMCP Tiên Phong (Trang 30 - 33)