Lược đồ sao trong mongodb
Ngày nay, báo cáo và phân tích quan trọng như nghiệp vụ chính vậy. Các bản báo cáo có thể được xây dựng từ dữ liệu trực tuyến; . Nhưng khi mọi thứ lớn lên hoặc lượng dữ liệu bắt đầu tăng lên nhanh chóng, đến lúc phải nghĩ đến vấn đề phân tách dữ liệu hệ thống hoạt động (hệ thống vận hành) và hệ thống báo cáo (hệ thống báo cáo) Show Trước khi giải quyết cấu hình dữ liệu, chúng ta cần một vài hiểu biết về nền tảng về hệ thống. Chúng ta cần chia các hệ thống thành 2 danh mục. hệ thống hoạt động (hệ điều hành) và hệ thống báo cáo (hệ thống báo cáo). Hệ thống hoạt động thường được gọi là OLTP. Các bạn có thể đọc bài Sự khác nhau giữa OLTP và OLAP. Hệ thống báo cáo và phân tích hệ thống được gọi là OLAP. Hỗ trợ OLTP xử lý giao dịch trong nghiệp vụ kinh doanh. Chúng ta làm việc với dữ liệu “live” và cần chuẩn hóa tốc độ cao vì nó cần phải tương tác với người dùng tốc độ nhanh. Ngược lại, mục đích chính của OLAP là phân tích. Các hệ thống này được sử dụng để tổng hợp dữ liệu, thường được thiết kế theo cấu trúc phi tiêu chuẩn cho kho dữ liệu giống sơ đồ ngôi sao. (Phi chuẩn là gì? Đơn giản là giảm dư thừa dữ liệu để tăng tốc nhanh hơn) Giờ chúng ta đã biết một chút về các hệ thống, hãy bắt đầu nào Data Warehouses và Data MartsKho dữ liệu (kho dữ liệu – DWH) là một hệ thống được sử dụng để lưu trữ thông tin cho việc phân tích và báo cáo. Data Marts là một tập tin của kho dữ liệu được sử dụng để lưu trữ thông tin cần thiết cho một phòng ban hoặc ngay cả một người dùng đơn lẻ. (Tượng DWH là tòa nhà, data mart là văn phòng trong tòa nhà) In sao lại cần data mart? . Đối với hầu hết người dùng, họ chỉ cần truy cập vào một tập dữ liệu cụ thể, giống như bán hàng (bán hàng), sản xuất (sản xuất), giao thông vận tải (hậu cần) hoặc tiếp thị. Data marts quan trọng ở cả 2 mặt là bảo mật dữ liệu và tránh nhầm lẫn vì quá nhiều dữ liệu (chúng ta không muốn nhầm lẫn chúng hoặc làm việc với những dữ liệu không liên quan) Có 2 cách tiếp cận để xây dựng kho dữ liệu và siêu thị dữ liệu
Quá trình ETL được sử dụng để thêm dữ liệu vào hệ thống OLAP. ETL là viết tắt của Extract, Transform và Load. Như tên của nó, chúng ta trích xuất (trích xuất) dữ liệu từ một hoặc nhiều nguồn là cơ sở dữ liệu hoạt động (OLTP), sau đó chuyển nó (biến đổi) cho phù hợp với cấu trúc của kho dữ liệu và tải nó. Mô hình chiều dữ liệu (Mô hình chiều) là một phần của kho dữ liệu thiết kế, kết quả của việc tạo mô hình chiều. Có 2 loại bảng tham gia vào
Trong sơ đồ ngôi sao, chúng ta sẽ thường tìm một vài thuộc tính là tập tin con của các thuộc tính khác nhau trong cùng 1 bản ghi. Sự dư thừa này nên rất quan trọng và giúp nâng cao hiệu quả tốt hơn. Chúng ta có thể sử dụng ngày tháng, vị trí và chi nhánh bán hàng để tổng hợp (chính là biến đổi trong ETL) và lưu trữ dữ liệu trong DWH. Trong kích thước mô hình, nó rất quan trọng trong việc định nghĩa kích thước đúng và phù hợp
Với những thông tin này, chúng ta có thể hiểu và xây dựng được sơ đồ ngôi sao Sơ đồ ngôi sao (Star Schema)Sơ đồ ngôi sao là mô hình đơn giản nhất được sử dụng trong DWH. Bởi vì bảng thực tế là trung tâm của mô hình với các kích thước bảng xung quanh nó, nó nhìn giống như một ngôi sao. Điều này rõ ràng khi bảng thực tế được bao quanh bởi 5 kích thước bảng. Một biến thể của sơ đồ ngôi sao là sơ đồ con rết (lược đồ rết), trong đó bảng thực tế bị bao vây bởi số lượng lớn các kích thước bảng nhỏ Mô hình ngôi sao được sử dụng rộng rãi trong data mart. Chúng ta có thể kết hợp chung trong mô hình từ trên xuống. Chúng ta sẽ phân chia mô hình 2 ngôi sao và kết hợp chúng để tạo ra mô hình đơn giản Ví dụ sơ đồ ngôi sao (Star schema). Việc bán hàngBáo cáo bán hàng (sales report) là một trong những báo cáo phổ biến nhất hiện nay. Như chúng ta đã nhắc đến ở trên, hầu hết các trường hợp chúng ta tạo báo cáo bán hàng từ hệ thống “live”. Nhưng khi kích thước dữ liệu hoặc nghiệp vụ làm cho chúng ta trở nên nên xem xét, chúng ta sẽ phải xây dựng một kho dữ liệu hoặc một data mart để sắp xếp lại quy trình. Sau khi thiết kế mô hình ngôi sao, quá trình ETL sẽ lấy dữ liệu từ cơ sở dữ liệu hoạt động (OLTP), chuyển dữ liệu theo định dạng của DWH và chuyển vào kho dữ liệu Mô hình trình bày ở trên chứa một bảng fact (màu đỏ) và 5 bảng dimensions (màu xanh). This table are
Ví dụ mô hình ngôi sao. đơn đặt hàng cung cấpCó nhiều sự tương đồng với mô hình bán hàng ở trên Mô hình này tập trung lưu trữ lịch sử của hóa đơn. We have a fact table and 4 dimensions table. Kích thước các bảng. dim_employee, dim_product và dim_time trích xuất thông tin giống như mô hình bán hàng. Tuy nhiên các bảng này lại khác nhau
Điểm mạnh và điểm yếu của mô hình ngôi saoCó nhiều điểm mạnh của mô hình ngôi sao. Bảng thực tế liên quan đến mỗi kích thước bảng bởi một quan hệ, và chúng ta không cần bất cứ từ điểm bổ sung nào để mô tả kích thước bảng. Đơn giản là truy vấn và giảm thời gian thực thi. Chúng ta có thể tái hiện báo cáo trực tiếp từ hệ thống OLTP, lệnh nhúng sẽ phức tạp hơn và có thể ảnh hưởng đến hiệu năng chung của hệ thống. Ví dụ sau đây là câu hỏi doanh số bán mô hình sẽ trả về số lượng của tất cả các loại máy móc được bán tại các cửa hàng đặt tại Berlin vào năm 2016
Điểm yếu nhất của cấu hình mô hình sau là dư thừa. Mỗi kích thước bảng được lưu trước khi tách rời, và đây là nguyên nhân của việc không chuẩn hóa. Trong ví dụ của chúng ta, thành phố thuộc về một vùng hoặc một tỉnh thành, chúng cũng thuộc về một vùng đất nước; . Nghĩa là chúng ta sẽ chiếm nhiều dung lượng ổ đĩa và có rủi ro về toàn bộ dữ liệu Mô hình thiên hà (Galaxy Schema)Chúng ta có thể nhìn vào 2 mô hình trên như là 2 data mart, 1 là cho phòng bán hàng (bán hàng) 2 là cho bộ phận nhà cung cấp (cung cấp). Mỗi cái đó bao gồm chỉ một bảng dữ kiện và một vài bảng chiều. Nếu chúng ta muốn kết hợp 2 data mart vào làm một. Đây là kiểu mô hình chứa vài bảng thực tế và chia sẻ các kích thước bảng mà nó được gọi là mô hình thiên hà (lược đồ thiên hà). Chia sẻ các kích thước bảng có thể giảm kích thước của cơ sở dữ liệu đặc biệt là khi chia sẻ các kích thước bảng có nhiều giá trị. Ý tưởng là các bảng dimensions trong cả 2 data mart có chung 1 cách thức. Nếu không chúng ta sẽ phải căn chỉnh cho nó phù hợp với cả 2 Một mô hình thiên hà (lược đồ thiên hà) được xây dựng với 2 ví dụ data mart, được hiển thị như hình Mô hình ngôi sao (lược đồ sao) là một cách tiếp cận để tổ chức kho dữ liệu. Nó rất đơn giản và thường dùng trong data mart. Nếu bạn không lo về dung lượng ổ đĩa và chúng ta làm tốt phần dữ liệu hoàn toàn nguyên chất thì mô hình ngôi sao khả thi và là lựa chọn tốt. Nếu không thì các bạn nên nghĩ đến cách tiếp cận khác. Một trong số đó là mô hình bông tuyết (snowflake shema) chúng ta sẽ nói đến sau |