BLOGS

เจาะลึก BigQuery Spend-Based CUDs: กลยุทธ์ประหยัดค่าใช้จ่าย Data Analytics ที่คุณต้องรู้

Thakorn.T • 18/06/2025
Google Cloud Solutions Specialist

ผมเชื่อว่า BigQuery เป็น Data Warehouse ที่นิยมและอยู่ในใจของหลาย ๆ ท่านอยู่แล้ว ซึ่งที่ผ่านมานี้ BigQuery มีการอัปเดตโมเดลส่วนลดมาใหม่ และผมจะมาเล่าให้ฟังครับ พวกเราจะได้วางแผนค่าใช้จ่ายกันได้อย่างมีประสิทธิภาพมากขึ้นนั่นคือ CUDs ตัวใหม่ครับ

BigQuery CUDs ยืดหยุ่นและประหยัดได้มากกว่าเดิม !

ทุกคนที่ทำงานกับ Data คงจะคุ้นเคยกับ BigQuery ของ Google Cloud กันดีอยู่แล้วนะครับ ด้วยความสามารถที่มหาศาลในการประมวลผลข้อมูลขนาดใหญ่แบบ Serverless ทำให้มันกลายเป็นเครื่องมือคู่ใจของ Data Engineer และ Data Scientist จำนวนมาก

แต่บางครั้งเรื่องค่าใช้จ่ายก็อาจจะทำให้หลายคนกุมขมับได้เหมือนกัน โดยเฉพาะเวลาที่เรามี Workload ที่ไม่สม่ำเสมอ การเลือกใช้ Committed Use Discounts (CUDs) แบบเดิมที่อิงตาม Resource-based หรือ Slot-hours ก็อาจจะไม่ตอบโจทย์ได้เต็มที่นัก

ข่าวดีก็คือ Google Cloud ได้เปิดตัว BigQuery Spend-Based Committed Use Discounts (CUDs) ซึ่งเป็นโมเดลส่วนลดแบบใหม่ที่ผมตื่นเต้นมาก เพราะมันถูกออกแบบมาเพื่อเพิ่มความยืดหยุ่นในการบริหารจัดการค่าใช้จ่ายบน BigQuery โดยเฉพาะเลยครับ

CUDs คืออะไร ?

CUDs ย่อมาจาก Committed Use Discounts ครับ โดยหลักการง่าย ๆ คือการที่เรา “Commit” หรือตกลงที่จะใช้งานบริการของ Google Cloud ในปริมาณที่กำหนดไว้ล่วงหน้าเป็นระยะเวลาหนึ่ง (เช่น 1 ปี หรือ 3 ปี) แลกกับส่วนลดที่มากกว่าการจ่ายแบบ Pay-as-you-go (จ่ายตามการใช้งานจริง) ครับ

โดยปกติแล้ว CUDs มักจะเกี่ยวข้องกับบริการหลัก ๆ ที่มีการใช้งานอย่างต่อเนื่องและสม่ำเสมอ เช่น :

  • Compute Engine (VMs): อันนี้คือตัวอย่างคลาสสิกเลยครับ ถ้าคุณรู้ว่าต้องรัน VM Instance สเปกเดิมตลอด 24 ชั่วโมงเป็นเวลา 1 ปี คุณก็สามารถ Commit การใช้งาน VM นั้น ๆ เพื่อรับส่วนลดได้เลย
  • Google Kubernetes Engine (GKE): สำหรับ Workload ที่รันบน GKE ที่มีการใช้งาน Node Pool อย่างต่อเนื่อง ก็สามารถใช้ CUDs ได้เช่นกัน
  • Cloud SQL: ฐานข้อมูลที่รันอย่างต่อเนื่องก็เป็นอีกบริการที่มักจะมีการใช้ CUDs เพื่อประหยัดค่าใช้จ่าย
  • และบริการอื่น ๆ ที่มีการใช้งาน Resource แบบ Fixed หรือ Predictable ครับ

จุดประสงค์ของ CUDs คือช่วยให้ผู้ใช้งานประหยัดค่าใช้จ่ายในระยะยาว โดยเฉพาะอย่างยิ่งสำหรับ Workload ที่มีลักษณะคงที่และคาดการณ์ได้ครับ

ตัวอย่าง SUD และ CUD บน Compute Engine

BigQuery Spend-Based CUDs คืออะไร ?

