Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung)
85

Sản phẩm

dbt Labs ra mắt dbt Charts: Biến dashboard tương tác thành file YAML có thể kiểm định

(giờ Việt Nam)

Tóm tắt AI

dbt Labs vừa mã nguồn mở dbt Charts, cho phép định nghĩa toàn bộ dashboard tương tác thông qua file YAML duy nhất. Công cụ này kết hợp SQL để truy vấn dữ liệu, YAML để cấu hình hiển thị, cùng Markdown và Jinja để tối ưu hóa khả năng tùy biến và kiểm soát phiên bản.

Bản dịch AI

Charts built for Chat

Blog · 14 tháng 9, 2026 · Dave Fowler

Chúng tôi đang mở mã nguồn dbt Charts, một ngôn ngữ khai báo dành cho các bảng điều khiển (dashboard), để ngay cả những bảng điều khiển bạn tạo ra bằng cách trò chuyện với một tác nhân (agent) cũng có thể được quản trị.

AI dành cho dữ liệu đã xuất hiện, và phân tích tự phục vụ (self-serve analytics) vốn được hứa hẹn từ lâu cuối cùng cũng đang trở thành hiện thực. Bất kỳ ai có kết nối dữ liệu đều có thể trò chuyện để tạo ra một báo cáo chỉ trong một buổi chiều, và những kết quả đầu tiên thực sự rất ấn tượng.

Tuy nhiên, những trở ngại xuất hiện rất nhanh. Theo mặc định, một tác nhân sẽ biến một báo cáo đơn giản thành một đống tệp tin: HTML, CSS và JavaScript, một vài thư viện biểu đồ, và một ứng dụng React hoặc Streamlit khi cần đưa vào hoạt động thực tế. Việc truy xuất nguồn gốc của một kết quả đồng nghĩa với việc phải lần theo qua nhiều ngôn ngữ và tệp tin khác nhau, điều này gây chậm trễ cho quá trình kiểm định của con người và tiêu tốn thời gian cũng như token của tác nhân trong mỗi lần thay đổi.

Các công cụ BI đã đi theo hướng ngược lại và gắn thêm các "copilot" vào các ứng dụng ưu tiên giao diện người dùng (UI-first) của họ. Điều đó giữ cho AI nằm trong khuôn khổ quản trị, nhưng lại rất hạn hẹp: tác nhân chỉ có thể làm những gì mà giao diện người dùng cho phép.

Vì vậy, ngày nay bạn phải lựa chọn giữa sự tự do lộn xộn của mã nguồn và sự kiểm soát hạn hẹp của một công cụ BI. Chúng tôi đã xây dựng một lựa chọn thứ ba: hãy xem trước, hoặc đọc tiếp để biết BI đã đi đến đây như thế nào.

Phân tách BI (Unbundling BI)

Như Tristan Handy, nhà sáng lập dbt Labs, đã viết gần đây trong bài "BI’s Second Unbundling":

Khi tôi mới bắt đầu làm về dữ liệu, các công cụ BI là dạng "full-stack". Mọi thứ đều diễn ra bên trong một sản phẩm duy nhất: thu thập dữ liệu, chuyển đổi, tính toán, lưu trữ đệm (caching), ngữ nghĩa, trực quan hóa, định danh. Công cụ BI chính là toàn bộ hệ thống dữ liệu (data stack). MicroStrategy, Cognos, v.v.: chúng không chỉ là công cụ trực quan hóa, chúng là các nền tảng dữ liệu tích hợp.

Sau đó, hệ thống dữ liệu hiện đại (modern data stack) ra đời. Từ khoảng năm 2015 đến 2022, các lớp hạ tầng của gói BI đó đã được tách ra và chuyển thành hạ tầng chuyên dụng. Tính toán chuyển sang Big 5. Thu thập dữ liệu chuyển sang Fivetran. Chuyển đổi chuyển sang dbt. Công cụ BI chỉ còn lại: trực quan hóa, giao diện phân tích tương tác, định nghĩa ngữ nghĩa (đôi khi!), quản lý định danh và truy cập, cùng với lưu trữ web.

BI và mọi thứ còn lại

Những gì còn sót lại sau quá trình phân tách đó chính là công cụ BI mà chúng ta biết ngày nay, và biểu đồ là phần quan trọng nhất. Chúng vẫn nằm trong giao diện người dùng vì lý do chính đáng: đối với hầu hết mọi người, việc nhấp chuột nhanh hơn là viết YAML. Nhưng ngày càng có nhiều biểu đồ không còn được tạo ra bởi con người nữa. Khi giao diện người dùng và người dùng của mọi thứ ngày càng trở thành một tác nhân trò chuyện, ưu tiên này sẽ đảo ngược. Các tác nhân thông thạo mã nguồn, SQL và Git, nhưng lại lóng ngóng trong giao diện người dùng của người khác. Vì vậy, biểu đồ cần phải chuyển đến nơi mà các tác nhân làm việc: vào trong mã nguồn.

