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

คู่มือ BigQuery สำหรับผู้เริ่มต้น: จากการตั้งค่าถึงคิวรีแรก

เรียนรู้ว่า BigQuery คืออะไร ทำงานอย่างไร แตกต่างจากคลังข้อมูลแบบดั้งเดิมอย่างไร และวิธีใช้คอนโซล BigQuery เพื่อคิวรีชุดข้อมูลสาธารณะที่ Google จัดให้
อัปเดตแล้ว 21 พ.ค. 2569  · 9 นาที อ่าน

ผมได้รู้จักกับบิ๊กดาต้าครั้งแรกเมื่อกว่า 10 ปีก่อน ตอนทำงานเป็นวิศวกรซอฟต์แวร์ในด้าน Ad-Tech ตอนนั้นชุดข้อมูลเริ่มเติบโตอย่างรวดเร็วและมีขนาดมหาศาล นี่เป็นทั้งโอกาสและความท้าทายพร้อมกัน คิวรีเพื่อหาคำตอบสำหรับรายงานพื้นฐานแต่สำคัญกลับใช้เวลาหลายชั่วโมง

เพื่อรับมือ ผมเริ่มใช้ฐานข้อมูลแบบคอลัมน์อย่าง BigQuery ตั้งแต่ปี 2013 เนื่องจากเป็นระบบคลาวด์ จึงช่วยให้เรารันงานวิเคราะห์ได้อย่างมีประสิทธิภาพ คุ้มค่า และปรับสเกลทรัพยากรได้ตามต้องการ ในไม่กี่ปีที่ผ่านมา ผมเป็นผู้นำทีมวิศวกรข้อมูลขนาดใหญ่ที่สร้างคลังข้อมูล BigQuery ขนาดกว่า 10 PB เพื่อรองรับแคตตาล็อกสินค้าของใช้ในบ้านที่เติบโตอย่างรวดเร็วและความต้องการวิเคราะห์ที่เพิ่มขึ้น

ปัจจุบัน ในฐานะ CTO ของ DataCamp ผมดูแลทีมวิศวกรรมและทีมคอนเทนต์หลายทีมเพื่อช่วยให้ผู้ใช้ได้เรียนรู้และฝึกฝนทักษะเหล่านี้ (และอีกมากมาย) ผมเชื่อว่าคลังข้อมูลบนคลาวด์อย่าง BigQuery สามารถทำให้เวิร์กโฟลว์จำนวนมากมีประสิทธิภาพยิ่งขึ้น นั่นคือเหตุผลที่อยากแบ่งปันประสบการณ์ผ่านบทความสอนนี้

ในคู่มือนี้ คุณจะได้เรียนรู้ว่า BigQuery คืออะไร ทำงานอย่างไร และแตกต่างจากคลังข้อมูลแบบดั้งเดิมอย่างไร คุณจะได้เรียนรู้การใช้คอนโซล BigQuery เพื่อคิวรีชุดข้อมูลสาธารณะที่ Google จัดให้ พร้อมตัวอย่างการคิวรี Google Trends เพื่อสำรวจหัวข้อยอดนิยม

สรุปสั้น ๆ

  • BigQuery คือคลังข้อมูลแบบบริหารจัดการเต็มรูปแบบและไร้เซิร์ฟเวอร์ของ Google Cloud ที่ให้คิวรีข้อมูลระดับเพตะไบต์ด้วย SQL มาตรฐาน
  • แยกส่วนจัดเก็บข้อมูลออกจากการประมวลผล ทำให้ปรับสเกลแยกกันได้ โดยไม่ต้องดูแลโครงสร้างพื้นฐาน
  • Sandbox ฟรีให้โควตาคิวรี 1 TiB ต่อเดือน และเข้าถึงชุดข้อมูลสาธารณะได้โดยไม่ต้องใช้บัตรเครดิต
  • BigQuery ใช้รูปแบบการจัดเก็บแบบคอลัมน์ที่เหมาะกับงานวิเคราะห์ (OLAP) ต่างจากฐานข้อมูลแบบแถวที่เหมาะกับ OLTP
  • BigQuery ML ให้สร้างและปรับใช้โมเดลแมชชีนเลิร์นนิงได้โดยตรงในคลังข้อมูลด้วย SQL

