Fundamentals: Cube.dev là gì?

    Cube giải quyết vấn đề gì, gồm những khái niệm nào, và trong trường hợp nào nên chọn Cube thay cho các giải pháp khác.

    Trần Ngọc Đăng KhôiChương 01 / 0714 phút đọc
    Mục lục chương
      Ý chính của chươngCube là semantic layer nằm giữa data warehouse và các ứng dụng truy vấn dữ liệu. Mỗi chỉ số được định nghĩa một lần và dùng chung ở mọi nơi.
      01.1

      Cube.dev là gì?

      Một lớp trung gian giữa data warehouse và các ứng dụng truy vấn dữ liệu.

      Cube.dev là nền tảng phân tích xây trên một semantic layer mã nguồn mở. Cube không thay thế data warehouse, cũng không kèm sẵn công cụ vẽ biểu đồ. Cube nằm ở tầng giữa, tiếp nhận yêu cầu từ các ứng dụng phía trên và chuyển đổi thành truy vấn cho data warehouse phía dưới.

      Hình 1Chọn từng tầng để xem chức năng của tầng đó.

      Cube được phát hành dưới hai dạng. Cả hai dạng dùng chung một data model.

      Ghi nhớFile data model chuyển được nguyên vẹn giữa Cube Core và Cube Cloud mà không cần sửa dòng nào.
      01.2

      Semantic layer giải quyết vấn đề gì?

      Chỉ số được định nghĩa một lần và dùng chung ở mọi nơi.

      Khi chưa có semantic layer, một chỉ số như “Doanh thu thuần” bị định nghĩa lại trong từng công cụ. Mỗi phòng ban nhận được một con số khác nhau, và dữ liệu mất độ tin cậy. Hình 2 cho phép chuyển qua lại giữa hai trạng thái.

      Doanh thu thuần tháng này, số minh họa
      Hình 2Bốn bề mặt tiêu thụ, cùng một câu hỏi.

      Semantic layer của Cube gồm bốn trụ cột. Chọn từng trụ cột để xem phạm vi đảm nhận.

      Đọc sâuVì sao Cube chọn code-first

      Data model của Cube là file YAML hoặc JavaScript nằm trong Git. Do đó data model tuân theo quy trình phát triển phần mềm: có lịch sử phiên bản, qua review trước khi deploy, có kiểm thử tự động trong CI/CD, và tách biệt các môi trường dev, staging, production.

      Các công cụ BI đóng gói thường đặt logic trong calculated field trên giao diện, nên các thay đổi không thể review hay truy vết.

      01.3

      Bốn dấu hiệu khi thiếu semantic layer

      Khi mỗi dashboard tự viết SQL, số liệu giữa các nơi sớm muộn sẽ sai lệch.

      Chọn một dấu hiệu để xem hệ quả và cách Cube xử lý.

      Hình 3Vấn đề, hệ quả, và cách Cube giải quyết.
      Ghi nhớKhi AI Agent truy vấn qua Cube, agent gọi các chỉ số đã định nghĩa sẵn thay vì tự suy đoán phép join trên bảng thô.
      01.4

      Sáu khái niệm cốt lõi

      Cube, view, measure, dimension, segment, join. Nắm được sáu khái niệm này là đủ để đọc mọi data model.

      Mỗi cube mô tả một đối tượng kinh doanh như đơn hàng hay khách hàng. Views nằm ở lớp phía trên, chọn lọc measures và dimensions từ nhiều cube thành một data mart gọn cho người dùng và AI Agent. Chọn từng dòng YAML để xem dòng đó khai báo gì.

      Hình 4Tương tác: mỗi dòng ứng với một khái niệm.
      Đọc sâuMeasures có những kiểu nào?

      Các kiểu phổ biến: count, sum, avg, count_distinct và count_distinct_approx. Kiểu cuối cùng đếm xấp xỉ và nhanh hơn nhiều trên tập dữ liệu lớn. Chương 04 phân tích chi tiết cách chọn kiểu measure.

      01.5

      Ba kịch bản dùng Cube

      BI nội bộ, embedded analytics trong sản phẩm, và AI context layer.

      Hình 5Cùng một data model, ba nhóm người dùng.
      01.6

      Cube, dbt Semantic Layer hay LookML?

      Ba công cụ giải quyết cùng một bài toán theo ba cách khác nhau.

      Chọn tiêu chí để so sánh. Bảng so sánh lấy từ handbook; trước khi chọn công cụ cho dự án thực tế, nên đối chiếu thêm tài liệu chính thức của từng công cụ.

      Hình 6So sánh theo từng tiêu chí.
      Chương tiếp theo02 · Architecture & Internals→