Câu trả lời:
Hãy suy nghĩ về một quá trình hoặc sự kiện mà bạn muốn phân tích.
Giả sử bạn đang xây dựng Lougle Analytics và muốn phân tích các lượt truy cập (trái ngược với yêu cầu một trang) cho trang web của bạn. Tham quan một trang web là một quá trình.
Một bảng thực tế đại diện cho một quá trình hoặc sự kiện bạn muốn phân tích, trong trường hợp này là một danh sách các lượt truy cập trang web. Bạn có thể có nhiều bảng thực tế như bạn muốn, mỗi bảng cho một quá trình hoặc sự kiện.
Điều gì có thể hữu ích cho bạn trong việc phân tích các lượt truy cập trang web?
Về mặt kỹ thuật, bạn có thể đặt tất cả những thứ này vào một bảng - giống như trong Excel, nhưng điều đó sẽ thực sự lớn rất nhanh, vì vậy chúng tôi sẽ thực hiện MỘT mức độ chuẩn hóa. Thiết kế kích thước thường chỉ là "đặt mọi thứ bạn cần cho một phân tích vào một bảng lớn", và sau đó bình thường hóa một cấp độ.
Vì vậy, bảng thực tế của bạn sẽ trông như thế này:
web_browser_key bigint
ip_address_key bigint
start_date_key int
referring_page_key bigint
landing_page_key bigint
exit_page_key bigint
duration_seconds int
number_of_pages_visited int
Nó có một loạt các giá trị khóa tham chiếu đến các giá trị trong các bảng khác và hai khóa không. Các khóa không phải là giá trị số và được gọi là Số đo . Bạn có thể lấy trung bình của tên thương hiệu trình duyệt web? Không, đó là một chiều. Bạn có thể lấy trung bình của thời gian truy cập? Vâng, đó là một biện pháp.
Các bảng khác được gọi là bảng Thứ nguyên và ip_address
bảng thứ nguyên có thể trông như thế này:
ip_address_key bigserial primary key, /* use meaningless surrogate keys */
ip_address inet unique,
country text,
division text,
locality text,
latitude numeric(8,6),
longitude numeric(9,6)
Lưu ý rằng nó không được chuẩn hóa: quốc gia có thể được bắt nguồn từ thành phố (địa phương). Tuy nhiên, trong một kho dữ liệu, chúng tôi quan tâm đến việc tạo điều kiện phân tích trước tiên. Bằng cách tạo điều kiện phân tích, tôi có nghĩa là tránh tham gia sâu.
Lưu ý rằng một số dữ liệu trong bảng thứ nguyên là phân cấp : quốc gia> bộ phận> địa phương. Máy chủ OLAP của bạn (hy vọng) hiểu các cấu trúc phân cấp để hỗ trợ các hoạt động truy vấn ngược.
Một khối logic chỉ là tập hợp các Kích thước và Đo lường mà bạn đang làm việc. Không giống như khối Rubik, nó có thể có nhiều hơn 3 chiều. Chỉ cần nghĩ về thứ nguyên là một cột trong bộ dữ liệu của bạn.
OLAP là một tập hợp các hoạt động bạn có thể thực hiện đối với một tập dữ liệu, chẳng hạn như xoay vòng, cắt, thái hạt lựu, khoan. Hãy nghĩ về Excel PivotTable. Một OLAP server tạo điều kiện cho OLAP hoạt động.
Thường không có khóa ngoại
Trong hình dưới đây là một ví dụ về Lược đồ sao cơ bản. Kích thước là Dim_Tables.
Đây thường là các giá trị mà bạn muốn phân tích dữ liệu theo. Vì vậy, bạn muốn xem xét một doanh số sản phẩm cụ thể, ở một quốc gia cụ thể, trong một phạm vi ngày cụ thể.
Trong bảng fact_sales, bạn chỉ có một Số đo là Đơn vị_Sold.
Các biện pháp (ở cấp độ đơn giản nhất) chỉ là những thứ bạn muốn tổng hợp khi phân tích dựa trên các tiêu chí trong các kích thước.
Nếu có bất cứ điều gì cụ thể hơn mà bạn muốn biết xin vui lòng cho tôi biết.
city
trong lược đồ của bạn, vì vậy khi bạn nóicountry could be derived from city
tôi không tích cực về ý của bạn.