เคล็ดลับประสิทธิภาพของ BigQuery สําหรับการส่งออกข้อมูลจํานวนมากของ Search Console

วันจันทร์ที่ 5 มิถุนายน 2023

การส่งออกข้อมูลจํานวนมากของ Search Console เป็นวิธีที่มีประสิทธิภาพในการนำข้อมูลประสิทธิภาพการค้นหาของเว็บไซต์คุณมาเข้าสู่ BigQuery เพื่อเพิ่มความสามารถในการเก็บข้อมูล การวิเคราะห์ และการรายงาน ตัวอย่างเช่น หลังจากส่งออกข้อมูลแล้ว คุณสามารถทำการค้นหาและจัดกลุ่ม URL, เรียกใช้การวิเคราะห์เกี่ยวกับคําค้นหาแบบเฉพาะเจาะจงและรวมการค้นหากับแหล่งข้อมูลอื่นๆ ได้ นอกจากนี้ คุณยังเลือกเก็บรักษาข้อมูลไว้นานเท่าที่ต้องการได้ด้วย

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

หากคุณยังไม่ได้ตั้งค่าการส่งออกข้อมูลจํานวนมาก โปรดดูคําแนะนําทีละขั้นตอนในศูนย์ช่วยเหลือของ Search Console หากต้องการดูภาพรวมของข้อมูลที่มีในการส่งออก ให้ดูวิดีโอที่ฝังอยู่ที่นี่

สร้างการแจ้งเตือนและข้อจำกัดในการเรียกเก็บเงิน

เมื่อพิจารณาถึงต้นทุน คุณอาจจำเป็นต้องพิจารณาถึงจำนวนเงินที่คุณยินดีจ่าย คําตอบนั้นน่าจะแตกต่างกันระหว่างการจัดเก็บข้อมูล การวิเคราะห์ และการตรวจสอบ เช่น คุณอาจเต็มใจจ่ายเงินจํานวนหนึ่งเพื่อจะจัดเก็บข้อมูลทั้งหมดเอาไว้ แต่ไม่อยากจ่ายมากในส่วนของสร้างแพลตฟอร์มการรายงาน เมื่อพิจารณาเรื่องนี้ คุณอาจต้องกำหนดงบประมาณรายเดือนสำหรับลงทุนกับข้อมูลของ Search

เมื่อมีงบประมาณอยู่ในใจแล้ว คุณสามารถสร้างการแจ้งเตือนงบประมาณของ Google Cloud เพื่อหลีกเลี่ยงการเรียกเก็บเงินที่ไม่คาดคิด นอกจากนี้ คุณยังตั้งกฎเกณฑ์ที่จะเรียกให้ระบบส่งการแจ้งเตือนทางอีเมลเมื่อคุณใช้จ่ายถึงจำนวนงบประมาณแล้วได้ด้วย

ภาพหน้าจอของ Cloud Console แสดงวิธีสร้างการแจ้งเตือนการเรียกเก็บเงิน

หากต้องการเพิ่มการป้องกัน คุณสามารถจำกัดจำนวนไบต์ที่จะเรียกเก็บเงินสําหรับการค้นหาได้ด้วย หากทําเช่นนั้น ระบบจะประมาณจํานวนไบต์ที่การค้นหาจะอ่านก่อนการทำการค้นหา หากจํานวนไบต์โดยประมาณเกินกว่าขีดจํากัด การค้นหาจะไม่สําเร็จและไม่มีการเรียกเก็บเงิน

อย่าสร้างแดชบอร์ดที่ข้อมูลดิบโดยตรง

BigQuery นั้นทํางานรวดเร็ว ซึ่งอาจทำให้คุณอยากลิงก์แดชบอร์ดกับตารางที่ส่งออกของ Search Console โดยตรง แต่สําหรับเว็บไซต์ขนาดใหญ่ ชุดข้อมูลนี้มีขนาดใหญ่มาก (โดยเฉพาะกับการค้นหาที่เกินเวลา) หากคุณสร้างหน้าแดชบอร์ดซึ่งคํานวณข้อมูลสรุปซ้ำสำหรับการดูและแชร์ข้อมูลนั้นทุกรายการภายในบริษัทของคุณ รายงานนั้นจะมีค่าใช้จ่ายในการค้นหาข้อมูลสูงขึ้นอย่างรวดเร็ว

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

ดูฟังก์ชันการกําหนดเวลาการค้นหาใน BigQuery หรือลองใช้ BI Engine หากต้องการโซลูชันแบบอัตโนมัติมากกว่า

เพิ่มประสิทธิภาพต้นทุนในการจัดเก็บข้อมูล

เมื่อคุณเริ่มการส่งออกข้อมูลจํานวนมาก โดยค่าเริ่มต้น ระบบจะเก็บข้อมูลไว้ตลอดไปในชุดข้อมูลของ BigQuery แต่คุณอัปเดตเวลาหมดอายุของพาร์ติชันเริ่มต้นได้ เพื่อให้ระบบลบพาร์ติชันวันที่โดยอัตโนมัติหลังจาก 1 ปี หรือ 16 เดือน หรือตามระยะเวลาที่คุณต้องการ

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

เพิ่มประสิทธิภาพการค้นหา SQL

ขณะค้นหาข้อมูลใน Search Console คุณควรตรวจสอบว่าได้เพิ่มประสิทธิภาพการค้นหาแล้ว หากเพิ่งเคยใช้ BigQuery โปรดดูหลักเกณฑ์และตัวอย่างการค้นหาในศูนย์ช่วยเหลือ โดยมีเทคนิค 3 อย่างที่คุณควรลองใช้

1. จำกัดการสแกนอินพุต

ก่อนอื่นหลีกเลี่ยงการใช้ SELECT * ซึ่งเป็นวิธีที่แพงที่สุดในการค้นหาข้อมูล เพราะ BigQuery จะสแกนทุกคอลัมน์ในตารางอย่างเต็มรูปแบบ การใช้ประโยคเงื่อนไข LIMIT จะไม่ส่งผลต่อปริมาณการอ่านข้อมูล

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

WHERE data_date between DATE_SUB(CURRENT_DATE(), INTERVAL 14 day)

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

WHERE query != ''

2. สุ่มตัวอย่างข้อมูล

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

3. ใช้ฟังก์ชันโดยประมาณเมื่อไม่ได้ต้องการผลลัพธ์ที่แน่นอน

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

SELECT APPROX_TOP_SUM(url, impressions, 10) WHERE datadate=...;

แทนที่จะใช้

SELECT url, SUM(impressions) WHERE datadate=... GROUP BY url ORDER BY 2 DESC LIMIT 10;

ทรัพยากร

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

และเช่นเคย หากคุณมีข้อสงสัยหรือข้อกังวลใดๆ โปรดติดต่อเราผ่านชุมชน Google Search Central หรือทาง Twitter