BigQuery Spend-Based CUDs คือการที่เราตกลงที่จะ Commitment การใช้จ่ายขั้นต่ำ (Minimum Spend) ต่อชั่วโมงบน BigQuery เฉพาะส่วนที่เป็น BigQuery PAYG Capacity เท่านั้น โดยไม่จำเป็นต้องยึดติดกับจำนวน Slot หรือ Resource ที่ตายตัวอีกต่อไปครับ ทำให้เราสามารถขยับขยายการใช้จ่ายไปในส่วนต่าง ๆ ของ BigQuery ได้อย่างอิสระมากขึ้น

BigQuery PAYG คืออะไร ?

BigQuery PAYG คือ รูปแบบการคิดค่าบริการสำหรับ SKU ต่าง ๆ ที่อยู่ใน BigQuery Unified Platform ซึ่งจะคิดค่าใช้จ่ายตามการใช้งานจริง โดยครอบคลุมบริการที่หลากหลาย เช่น:

  • BigQuery Editions (Standard, Enterprise, Enterprise Plus)
  • BigQuery Engine for Apache Airflow (Cloud Composer 3)
  • BigQuery Governance (Dataplex)
  • Google Cloud Serverless for Apache Spark

พูดง่าย ๆ คือครอบคลุมหน่วยประมวลต่าง ๆ ที่ใช้ BigQuery Slots หรือคิดเงินจาก DCUs มาใช้เรตเดียวเป็น BigQuery Slots ครับ ถ้าท่านใดอยากทราบ SKUs ใต้ BigQuery PAYG อย่างละเอียดผมแนะนำให้ดูจากลิงก์นี้ครับ

สนใจโซลูชัน Google Cloud หรืออื่นๆ จาก Tangerine

ทีมผู้เชี่ยวชาญของเราพร้อมให้คำปรึกษาและออกแบบโซลูชันที่ตอบโจทย์ที่สุดสำหรับองค์กรของคุณ

BigQuery มี CUDs 2 แบบ เลือกให้เหมาะกับคุณ

หลายคนอาจจะเริ่มงงกับส่วนลดต่าง ๆ บน BigQuery ดังนั้นเดี๋ยวผมสรุปให้ฟังครับ สรุปคือ BigQuery มี Committed Use Discounts ให้เลือก 2 รูปแบบหลัก ๆ เพื่อตอบโจทย์การใช้งานที่แตกต่างกันครับ

  1. Capacity Commitments (หรือ BigQuery Editions Resource-based CUDs):
    • คืออะไร ?: เป็นการ Commitment ที่จะซื้อจำนวน “Slot” (หน่วยประมวลผลของ BigQuery) ที่ระบุไว้ล่วงหน้า โดยจะผูกกับ BigQuery Enterprise edition ขึ้นไป
    • เหมาะกับใคร ?: เหมาะสำหรับ Workload SQL ที่ค่อนข้างเสถียรและคาดการณ์ได้ โดยเฉพาะผู้ใช้งานที่มีการใช้งาน BigQuery Enterprise edition ขึ้นไปและต้องการประสิทธิภาพการคำนวณที่คงที่
    • การคิดค่าใช้จ่าย: จะคิดค่าบริการตามจำนวน Slot-hours ที่คุณ Commitment ไว้ และเป็นการ Commitment ที่ถูก Retire อย่างต่อเนื่อง (Always on)
    • ส่วนลด: 20% สำหรับ 1 ปี และ 40% สำหรับ 3 ปี

ตัวอย่าง commitment ของ BigQuery Enterprise Edition อ่านเพิ่มเติมได้จาก Blog นี้

  1. Spend-Based Commitments (ที่กำลังพูดถึงในบทความนี้)
    • คืออะไร ?: เป็นการ Commitment “มูลค่าการใช้จ่าย” ต่อชั่วโมงบน BigQuery PAYG SKUs ในแต่ละ Region โดยจะได้รับส่วนลดจากการตกลงว่าจะใช้จ่ายขั้นต่ำ
    • เหมาะกับใคร ?: เหมาะสำหรับ Workload ที่คาดเดายาก มีการขึ้น-ลงของปริมาณการใช้งาน หรือมีการใช้ BigQuery Capabilities ที่หลากหลาย รวมถึงผู้ใช้งานที่กำลัง Optimize หรือย้าย Workload มายัง Cloud
    • การคิดค่าใช้จ่าย: จะคิดค่าบริการตามมูลค่า Commitment ที่คุณตกลงไว้ โดยส่วนลดจะไปหักล้างกับค่าใช้จ่าย PAYG ของคุณ และเป็นการ Commitment ที่ถูก Retire อย่างต่อเนื่อง (Always on)
    • ส่วนลด: 10% สำหรับ 1 ปี และ 20% สำหรับ 3 ปี