BigQuery คืออะไร?

BigQuery คือคลังข้อมูลแบบบริหารจัดการเต็มรูปแบบและไร้เซิร์ฟเวอร์ที่พัฒนาโดย Google สำหรับการจัดเก็บและวิเคราะห์ข้อมูลขนาดใหญ่ องค์กรใช้เพื่อรันคิวรีเชิงวิเคราะห์กับข้อมูลระดับเพตะไบต์ด้วย SQL โดยไม่ต้องดูแลโครงสร้างพื้นฐานใด ๆ

สามารถโต้ตอบกับ BigQuery ได้ผ่าน Google Cloud console, เครื่องมือบรรทัดคำสั่ง bq หรือไลบรารีไคลเอนต์สำหรับ Python, Java, Go, Node.js, C#, PHP และ Ruby

BigQuery มาพร้อม ความสามารถแมชชีนเลิร์นนิงในตัว (BigQuery ML) ให้สร้างและรันโมเดล ML ได้โดยตรงในคลังข้อมูลด้วย SQL และยังรองรับการนำเข้าโมเดลที่เทรนจากภายนอกจาก Vertex AI หรือเฟรมเวิร์กอื่น ๆ

บทความนี้เหมาะสำหรับนักวิเคราะห์ข้อมูล วิศวกรข้อมูล และผู้ดูแลคลังข้อมูลที่เริ่มต้นใช้งาน BigQuery หากต้องการศึกษาเชิงลึกต่อไป คอร์ส Introduction to BigQuery ของเราครอบคลุมการปรับแต่งคิวรีและเวิร์กโฟลว์ขั้นสูง คุณยังสามารถดู คู่มือ BigQuery Sandbox และ บทความสอนระบบคลังข้อมูลบน GCP ฉบับสมบูรณ์ ได้อีกด้วย 

คลังข้อมูลแบบดั้งเดิม vs คลังข้อมูลบนคลาวด์

คลังข้อมูลแบบดั้งเดิมติดตั้งภายในองค์กร มักมีค่าใช้จ่ายเริ่มต้นสูง ต้องใช้ทีมงานที่มีทักษะเพื่อดูแล และต้องวางแผนอย่างรอบคอบเพื่อรองรับความต้องการที่เพิ่มขึ้น เนื่องจากการปรับสเกลทรัพยากรของดาต้าเซ็นเตอร์แบบเดิมทำได้ยาก

ส่วนคลังข้อมูลบนคลาวด์จะได้รับการดูแลและโฮสต์โดยผู้ให้บริการคลาวด์ ตัวอย่างเช่น Google BigQuery, Amazon Redshift และ Snowflake

ข้อดีของคลังข้อมูลบนคลาวด์

โดยทั่วไป คลังข้อมูลบนคลาวด์มีข้อดีหลายประการเมื่อเทียบกับคลังข้อมูลแบบดั้งเดิม:

  • ออกแบบมาเพื่อการปรับสเกลและใช้ประโยชน์จากความยืดหยุ่นของสภาพแวดล้อมคลาวด์
  • มีความเร็วและประสิทธิภาพที่ดีขึ้น
  • รูปแบบราคาและสภาพแวดล้อมคลาวด์ที่ยืดหยุ่นช่วยเพิ่มการปรับค่าใช้จ่ายให้เหมาะสม (เช่น ปรับลดสเกลเมื่อความต้องการต่ำ)
  • สามารถบริหารจัดการได้เต็มรูปแบบหรือบางส่วน ช่วยลดต้นทุนการปฏิบัติการ

ฐานข้อมูลแบบแถว vs แบบคอลัมน์

ตัวอย่างฐานข้อมูลแบบแถว:

image20.jpg

ตัวอย่างฐานข้อมูลแบบคอลัมน์:

image17.png

ฐานข้อมูลแบบแววเหมาะกับการดึงข้อมูลทั้งแถว การแทรกระเบียน และการอัปเดต แต่ไม่ถนัดงานวิเคราะห์