Biểu đồ rời khỏi công cụ BI

Hôm nay, chúng tôi thực hiện bước tiếp theo trong việc phân tách BI: chúng tôi mở mã nguồn dbt Charts, đưa các biểu đồ ra khỏi công cụ BI và đặt chúng vào mã nguồn, cụ thể là một ngôn ngữ YAML có cấu trúc mới có thể khai báo một bảng điều khiển tương tác hoàn chỉnh trong một tệp YAML có thể kiểm định được. Hãy trò chuyện thoải mái với một tác nhân, và những gì nó tạo ra sẽ có sự tự do của mã nguồn trong khi vẫn dễ đọc.

BI và một vài thành phần nhỏ

Trong dbt Charts, SQL vẫn là ngôn ngữ để khai báo CÁI GÌ (WHAT) dữ liệu bạn muốn xem, và chúng tôi bao bọc nó trong YAML để khai báo CÁCH (HOW) bạn muốn xem dữ liệu đó.

Chúng tôi đã dành nhiều thời gian để chắt lọc ngôn ngữ này thành một vài yếu tố cốt lõi, có khả năng mở rộng: sâu sắc trong những gì chúng có thể biểu đạt, dễ dàng tổ chức và đọc hiểu. YAML bao bọc nhiều hơn là chỉ SQL. Markdown chứa văn bản, và Jinja, giống như trong dbt, chứa các biến và macro.

Đây là một ví dụ nhỏ: một biến (bộ lọc giao diện), một truy vấn và một biểu đồ.

Tệp đó chính là toàn bộ bảng điều khiển. CLI sẽ kết xuất bất kỳ tệp bảng điều khiển nào thành SVG tĩnh, hoặc HTML, PNG, PDF, và thậm chí là hiển thị trên terminal, trên máy tính xách tay của bạn hoặc trong CI, và phục vụ một thư mục chứa chúng như một trang web:

Những yếu tố ít ỏi đó lại có chiều sâu: hơn 1.100 tùy chọn cấu hình hiện nay, trên mười sáu loại biểu đồ và các biểu đồ tổng hợp được xây dựng từ chúng. Và giống như bất kỳ ngôn ngữ tốt nào, nó có thể biểu đạt các bố cục và hình ảnh phức tạp.

Bạn hiếm khi phải thiết lập các tùy chọn đó bằng tay. Các kiểu dáng (styles) được kế thừa theo tầng: một biểu đồ kế thừa từ bảng điều khiển của nó, bảng điều khiển kế thừa từ chủ đề (theme), và một chủ đề chỉ cần một dòng để chuyển đổi. Một bảng điều khiển cũng có thể mở rộng từ một bảng điều khiển khác, vì vậy một phong cách chung hoặc một báo cáo tiêu chuẩn chỉ cần viết một lần và được kế thừa ở mọi nơi. Các bảng điều khiển vẫn ngắn gọn, và việc tạo chủ đề vẫn rất tiết kiệm.

Một bảng điều khiển dbt Charts hoàn chỉnh, được kết xuất từ một tệp YAML dễ đọc.

Tích hợp sâu với dbt

Bạn không bắt buộc phải sử dụng dbt Charts với một dự án dbt, nhưng khi bạn làm vậy, rất nhiều tiềm năng sẽ được mở khóa. Lớp biểu đồ nằm trực tiếp trên lớp chuyển đổi, và sự tích hợp càng sâu, việc thay đổi cả hai càng dễ dàng.

Với dbt Charts, thư mục charts/ của bạn nằm cạnh thư mục models/ trong cùng một kho lưu trữ Git, vì vậy một thay đổi đối với mô hình và các biểu đồ của nó sẽ được triển khai trên cùng một nhánh, thông qua một lần chạy CI, và sẽ báo lỗi trước khi nó đến được môi trường sản xuất.

Các truy vấn tiếp cận các mô hình thông qua ref, được giải quyết từ manifest của bạn, vì vậy một mô hình bị đổi tên hoặc một cột bị thiếu sẽ làm thất bại pull request đã gây ra lỗi đó, trước khi dbt run xây dựng lại kho dữ liệu:

Hỗ trợ cho dbt Semantic Layer đã nằm trong kế hoạch, vì vậy một bảng điều khiển có thể sử dụng một chỉ số (metric) theo cách dự án định nghĩa thay vì phải viết lại SQL của nó. Hãy theo dõi dbt-labs/dbt-charts#1.