ตัวอย่างการ Spend-Based Commitments ที่ 3 ปีได้ส่วนลด 20% 

เปรียบเทียบทั้งหมดระหว่าง Capacity Commitments (หรือ BigQuery Editions Resource-based CUDs) กับ Spend-Based Commitments จะเป็นดังรูปนี้ครับ

เริ่มใช้ได้เมื่อไหร่ ? และใครเหมาะกับสิ่งนี้ ?

BigQuery Spend-Based CUDs นี้เปิดให้ใช้งานแล้วตั้งแต่วันที่ 14 เมษายน 2025 โดยสามารถจัดการได้เองผ่าน Google Cloud console ครับ สามารถเริ่มทำตามได้ตามเอกสารนี้

แล้วใครบ้างล่ะที่เหมาะกับ CUDs แบบใหม่นี้ ? ผมสรุปมาให้แบบเข้าใจง่าย ๆ ครับ:

  • ผู้ใช้งานใหม่ที่ต้องการความยืดหยุ่นสูง (New Customers): ถ้าคุณเพิ่งเริ่มย้ายระบบขึ้น Cloud หรือยังไม่มีข้อมูลที่ชัดเจนเกี่ยวกับรูปแบบการใช้งาน BigQuery ของตัวเอง CUDs แบบ Spend-Based จะช่วยให้คุณประหยัดค่าใช้จ่ายได้ โดยที่ไม่ต้องกังวลว่าจะ Commit Resource มากเกินไป เพราะมันยืดหยุ่นและรองรับ Workload ที่ไม่แน่นอนได้ดี
  • ผู้ใช้งานที่ Workload คาดเดายาก (Bursty, Unpredictable Workloads): บางที Data Workload ของเราก็ไม่ได้วิ่งเท่ากันเป๊ะ ๆ ตลอดเวลาใช่มั้ยครับ ? บางช่วงก็พีค บางช่วงก็เบาลง CUDs แบบใหม่นี้จะเหมาะมากกับ Workload ที่ผันผวนแบบนี้ เพราะช่วยให้คุณประหยัดได้โดยไม่ต้อง “Lock-in” กับจำนวน Slot ที่ตายตัว
  • ผู้ใช้งานที่มีการใช้งาน BigQuery Capabilities หลากหลาย (Frictionless Interoperability): BigQuery ตอนนี้ไม่ใช่แค่ SQL Query อย่างเดียวแล้วนะครับ แต่ยังรวมถึง BigQuery Governance (Dataplex), BigQuery Engine for Apache Airflow (Cloud Composer 3), และ Google Cloud Serverless for Apache Spark (สำหรับ Serverless Spark 3.X) Spend-Based CUDs จะครอบคลุมการใช้จ่ายในบริการเหล่านี้ทั้งหมด ทำให้คุณสามารถโยกค่าใช้จ่ายไปมาระหว่าง Engine ต่าง ๆ ได้อย่างสบายใจ
  • ผู้ใช้งานที่ต้องการเพิ่มประสิทธิภาพด้านต้นทุน (Cost Optimization): ไม่ว่าคุณจะกำลัง Optimize Workload, ย้ายระบบจาก On-premises หรือธุรกิจกำลังเติบโต (หรือแม้แต่ลดขนาดลง) โมเดลนี้จะช่วยให้คุณควบคุมค่าใช้จ่ายได้ดีขึ้น และลดความเสี่ยงจากการจ่ายแบบ on-demand ที่อาจจะแพงกว่าในระยะยาว

ใครหรือ Workload แบบใดไม่เหมาะกับ Spend-Based CUDs?