ตัวอย่างเช่น หากคิวรี 3 คอลัมน์จากตารางที่มี 50 คอลัมน์ ฐานข้อมูลแบบแถวยังคงต้องอ่านทั้ง 50 คอลัมน์ของทุกแถว ขณะที่ฐานข้อมูลแบบคอลัมน์จะอ่านเฉพาะ 3 คอลัมน์ที่ต้องการ ซึ่งเร็วกว่าอย่างมากสำหรับงานวิเคราะห์ เช่น การพยากรณ์สินค้า หรือรายงานเฉพาะกิจ

ฐานข้อมูลแบบแถวโดยทั่วไปเหมาะกับการประมวลผลธุรกรรมออนไลน์ (OLTP) ส่วนฐานข้อมูลแบบคอลัมน์เหมาะกับการประมวลผลเชิงวิเคราะห์ออนไลน์ (OLAP)

OLTP vs OLAP

  • OLTP คือระบบฐานข้อมูลที่ใช้ในแอปพลิเคชันเชิงธุรกรรม “ออนไลน์” หมายความว่าระบบดังกล่าวต้องตอบสนองคำขอผู้ใช้และประมวลผลแบบเรียลไทม์ (เช่น ประมวลผลธุรกรรม)
  • คำนี้ตรงข้ามกับการประมวลผลเชิงวิเคราะห์ออนไลน์ (OLAP) ซึ่งมุ่งเน้นการวิเคราะห์ข้อมูล

สรุปการเปรียบเทียบ:

 

ฐานข้อมูลแบบแถว

ฐานข้อมูลแบบคอลัมน์

การจัดเก็บ

ตามแถว

ตามคอลัมน์

การดึงข้อมูล

ระเบียนครบถ้วน

คอลัมน์ที่เกี่ยวข้อง

การใช้งานทั่วไป

OLTP

OLAP

การดำเนินการที่เร็ว

แทรก อัปเดต ค้นหา

คิวรีเพื่อรายงาน

การโหลดข้อมูล

มักโหลดครั้งละหนึ่งระเบียน

มักโหลดแบบแบตช์

ตัวเลือกยอดนิยม

Postgres, MySQL, Oracle, Microsoft SQL Server

Snowflake, Google BigQuery, Amazon Redshift

BigQuery ทำงานอย่างไร?

BigQuery แยกเอนจินประมวลผลออกจากที่เก็บข้อมูล ทำให้ปรับสเกลแยกกันได้ ผลลัพธ์คือสามารถคิวรีข้อมูลระดับเทราไบต์ได้ภายในไม่กี่วินาที และระดับเพตะไบต์ภายในไม่กี่นาที

เมื่อ BigQuery รันคิวรี เอนจินคิวรีจะแจกจ่ายงานแบบขนาน สแกนตารางที่เกี่ยวข้องในสตอเรจ รวมผลลัพธ์ และส่งคืนชุดข้อมูลสุดท้าย

image13.png

คุณสมบัติเด่นของ BigQuery ในปี 2026

ตั้งแต่เปิดตัว Google ได้เพิ่มคุณสมบัติหลายอย่างที่ขยายขีดความสามารถเกินกว่าคลังข้อมูลแบบดั้งเดิม:

  • BigQuery ML — สร้าง เทรน และปรับใช้โมเดลแมชชีนเลิร์นนิงด้วย SQL รองรับลอจิสติก/ลิเนียร์รีเกรสชัน การจัดประเภท การพยากรณ์อนุกรมเวลา และอื่น ๆ
  • Gemini ใน BigQuery — ผู้ช่วย AI สำหรับเขียนคิวรี ทำความเข้าใจสคีมา และสร้างอินไซต์จากข้อมูลด้วยภาษาธรรมชาติ
  • BigQuery Studio — เวิร์กสเปซแบบรวมศูนย์สำหรับ SQL, สมุดบันทึก Python และ Spark ภายในคอนโซล BigQuery
  • Federated queries — คิวรีข้อมูลใน Cloud SQL, Cloud Storage, Bigtable และแหล่งอื่นได้โดยไม่ต้องย้ายเข้ามาใน BigQuery
  • BigQuery Omni — รันงานวิเคราะห์ของ BigQuery กับข้อมูลที่เก็บใน AWS หรือ Azure ได้โดยไม่ต้องคัดลอกเข้ามาใน Google Cloud