Được xây dựng cho trò chuyện

Các tác nhân có thể khá mù mờ, và chúng hoạt động tốt nhất với một vòng lặp phản hồi chặt chẽ. dbt Charts cung cấp cho chúng điều đó: xác thực nghiêm ngặt cả YAML và SQL, cùng một bộ kiểm tra trực quan mở rộng giúp gắn cờ các vấn đề trước khi bất kỳ ai nhìn thấy bảng điều khiển:

Một hệ thống báo cáo đẹp mắt và gắn kết

Chúng tôi hy vọng dbt Charts, giống như dbt trước đây, sẽ trở thành ngôn ngữ tiêu chuẩn mở cho lớp đó của hệ thống dữ liệu. Chúng tôi thiết kế nó cho một tương lai nơi con người và AI cùng nhau xây dựng, và chúng tôi muốn nó trông giống như tương lai đó, chứ không phải giống như một lưới bảng điều khiển khác. Chúng tôi đã mời RJ Andrews, một nhà thiết kế đồ họa dữ liệu, tác giả và nhà sử học, để thiết kế các biểu đồ. Sự am hiểu của ông về lịch sử của nghề này là điều khiến kết quả mang lại cảm giác mới mẻ: nó vượt xa kỷ nguyên bảng điều khiển để trở về với hình dáng của những biểu đồ khi con người vẽ chúng bằng sự cẩn trọng.

Nhiều công cụ "ăn gian" bằng các thẻ và hộp giả tạo sự căn chỉnh, gây ra nhiễu thị giác và lãng phí không gian. Chúng tôi đã tính toán kỹ lưỡng khoảng cách, kích thước và bố cục của từng biểu đồ, cả khi đứng độc lập lẫn khi đặt cạnh các biểu đồ khác.

Kết quả là một hệ thống biểu đồ gắn kết, mang lại cảm giác vượt trội hơn so với BI hiện tại.

Cùng với ngôn ngữ mã nguồn mở, hôm nay chúng tôi ra mắt dbtCharts.com ở phiên bản beta công khai: một nền tảng được lưu trữ (hosted platform) cho phần còn lại của BI. Với các biểu đồ đã được tách ra, những gì còn lại chủ yếu là lưu trữ, kiểm soát truy cập và giao diện người dùng. Về bản chất, những thứ này có lẽ không thể phân tách, hoặc ít nhất là không nên, vì vậy nền tảng sẽ xử lý chúng trên nền tảng ngôn ngữ mã nguồn mở.

Nền tảng này kết nối với kho dữ liệu của bạn và bổ sung tính năng phân tích hội thoại, trình chỉnh sửa trực quan cho các bước hoàn thiện cuối cùng, lịch sử phiên bản và chia sẻ với quyền hạn cho người dùng và nhóm, vì vậy những người đọc bảng điều khiển không cần phải có tài khoản đăng nhập kho dữ liệu.

Và tất nhiên, những biểu đồ này được xây dựng cho trò chuyện. Nền tảng có tính năng phân tích hội thoại hạng nhất: giống như Claude hoặc ChatGPT, nhưng với quyền truy cập chỉ đọc (read-only) được cấp phép vào kho dữ liệu của bạn cùng với các kỹ năng và công cụ của một nhà phân tích chuyên nghiệp được tích hợp sẵn. Hãy khám phá bằng cách trò chuyện với các biểu đồ, và tại bất kỳ thời điểm nào, hãy nhấp vào để tinh chỉnh và lưu bảng điều khiển.

Vì được xây dựng trên ngôn ngữ mở, mọi thay đổi, từ trò chuyện, trình chỉnh sửa trực quan hoặc mã nguồn, đều được lưu vào cùng một tệp YAML trong kho Git của bạn. Không có gì bị khóa lại: cùng một bảng điều khiển chạy trên máy tính xách tay của bạn, trong CI và trên nền tảng, và các nhóm có thể tự phục vụ, với tác nhân trong tay, mà không cần tạo ra một hệ thống dữ liệu thứ hai, ẩn giấu.

Hãy thử bản beta

Ngôn ngữ dbt Charts là mã nguồn mở theo giấy phép Apache 2.0, và bạn có thể tạo, kết xuất và phục vụ các bảng điều khiển cục bộ mà không cần tạo tài khoản. Hãy tự cài đặt nó, hoặc đưa cho tác nhân lập trình của bạn một dòng lệnh:

dbtData EngineeringDashboardOpen SourceAnalytics
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Hacker News Nổi bật (buzzing.cc bản dịch tiếng Trung). Liên kết bài gốc ở phía trên. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.