แม้ว่า Spend-Based CUDs จะมีความยืดหยุ่นและประโยชน์มากมาย แต่ก็มีบางกรณีที่อาจจะไม่เหมาะ หรือไม่ได้ประโยชน์สูงสุดครับ

  • ผู้ใช้งานที่มีส่วนลดอื่นสูงอยู่แล้ว: หากคุณมีส่วนลดแบบ Enterprise Discount Program (EDP) หรือส่วนลดเฉพาะผลิตภัณฑ์ (Product-specific discount) ที่สูงมากกก.. มากกว่าหรือเท่ากับ 30% อยู่แล้ว คุณอาจจะไม่มีสิทธิ์ได้รับ Spend-Based CUDs ครับ เพราะ CUDs เหล่านี้มีเจตนาเพื่อเสริมส่วนลดที่มีอยู่ แต่ไม่ได้มีไว้สำหรับการซ้อนทับกับส่วนลดที่สูงมากอยู่แล้ว
  • Workload ที่ไม่มีการใช้ BigQuery PAYG SKUs: Spend-Based CUDs จะใช้ได้กับ BigQuery PAYG SKUs เท่านั้น ดังนั้น หาก Workload ของคุณส่วนใหญ่ไม่ได้ใช้บริการในกลุ่มนี้ (เช่น ใช้ BigQuery On-demand pricing แบบ Byte Scanned Model เป็นหลัก) คุณก็อาจจะไม่ได้รับประโยชน์จาก CUDs นี้ครับ
  • Workload ที่ใช้ Spark หรือ Composer เวอร์ชันเก่า: ถึงแม้ว่า Spend-Based CUDs จะครอบคลุม Google Cloud Serverless for Apache Spark และ Cloud Composer 3 แต่ถ้า Workload Spark หรือ Composer ของคุณยังรันอยู่บนเวอร์ชันอื่นที่ไม่ใช่ที่ระบุไว้ คุณจะต้อง Migrate ไปยังเวอร์ชันที่รองรับก่อนจึงจะสามารถใช้ Spend-Based CUDs ได้
  • เน้นการใช้งาน Storage: Spend-Based CUDs ไม่ได้ครอบคลุมค่าใช้จ่ายในส่วนของ BigQuery Storage ครับ การคิดค่าใช้จ่าย Storage จะยังคงเป็นไปตาม SKU ของ BigQuery Storage ปกติ
  • ผู้ใช้งานที่ต้องการ Fixed Price แบบเฉพาะเจาะจง: หากคุณมีการเจรจา Fixed Price สำหรับ SKU ที่เฉพาะเจาะจงอยู่แล้ว และต้องการราคาคงที่แบบนั้น Spend-Based CUDs อาจไม่เกี่ยวข้องโดยตรง เพราะ CUDs จะเป็นการลดราคาจาก PAYG ครับ

ข้อควรจำเมื่อใช้ Spend-Based CUDs

  • Regional-based: คุณต้องซื้อ Spend-Based CUDs แยกสำหรับแต่ละ Region ที่คุณใช้งาน BigQuery ครับ ถ้ามีการใช้งานหลาย Region ก็ต้องคำนวณและซื้อแยกกัน
  • ครอบคลุมทุกโปรเจกต์ใน Billing Account: ส่วนลดนี้จะถูกนำไปใช้กับ BigQuery PAYG Usage ที่เข้าเกณฑ์ทั้งหมดในทุกโปรเจกต์ที่ผูกอยู่กับ Cloud Billing Account นั้น ๆ โดยอัตโนมัติ
  • Fixed Commitment Fee: เมื่อคุณทำการ Commitment แล้ว คุณจะจ่ายค่าธรรมเนียม Commitment ที่เท่าเดิมตลอดระยะเวลาสัญญา แม้ว่าราคาของ BigQuery PAYG อาจมีการเปลี่ยนแปลงในอนาคตก็ตาม ส่วนการใช้งานที่เกินกว่า Commitment ก็จะถูกคิดในอัตรา PAYG ปกติครับ

ตัวอย่างวิธีการคำนวณส่วนลด BigQuery Spend-Based CUDs