เริ่มต้นใช้งาน BigQuery อย่างไร

BigQuery sandbox ช่วยให้ทดลองใช้ BigQuery ได้โดยไม่ต้องใส่บัตรเครดิตหรือสร้างบัญชีเรียกเก็บเงิน ในส่วนนี้ ผมจะแนะนำวิธีเข้าถึง BigQuery และตั้งค่าโปรเจกต์แรกด้วย sandbox

เข้าถึง BigQuery ได้ผ่าน Google Cloud Console ต้องลงชื่อเข้าใช้ด้วยบัญชี Google (หรือสร้างบัญชีใหม่) เมื่อเข้าสู่ระบบแล้ว หน้าจอต้อนรับจะปรากฏขึ้น:

image4.png

สามารถค้นหา BigQuery ได้จากแถบเมนูด้านซ้าย คลิกแล้วจะเข้าสู่หน้าจอต่อไปนี้:

image1.png

การใช้ BigQuery sandbox

หากต้องการใช้ BigQuery sandbox ให้สร้างโปรเจกต์ก่อนโดยคลิกที่ ‘Select Project’

image14.png

จากนั้นคลิก ‘New Project’:

image3.png

ต้องระบุชื่อโปรเจกต์ สำหรับคู่มือนี้ เราใช้ datacamp-guide-project

image7.png

ขณะนี้จะแสดงประกาศ sandbox บนหน้า BigQuery แสดงว่าเปิดใช้ BigQuery sandbox สำเร็จแล้ว

image16.png

เมื่อเปิดใช้ BigQuery sandbox แล้ว สามารถใช้โปรเจกต์ใหม่เพื่อโหลดข้อมูลและคิวรี รวมถึงคิวรีชุดข้อมูลสาธารณะของ Google ได้

สร้าง dataset และตาราง

ก่อนสร้างตาราง ต้องสร้าง dataset ในโปรเจกต์ใหม่ก่อน Dataset เป็นคอนเทนเนอร์ระดับบนสุดสำหรับจัดระเบียบและควบคุมการเข้าถึงชุดของตารางและมุมมอง หากต้องการสร้าง dataset ให้คลิกไอคอน ‘Actions’ ของโปรเจกต์:

image18.png

ในคู่มือนี้ เราจะกรอก ‘Dataset ID’ เป็น ‘main’

image8.png

สามารถสร้างตารางด้วย SQL ได้ BigQuery ใช้ GoogleSQL ซึ่งสอดคล้องตาม ANSI

CREATE TABLE datacamp-guide-project.main.users (
  id INT64 NOT NULL,
  first_name STRING NOT NULL,
  middle_name STRING,
  last_name STRING NOT NULL,
  active_account BOOL NOT NULL
);

หรือจะใช้ส่วนติดต่อผู้ใช้ของ BigQuery Console ก็ได้:

image19.png

หมายเหตุ: ไม่สามารถแทรกข้อมูลในสภาพแวดล้อม sandbox ได้ หากต้องการลองแทรกข้อมูล ต้องเปิดใช้งานช่วงทดลองใช้งานฟรี ส่วนถัดไปจะเน้นการคิวรีชุดข้อมูลสาธารณะที่มีให้ใน Google Cloud

คิวรีชุดข้อมูลสาธารณะด้วย BigQuery Console

หากต้องการคิวรีชุดข้อมูลสาธารณะ ให้ทำตามขั้นตอนด้านล่าง:

1. คลิก ‘Add’ ข้าง Explorer

image10.png

2. จากนั้นเลือกชุดข้อมูล

image2.png

3. ค้นหา ‘Google Trends’ แล้วเลือก Google Trends จากนั้นคลิกปุ่ม ‘View dataset’

image6.png

