HeadlinesBriefing favicon HeadlinesBriefing.com

dbt Charts: Dasbor Deklaratif Open-Source

Hacker News •
×

Kami membuka sumber dbt Charts, sebuah bahasa deklaratif untuk dasbor, sehingga bahkan dasbor yang Anda buat dengan mengobrol bersama agen pun dapat ditata kelola. AI untuk data sudah tiba, dan analitik swalayan yang lama dijanjikan akhirnya terjadi. Siapa pun yang memiliki koneksi data dapat menciptakan laporan lewat obrolan dalam satu sore, dan hasil pertamanya mengesankan.

Namun gesekan muncul dengan cepat. Secara default, agen mengubah satu laporan sederhana menjadi tumpukan berkas: HTML, CSS, dan Java Script, beberapa pustaka bagan, dan aplikasi React atau Streamlit begitu harus live. Melacak hasil kembali ke sumbernya berarti mengikutinya melalui beberapa bahasa dan berkas, yang lambat untuk diaudit manusia dan menghabiskan waktu serta token agen pada setiap perubahan.

Alat BI mengambil jalan lain dan memasang copilot ke aplikasi mereka yang mengutamakan UI. Itu menjaga AI di rel yang ditata kelola, tetapi rel yang sempit: agen hanya bisa melakukan apa yang diungkap UI. Jadi hari ini Anda memilih antara kebebasan kode yang berantakan dan kendali sempit alat BI.

Kami membangun opsi ketiga: lompat ke depan, atau baca terus tentang bagaimana BI sampai di sini. Melepas Bundel BI Seperti yang ditulis pendiri dbt Labs, Tristan Handy, baru-baru ini dalam BI's Second Unbundling: Ketika saya mulai di bidang data, alat BI bersifat full-stack. Semuanya terjadi di dalam satu produk: penyerapan data, transformasi, komputasi, caching, semantik, visualisasi, identitas.

Alat BI adalah tumpukan data itu sendiri. Micro Strategy, Cognos, dll.: itu bukan sekadar alat visualisasi, itu platform data terintegrasi. Lalu tumpukan data modern muncul.

Dari sekitar 2015 hingga 2022, lapisan infrastruktur dari bundel BI itu ditarik keluar dan diubah menjadi infrastruktur yang dibangun khusus. Komputasi pergi ke Big 5. Penyerapan pergi ke Fivetran.

Transformasi pergi ke dbt. Alat BI tersisa dengan: visualisasi, antarmuka analitis interaktif, definisi semantik (kadang!), manajemen identitas dan akses, serta hosting web. Pergudangan Big 5 ELT Extract Load Transform BI segala hal lainnya Apa yang ditinggalkan oleh pelepasan bundel itu adalah alat BI yang kita kenal hari ini, dan bagan adalah bagian terbesarnya.

Bagan tetap di UI karena alasan yang baik: bagi kebanyakan orang, mengklik lebih cepat daripada menulis YAML. Tetapi semakin banyak bagan tidak akan dibuat oleh manusia. Saat front end dan pengguna dari segala hal semakin menjadi agen obrolan, preferensi ini berbalik.

Agen fasih dalam kode, SQL, dan Git, dan canggung di UI orang lain. Jadi bagan perlu pindah ke tempat agen bekerja: ke dalam kode. Hari ini kami mengambil langkah berikutnya dalam melepas bundel BI: kami membuka sumber dbt Charts, yang mengeluarkan bagan dari alat BI dan menaruhnya di kode, khususnya bahasa YAML terstruktur baru yang dapat mendeklarasikan dasbor interaktif lengkap dalam satu berkas YAML yang dapat diaudit.

Mengobrollah dengan bebas bersama agen, dan apa yang dibuatnya memiliki kebebasan kode sekaligus tetap mudah dibaca. Pergudangan Big 5 ELT Extract Load Transform C Baru Bagan BI beberapa bagian Dalam dbt Charts, SQL tetap menjadi bahasa untuk mendeklarasikan data APA yang ingin Anda lihat, dan kami membungkusnya dalam YAML untuk mendeklarasikan BAGAIMANA Anda ingin melihatnya. Kami menghabiskan banyak waktu menyaring bahasa ini menjadi beberapa elemen inti yang dapat diperluas: dalam apa yang dapat diungkapkannya, mudah diatur dan dibaca.

YAML membungkus lebih dari sekadar SQL. Markdown membawa prosa, dan Jinja, seperti di dbt, membawa variabel dan makro. Berikut contoh kecilnya: satu variabel (filter UI), satu kueri, dan satu bagan. variables: status: column: main.documents.status queries: doc_growth: | SELECT DATE_TRUNC('month', created_at) AS month, SUM(COUNT(*)) OVER (ORDER BY month) AS num_docs FROM main.documents WHERE {{ filter('status', status) }} GROUP BY 1 charts: growth: title: Documents created, all time type: area query: doc_growth x: month y: num_docs rows: - growth Berkas itu adalah keseluruhan papan.

CLI merender berk.