เพื่อให้เห็นภาพชัดเจนขึ้น ผมขอยกตัวอย่างวิธีการคำนวณส่วนลดนะครับ สมมติว่าคุณกำลังรัน Workload ที่ใช้ Enterprise edition slot-hours ใน Region asia-southeast1 (ที่สิงคโปร์)

  1. คุณตัดสินใจ Commitment ที่จะใช้จ่าย BigQuery เป็นมูลค่า $2 ต่อชั่วโมง เป็นระยะเวลา 3 ปี ใน Region asia-southeast1 ซึ่งครอบคลุมทุกโปรเจกต์ภายใต้ Cloud Billing Account ของคุณ
  2. คุณจะได้รับส่วนลด 20% สำหรับ Commitment 3 ปี
  3. ค่าธรรมเนียม Commitment ของคุณต่อชั่วโมง จะเท่ากับ: $2 (มูลค่า Commitment ต่อชั่วโมง) * (ราคาจ่าย 80% เพราะส่วนลด 20%) = $2 * 0.80 = $1.60 ต่อชั่วโมง
  4. คุณจะถูกเรียกเก็บเงินขั้นต่ำ $0.80 ต่อชั่วโมง ตลอดระยะเวลา 3 ปีของการ Commitment ไม่ว่าคุณจะใช้งาน BigQuery PAYG จริงน้อยกว่าหรือเท่ากับ $2 ต่อชั่วโมงก็ตาม
  5. หากการใช้งาน BigQuery PAYG ของคุณใน asia-southeast1 เกิน $2 ต่อชั่วโมง (เช่น ใช้ไป $2.50 ต่อชั่วโมง) ส่วน $2 แรกจะถูกหักด้วยส่วนลดจาก CUD (เหลือ $1.60) และส่วนเกินอีก $0.50 จะถูกคิดในอัตรา PAYG ปกติครับ 

คำถามที่พบบ่อย (ที่ผมคิดว่าหลายคนต้องสงสัย !)

  • มี BigQuery Resource-Based CUDs อยู่แล้ว ใช้ Spend-Based CUDs เพิ่มได้ไหม ?
    ได้ครับ ! ทั้งสองแบบสามารถใช้ร่วมกันได้เลย โดยปกติแล้ว Resource-Based CUDs จะถูกใช้ก่อนสำหรับ SQL Workload ใน BigQuery Enterprise edition จากนั้น Spend-Based CUDs จะเข้ามาครอบคลุมส่วนที่เหลือ
  • ถ้ามี Workload บน Spark หรือ Composer จะได้ประโยชน์ไหม ?
    แน่นอนครับ ! ผู้ใช้งานสามารถใช้ Spend-Based CUDs สำหรับ Engine ที่รวมอยู่ใน BigQuery ได้เลย แต่ต้องเป็น Serverless Spark 3.X และ Cloud Composer 3 เท่านั้นนะครับ ถ้าเป็นเวอร์ชันอื่นต้อง Migrate ก่อน
  • แล้ว Storage SKUs ล่ะ ?
    Storage SKUs จะอยู่ภายใต้ BigQuery SKUs เฉย ๆ ครับ ไม่ใช่ PAYG ดังนั้นจะใช้ราคาเดิม
  • สามารถยกเลิกหรือเปลี่ยน Commitment ได้ไหม ?
    Commitment ที่ซื้อไปแล้วไม่สามารถเปลี่ยนแปลงได้ครับ แต่สามารถซื้อ Commitment ใหม่เพิ่มเติมได้ตามความต้องการ
  • ส่วนลดนี้ซ้อนกับส่วนลดอื่น ๆ ได้ไหม (เช่น EDP) ?
    โดยทั่วไปแล้ว Spend-Based CUDs จะทำงานร่วมกับส่วนลดอื่นๆ (เช่น EDP หรือ Product-specific discounts) แต่มีข้อควรระวังคือ ถ้าผู้ใช้งานมีส่วนลด EDP หรือ Product discount ที่สูงกว่าหรือเท่ากับ 30% อยู่แล้ว จะไม่สามารถใช้ Spend-Based CUDs ได้ครับ

สรุป

BigQuery Spend-Based CUDs ถือเป็นอีกก้าวสำคัญที่ Google Cloud ได้พัฒนาขึ้นมาเพื่อตอบโจทย์ความต้องการของผู้ใช้งานที่หลากหลาย โดยเฉพาะผู้ที่ต้องการความยืดหยุ่นในการบริหารจัดการค่าใช้จ่าย และมี Workload ที่คาดเดายาก

ผมมองว่านี่เป็นโอกาสที่ดีในการ Optimize Cost ให้กับการใช้งาน BigQuery ของคุณ ไม่ว่าคุณจะเป็นลูกค้าใหม่หรือลูกค้าเดิมก็ตาม หากสนใจหรือมีข้อสงสัยเพิ่มเติม สามารถสอบถามกับทีม Tangerine ของเราได้เลยครับ เราพร้อมช่วยให้คุณใช้ Google Cloud ได้อย่างเต็มประสิทธิภาพและคุ้มค่าที่สุด ! คลิกเพื่อปรึกษาเรา

สอบถามข้อมูลเพิ่มเติม
Contact Form_TH Sources