4. bigquery-public-data จะปรากฏพร้อมรายการชุดข้อมูลยาว ๆ ให้ติดดาว bigquery-public-data เพื่อให้ “ปักหมุด” ใน Explorer

image5.png

เราจะใช้ตาราง top_terms:

image12.png

คลิกที่ตาราง top_terms เพื่อเปิด และตรวจดูแท็บ Details และ Preview เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับข้อมูลใน top_terms

image9.png

image21.png

สามารถคิวรีชุดข้อมูลได้ ตัวอย่างด้านล่างดึงคำค้นที่ติดอันดับหนึ่งในช่วงสองสัปดาห์ที่ผ่านมา:

SELECT
  term
FROM
  bigquery-public-data.google_trends.top_terms
WHERE
  rank = 1
  AND refresh_date >= DATE_SUB(CURRENT_DATE(), INTERVAL 2 WEEK)
GROUP BY
  term

ผลลัพธ์ (อาจแตกต่างกัน):

image11.png

ราคา BigQuery

โครงสร้างราคาของ BigQuery มีสองส่วนหลัก: การประมวลผลคิวรี และที่จัดเก็บข้อมูล

องค์ประกอบ โควต้าฟรี ราคาที่ต้องชำระ
คิวรีแบบ On-demand 1 TiB ต่อเดือน $6.25 ต่อ TiB
ที่จัดเก็บ (แบบใช้งาน) 10 GiB $0.02 ต่อ GiB/เดือน
ที่จัดเก็บ (ระยะยาว) 10 GiB $0.01 ต่อ GiB/เดือน
การแทรกแบบสตรีมมิง N/A $0.05 ต่อ 200 MB

สำหรับทีมที่มีภาระงานคาดการณ์ได้ BigQuery มีราคาแบบเหมาจ่ายผ่านการจองขีดความสามารถ (BigQuery Editions) ตรวจสอบอัตราปัจจุบันได้ที่ หน้าอัตราค่าบริการอย่างเป็นทางการ

ข้อคิดส่งท้าย

BigQuery เป็นหนึ่งในจุดเริ่มต้นที่เข้าถึงได้มากที่สุดสำหรับคลังข้อมูลบนคลาวด์ Sandbox ให้สภาพแวดล้อมที่ปราศจากความเสี่ยงสำหรับการทดลองใช้งาน และโควตาคิวรีฟรี 1 TiB ต่อเดือนช่วยให้สำรวจชุดข้อมูลสาธารณะได้โดยไม่ต้องเสียค่าใช้จ่าย เมื่อถึงเวลาต้องการมากขึ้น ช่วงทดลองใช้งานฟรีของ Google Cloud มีเครดิตให้ $300

หากต้องการต่อยอดจากที่เรียนรู้ ที่แนะนำคือคอร์ส Introduction to BigQuery บน DataCamp ซึ่งครอบคลุมการปรับแต่งคิวรีและการทำงานกับชุดข้อมูลขนาดใหญ่ สำหรับมุมมองกว้างด้านวิศวกรรมข้อมูล เส้นทาง Data Engineer in Python ครอบคลุมตั้งแต่การรับเข้าข้อมูลจนถึงคลังข้อมูล

ยังสามารถสำรวจการเปรียบเทียบ BigQuery กับทางเลือกอื่นได้ในบทความ BigQuery vs Redshift และ BigQuery vs Snowflake หรือเตรียมตัวสัมภาษณ์ด้วย คู่คำถามสัมภาษณ์ BigQuery

หัวข้อ

เริ่มต้นเส้นทางวิศวกรรมข้อมูลวันนี้!

Tracks

วิศวกรข้อมูลระดับต้น ใน SQL

30 ชม.
เรียนรู้พื้นฐานของวิศวกรรมข้อมูล: การออกแบบฐานข้อมูลและคลังข้อมูล พร้อมทำงานกับเทคโนโลยีต่างๆ รวมถึง PostgreSQL และ Snowflake!
ดูรายละเอียดRight Arrow
เริ่มหลักสูตร
ดูเพิ่มเติมRight Arrow