Chạy dbt & CI/CD: dbt build, môi trường, lịch chạy, kiểm tra tự động
dbt không chỉ giúp viết logic biến đổi — nó còn giúp vận hành logic đó một cách kỷ luật: chạy đúng lịch, tách dev/prod, và kiểm tra tự động trước khi đưa thay đổi vào sản xuất.
Lệnh chạy cốt lõi
Phần tiêu đề “Lệnh chạy cốt lõi”| Lệnh | Làm gì |
|---|---|
dbt run | Chạy (tạo/cập nhật) các model |
dbt test | Chạy kiểm thử dữ liệu |
dbt snapshot | Cập nhật snapshots (lịch sử) |
dbt seed | Nạp các seed (CSV) |
dbt build | Chạy tất cả trên theo đúng DAG — khuyến nghị dùng hằng ngày |
dbt docs generate | Sinh tài liệu & lineage |
Selector giúp chạy đúng phần cần: dbt build --select stg_don_hang+ (model đó + mọi thứ phụ thuộc nó), --select tag:tai_chinh (theo nhãn), state:modified+ (chỉ phần vừa đổi — rất hợp cho CI).
Tách môi trường dev / prod
Phần tiêu đề “Tách môi trường dev / prod”dbt khuyến khích mỗi lập trình viên một schema dev riêng, prod một schema riêng — nhờ ref() tự đổi tên đối tượng theo môi trường. Bạn thử nghiệm thoải mái ở dev mà không đụng dữ liệu prod.
flowchart LR DEV["Dev<br/>(schema cá nhân)"] -->|"Pull Request"| CI["CI: dbt build + test<br/>trên dữ liệu mẫu"] CI -->|"Merge"| PROD["Prod<br/>(chạy theo lịch)"]
Lập lịch chạy (orchestration)
Phần tiêu đề “Lập lịch chạy (orchestration)”Pipeline cần chạy đều (vd mỗi đêm). Vài cách:
- dbt Cloud — có bộ lập lịch sẵn, chạy job theo giờ + gửi cảnh báo khi fail.
- Airflow / Dagster / Prefect — công cụ điều phối, gọi
dbt buildnhư một bước trong luồng lớn. - Cron + dbt Core — đơn giản nhất cho đội nhỏ.
CI/CD — kiểm tra trước khi merge
Phần tiêu đề “CI/CD — kiểm tra trước khi merge”Đây là điểm dbt đưa dữ liệu lên ngang phần mềm: khi ai đó mở pull request sửa model, một pipeline CI tự động:
- Dựng các model vừa đổi (và downstream) trên môi trường tạm.
- Chạy toàn bộ test.
- Chỉ cho merge khi mọi test xanh.
Theo dõi & cảnh báo
Phần tiêu đề “Theo dõi & cảnh báo”Cấu hình gửi cảnh báo (email/Slack) khi job fail; lưu log chạy để soi hiệu năng model nào chậm. BSD thiết lập sẵn giám sát + cảnh báo khi triển khai để đội yên tâm vận hành.