Tracks
ผมได้รู้จักกับบิ๊กดาต้าครั้งแรกเมื่อกว่า 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 แบบคอลัมน์
ตัวอย่างฐานข้อมูลแบบแถว:

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

ฐานข้อมูลแบบแววเหมาะกับการดึงข้อมูลทั้งแถว การแทรกระเบียน และการอัปเดต แต่ไม่ถนัดงานวิเคราะห์
ตัวอย่างเช่น หากคิวรี 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 รันคิวรี เอนจินคิวรีจะแจกจ่ายงานแบบขนาน สแกนตารางที่เกี่ยวข้องในสตอเรจ รวมผลลัพธ์ และส่งคืนชุดข้อมูลสุดท้าย

คุณสมบัติเด่นของ 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 (หรือสร้างบัญชีใหม่) เมื่อเข้าสู่ระบบแล้ว หน้าจอต้อนรับจะปรากฏขึ้น:

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

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

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

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

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

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

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

สามารถสร้างตารางด้วย 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 ก็ได้:

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

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

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

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

ตัวอย่างเชิงปฏิบัติด้วยชุดข้อมูล Google Trends
เราจะใช้ตาราง top_terms:

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


สามารถคิวรีชุดข้อมูลได้ ตัวอย่างด้านล่างดึงคำค้นที่ติดอันดับหนึ่งในช่วงสองสัปดาห์ที่ผ่านมา:
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
ผลลัพธ์ (อาจแตกต่างกัน):

ราคา 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