entry-header-eye-catch.html
entry-title-container.html

entry-header-author-info.html
Article by

dbt dẫn vào におけるデータモデリング hoàn cảnh chỉnh đốn và sắp đặt

はじめに

Sơ めまして. プラットフォーム khai phát bộ にてデータ cơ bàn の chỉnh đốn và sắp đặt をしているazukiと thân します.

Nay hồi はdbt(Data build tool)を dẫn vào した kinh vĩ と phi trung ương tập 権 なdbt の sử い phương についてご giới thiệu したいと tư います.

Nay hồi は dẫn vào に quan してまとめています の で, dbt の vận dụng mặt の kỹ càng tỉ mỉ は đừng ký sự で giải thích dư định です.

データモデリングツール dẫn vào の bối cảnh

ピクシブではプロダクト の nhiều さを lý do に phi trung ương tập 権データ tổ chức を chọn dùng しています.

ドメインチームがメインでデータ の lấy り tổ みやデータモデリングを hành い, データ駆 động đẩy mạnh thất やデータ cơ bàn チームはそ の サポートや chỉnh đốn và sắp đặt を đảm đương しています.

そ の bối cảnh に quan しては,【PIXIV MEETUP 2023】の phương でお lời nói しています の でぜひご lãm hạ さい. speakerdeck

Nay までBigQuery の データ gia công SQLは tự xã で khai phát したツールで quản lý していました.

Python から変 số chôn め込みができるSQLを tác thành し, CI/CDで変 càng コミットがマージされた khi にView の đổi mới, Airflowで định kỳ にテーブル の đổi mới を hành なっていました.

Đã tồn の ツールでは, データリネージやドキュメント, テスト の ような cơ năng がないことで chỉnh đốn và sắp đặt されていないテーブルやビューが loạn lập することになり, lầm った phân tích を hành う khả năng tính もありました. またデータ駆 động đẩy mạnh thất ・データ cơ bàn チームといった xã nội の データ chỉnh đốn và sắp đặt を hành うチーム の vận dụng コストが cao くなり, データモデリングツール の dẫn vào が tất yếu になりました.

ピクシブで の văn kiện quan trọng とツール tuyển định

Phi trung ương tập 権データ tổ chức として ai がど の ようにツールを sử う の かという bộ phận を minh らかにする tất yếu がありました.

そこでツール dẫn vào する mục đích をWhy・Who・When・What の văn kiện quan trọng でまとめました.

それぞれ の hạng mục において thật hiện khả năng なツールとしてdbt coreを chọn dùng しました.

Tương đối đối tượng としてdataformを kiểm thảo していましたが, hạng mục 8や hạng mục 10と の tương tính が ác く, tệ xã ではdbt coreを chọn dùng する phương がメリットが đại きいと cảm じました.

データモデリング chỉnh đốn và sắp đặt

レイヤリング

dbt のベストプラクティスに従って, tập kế định nghĩa の レイヤーを phân けました.

  • staging
    • カラム danh の 変 càng ・カラムtype の 変 đổi を hành い, unique,やnot null の testを thật hành します
    • Phi trung ương tập 権データ tổ chức とも tương tính が lương く, stagingモデルを các チームで cùng sở hữu することでSSOT(Tin lại できる duy nhất の tình báo nguyên)を thật hiện します
  • intermediate
    • Các チーム の ビジネス văn kiện quan trọng に hợp わせた tập kế, rút ra
    • Không cần なレコードを lấy り trừ いたり, ファンアウト の lầm tính toán に đối ứng する vì の tập kế などを các チームが quản lý します
  • mart
    • BIなどレポート sườn が tham chiếu するデータ
    • Star schemaを ý thức したモデリングを hành っています. ディメンションテーブル, ファクトテーブルを tác thành し, エンドユーザーが tập kế しやすいデータマートを cung cấp しています

Phi trung ương tập 権 tổ chức の sử い phương として, dưới の ルールを thiết けました.

  • stagingは hắn bố trí も lợi dụng khả năng なモデル
  • intermediate lấy hàng に quan してはハブになるような riêng の モデルを trừ いて, hắn bố trí は lợi dụng しない

データリネージ cơ năng も sống dùng することで khai phát khi に dễ dàng に toàn thể の nắm chắc ができるようになりました.

Đầu đề となっていたデータ cơ bàn の vận dụng コストもかなり khinh giảm できる trạng thái になりました.

tagでモデル quản lý

tags:
- department
- report
- exclude_ci_test
  • Bố trí の tag
  • Bố trí nội で の quản lý 単 vị
    • Bố trí の tagで đã に phân かれている の で, bộ nội で tự do に giả thiết できます
    • Chủ にairflow の DAGに hợp わせてtagを chấn っていきます
    • hourly, every_day, monthlyなど thật hành タイミングもairflowと tổ み hợp わせることで quản lý できます
  • システムに quan するタグ

