ข้ามไปยังเนื้อหา

Data Sources

Data Source คือการเชื่อมต่อแบบ read-only จาก GrowthBook ไปยัง warehouse หรือ database ของคุณ GrowthBook ใช้การเชื่อมต่อนี้เพื่อรัน analysis queries เมื่อต้องการ — ไม่มีการเขียนข้อมูลกลับไปเลย Engine ที่รองรับได้แก่ BigQuery, Snowflake, Postgres, MySQL, ClickHouse, Redshift, Databricks, Athena, PrestoDB และอื่นๆ

  1. เข้าสู่ระบบ GrowthBook
  2. ใน sidebar ด้านซ้าย ไปที่ Analysis แล้วคลิก Data Sources
  3. คลิก Add Data Source
  1. เลือกประเภท warehouse ของคุณ (เช่น BigQuery, Snowflake, หรือ Postgres)
  2. กรอกรายละเอียด connection ที่ warehouse ต้องการ:
    • BigQuery: วาง service account JSON key และเลือก default project
    • Snowflake: กรอก account, warehouse, database, schema, username, และ password
    • Postgres / MySQL: กรอก host, port, database name, username, และ password
  3. คลิก Test Connection เพื่อตรวจสอบว่า GrowthBook เข้าถึง warehouse ได้
  4. คลิก Save

Assignment query เป็น query ที่สำคัญที่สุดใน GrowthBook เพราะเป็นตัวตอบคำถามที่ว่า: “ผู้ใช้คนไหนเห็น experiment variation ไหน และเมื่อไหร่?”

Assignment query ปกติเลือก 4 columns:

Columnสิ่งที่เก็บไว้
experiment_idGrowthBook experiment key (เช่น checkout-redesign)
variation_idดัชนี variation ที่ผู้ใช้ถูก assign ให้ (0 = control, 1 = variation A, …)
user_iduser identifier ที่คงที่ (user UUID, anonymous ID ฯลฯ)
timestampเวลาที่ assignment เกิดขึ้น (UTC)

ตัวอย่างสำหรับ BigQuery events table:

SELECT
experiment_id,
variation_id,
user_id,
timestamp
FROM
`myproject.analytics.experiment_viewed`
WHERE
timestamp >= '{{ startDate }}'
AND timestamp <= '{{ endDate }}'

GrowthBook จะแทนที่ {{ startDate }} และ {{ endDate }} โดยอัตโนมัติเมื่อรัน analysis

ถ้า warehouse ของคุณใช้ ID ประเภทต่างกัน (anonymous cookie ID กับ logged-in user ID) ให้เพิ่ม Identifier Joins เพื่อให้ GrowthBook เชื่อม ID เหล่านั้นกันได้ข้ามตาราง assignment และ metric

ถ้าคุณเพิ่งเริ่มต้นและยังไม่มี data warehouse GrowthBook สามารถทำงานได้โดยไม่ต้องมี warehouse สำหรับ feature flags และ targeting พื้นฐาน คุณเพิ่ม data source ได้ภายหลังเมื่อพร้อมรัน statistical experiments GrowthBook ยังรองรับการ upload CSV data สำหรับการทดลองแบบเบาๆ ด้วย

ตัวเลือกBenefitCost
เชื่อม data warehouse ของตัวเองdata ไม่ต้องออกจาก infrastructure ควบคุมเต็มที่ต้องมี warehouse และ ops team ดูแลอยู่แล้ว
ใช้ event tracking ผ่าน third-partyตั้งค่าเร็วกว่าdata อยู่นอกการควบคุมของทีม
  • เชื่อม data source ที่ schema ไม่ตรงกับที่ GrowthBook คาดหวัง ทำให้ query metric ผิด
  • ไม่ตั้ง permission ที่เหมาะสมให้ GrowthBook query warehouse (query ช้าหรือถูก block)
  • ใช้ sample table แทน full event table ทำให้ผลลัพธ์เพี้ยน

💡 ตัวอย่างจากของจริง

บริษัทที่ใช้ Snowflake/BigQuery ภายในอยู่แล้วมักเลือก GrowthBook เพราะเชื่อมกับ warehouse เดิมได้ตรง ไม่ต้อง duplicate data ไปที่ระบบใหม่

GrowthBook ทำอะไรกับข้อมูลใน warehouse ของคุณ?
experiment assignment query ต้องคืน 4 columns อะไรบ้าง?
{{ startDate }} และ {{ endDate }} ใน assignment SQL คืออะไร?
ควรทำอะไรก่อน save Data Source connection ใหม่?