こ の 3 điểm をタグで quản lý することでモデル(SQL) の quản lý を hành っています.

なぜこ の 3 điểm で quản lý している の か の lý do に quan しては đừng ký sự で giới thiệu dư định です.

Sống nhờ vào nhau quan hệ (ref)

dbt の đặc trưng としてテーブルを tham chiếu する tế にdbt の モデルを chỉ định します.

モデルを tham chiếu することによって, ảnh hưởng するモデル の quản lý やsource の quản lý も dễ dàng になります.

with
import_stating_model_a as (
select * from {{ ref( "stg_model_a" ) }}
),

import_stating_model_b as (
select * from {{ ref( "stg_model_b" ) }}
),

import_stating_model_c as (
select * from {{ ref( "stg_model_c" ) }}
),

Phi trung ương tập 権データ tổ chức において, ảnh hưởng phạm 囲を nắm chắc できるようにするという điểm が phi thường に quan trọng です. データリネージ cơ năng を sống dùng し, データ sống dùng の xúc tiến と vận dụng コスト の cắt giảm を thật hiện しました.

クエリ の bộ phẩm hóa

dbt の macro cơ năng を sử うことでクエリ の bộ phẩm hóa を hành います.

Đặc にGA4(Google Analytics 4) の データなどは chung な bộ phận も nhiều く, スケールしやすい hoàn cảnh を chỉnh えることができました.

{% macro ga4_base_select_source() %}
parse_date( "%Y%m%d", replace(_table_suffix, "intraday_", "" )) as event_date,
timestamp_micros(event_timestamp) as event_timestamp,
event_name,
(... Trung lược )
is_active_user
{% endmacro %}

dbt test

モデル định nghĩa の ファイル nội でuniqueやnot null の テストも thư ける の でテスト の khai phát が dễ dàng にできます.

Dễ dàng に khai phát できるという の も phi thường に mị lực です.

models:
- name: users
columns:
- name: user_id
tests:
- unique
- not_null

エコシステム の cấu trúc

ドメインチームが mau thích にdbtを lợi dụng する vì に, データ cơ bàn チームがエコシステム の dẫn vào ・ chỉnh đốn và sắp đặt を hành っています.

ソースコード の phẩm chất の đảm bảo と mau thích な khai phát hoàn cảnh を cung cấp することで従 tới の システムと の khác biệt hóa も hành っています.

Phi trung ương tập 権データ tổ chức でdbtを sũng nước させる vì に hành ったこと

ドキュメント chỉnh đốn và sắp đặt

dbt の ドキュメントをベースにデータ cơ bàn チームが ý thức して dục しい cái sở を xã nội wikiにまとめています.

ツール の dẫn vào や lợi dụng phương pháp は chớ luận の こと, Star Schemaなど chuyên môn な lời nói も giao えることで tự nhiên とデータモデリングを học べる hoàn cảnh を chỉnh えています.

Miễn cưỡng sẽ

Chu に1 hồi đọc thư sẽ を khai thúc giục しています.

Hiện tại đọc んでいる kỹ thuật thư はStar Schemaです. Nghiệp vụ だけでは đến られないデータモデリング の tri thức を thân に phó ける cơ hội になっています.

Nghi vấn điểm や khí づきを cùng sở hữu することで xã nội の データコミュニティ の hoạt tính hóa にも繋がっています.

まとめ

Nay hồi の inside ký sự ではピクシブにおけるdbt dẫn vào と phi trung ương tập 権データ tổ chức な sử い phương について giới thiệu しました. dbt dẫn vào に bạn う sống nhờ vào nhau quan hệ の sửa sang lại やtest の thật thi, phi trung ương tập 権データ tổ chức として ý thức した điểm について ghi lại させて đỉnh きました. dbt dẫn vào でデータモデリングが lặc になりました. しかし, dbtを dẫn vào しても giải quyết できないことも nhiều くあります. データ cơ bàn は chớ luận の こと, đặc にデータ sống dùng についてはこれからやっていくことが nhiều く tàn っています.

データマート の 拡 sung や tự động hoá, データ cơ bàn /データ sống dùng lạng phương におけるデータマネジメントを tiến めて tham ります.

ピクシブでは, một tự にプロダクトを thịnh り thượng げてくれる phương を đại mộ tập しています. ご hứng thú の ある phương は, dưới の リンクから thị phi ご ứng mộ hạ さい.

hrmos.co

hrmos.co

azuki
2023 năm にピクシブ kabushiki gaisha プラットフォーム khai phát bộ に trên đường nhập xã. Thú vị はサイクリング, pixiv tiểu thuyết gửi bài. イラストに囲まれた không gian で sĩ sự する の が hảo き.