Mẹo về hiệu suất của BigQuery để xuất dữ liệu hàng loạt trong Search Console

Thứ Hai, ngày 5 tháng 6 năm 2023

Tính năng xuất dữ liệu hàng loạt trên Search Console là một cách hiệu quả để đưa dữ liệu về hiệu suất tìm kiếm cho trang web của bạn vào BigQuery nhằm tăng khả năng lưu trữ, phân tích và báo cáo. Ví dụ: sau khi xuất dữ liệu, bạn có thể tiến hành phân cụm các URL và cụm từ tìm kiếm, chạy các bản phân tích về cụm từ tìm kiếm dài và kết hợp dữ liệu tìm kiếm với các nguồn dữ liệu khác. Bạn cũng có thể chọn giữ lại dữ liệu trong thời gian mình cần.

Khi sử dụng tính năng Xuất dữ liệu hàng loạt, bạn cần đưa ra quyết định sáng suốt khi quản lý chi phí xử lý và lưu trữ dữ liệu. Bạn không mất chi phí nào để Search Console xuất dữ liệu; tuy nhiên, hãy đọc bảng giá của BigQuery để biết bạn phải trả chi phí gì. Trong bài đăng này, chúng tôi sẽ thảo luận về các mẹo để giúp bạn tận dụng dữ liệu mới mà không phải chịu chi phí đáng kể.

Nếu bạn chưa thiết lập tính năng xuất dữ liệu hàng loạt, hãy xem hướng dẫn từng bước trong trung tâm trợ giúp của Search Console. Để biết thông tin tổng quan về dữ liệu có sẵn trong quá trình xuất, hãy xem video nhúng tại đây.

Tạo các hạn chế và cảnh báo về thanh toán

Khi xem xét chi phí, tốt nhất là bạn nên suy nghĩ về số tiền bạn sẵn sàng chi tiêu. Có thể có các mức riêng cho việc lưu trữ, phân tích và giám sát. Ví dụ: có thể bạn sẵn sàng trả một số tiền nhất định để đảm bảo lưu trữ được tất cả dữ liệu của mình, nhưng chi phí tạo nền tảng báo cáo thì ít hơn. Trong khi suy nghĩ về vấn đề này, bạn nên đặt ra ngân sách hằng tháng để đầu tư vào dữ liệu của Tìm kiếm.

Khi đã có số tiền ngân sách, bạn có thể tạo thông báo về ngân sách trên Google Cloud để tránh bị bất ngờ khi thanh toán hoá đơn. Bạn cũng có thể đặt ra các quy tắc theo ngưỡng giúp kích hoạt thông báo qua email khi bạn gần đạt mức ngân sách.

Ảnh chụp màn hình Cloud Console cho thấy cách tạo cảnh báo thanh toán

Để tăng cường bảo vệ, bạn cũng có thể hạn chế số byte được tính phí cho mỗi truy vấn. Nếu bạn thực hiện điều đó, số byte mà truy vấn sẽ đọc được ước tính trước khi thực thi truy vấn đó. Nếu số byte ước tính vượt quá giới hạn, thì truy vấn sẽ không thực hiện và không phát sinh chi phí.

Đừng tạo trang tổng quan ngay trên dữ liệu thô

BigQuery có tốc độ nhanh và chắc hẳn bạn muốn liên kết trực tiếp trang tổng quan của mình với bảng đã xuất trong Search Console. Nhưng đối với các trang web lớn, tập dữ liệu này rất lớn (đặc biệt với các truy vấn theo thời gian). Nếu bạn tạo một trang tổng quan tính toán lại thông tin tóm tắt về mọi lượt xem và chia sẻ thông tin đó trong công ty, thì việc này sẽ nhanh chóng làm phát sinh nhiều chi phí truy vấn.

Để tránh những chi phí như vậy, hãy xem xét việc tổng hợp dữ liệu từ mọi mức sụt giảm hằng ngày và tạo ra một hoặc nhiều bảng tóm tắt. Sau đó, trang tổng quan có thể truy vấn bảng chuỗi thời gian nhỏ hơn nhiều để giảm chi phí xử lý.

Kiểm tra chức năng lập lịch truy vấn trong BigQuery hoặc xem xét sử dụng BI Engine nếu bạn muốn sử dụng một giải pháp tự động cao hơn.

Tối ưu hoá chi phí lưu trữ dữ liệu

Khi bạn bắt đầu xuất dữ liệu hàng loạt, theo mặc định, dữ liệu sẽ được lưu giữ vĩnh viễn trong tập dữ liệu BigQuery của bạn. Tuy nhiên, bạn có thể cập nhật thời gian hết hạn phân vùng mặc định để phân vùng ngày tự động bị xoá sau 1 năm hoặc 16 tháng, hay khoảng thời gian bất kỳ tuỳ ý bạn.

Dữ liệu được xuất có thể có giá trị đối với bạn, nhưng đồng thời có thể rất lớn. Hãy vận dụng kiến thức kinh doanh của bạn và cân nhắc việc giữ lại khoảng thời gian này đủ lâu để phân tích chuyên sâu, nhưng cũng đừng quá dài đến mức trở thành gánh nặng. Có một cách là giữ phiên bản mẫu của các bảng cũ, trong khi vẫn giữ lại toàn bộ bảng cho các ngày gần đây.

Tối ưu hoá truy vấn SQL

Trong khi truy vấn dữ liệu của Search Console, bạn nên đảm bảo truy vấn của mình được tối ưu hoá về hiệu suất. Nếu bạn mới sử dụng BigQuery, hãy xem các nguyên tắc và truy vấn mẫu trong trung tâm trợ giúp. Có 3 kỹ thuật bạn nên thử.

1. Giới hạn mức dữ liệu đầu vào được quét

Trước hết, hãy tránh sử dụng SELECT *. Đây là cách tốn kém nhất để truy vấn dữ liệu, BigQuery sẽ quét hết mọi cột trong bảng. Việc áp dụng mệnh đề LIMIT không ảnh hưởng đến lượng dữ liệu được đọc.

Vì các bảng đã xuất được phân vùng theo ngày, nên bạn có thể chỉ quét dữ liệu đầu vào ở những ngày mà bạn quan tâm, nhất là khi bạn đang thử nghiệm và làm quen với dữ liệu. Sử dụng mệnh đề WHERE để giới hạn phạm vi ngày trong bảng phân vùng ngày, điều này sẽ giúp tiết kiệm đáng kể chi phí truy vấn. Ví dụ: bạn có thể chỉ xem xét dữ liệu trong 14 ngày qua bằng mệnh đề sau:

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

Đối với mỗi truy vấn bạn thực hiện, bạn nên áp dụng mọi bộ lọc đã biết ngay khi có thể để giảm lượng dữ liệu đầu vào được quét. Ví dụ: nếu đang phân tích các truy vấn, có thể bạn nên lọc ra các hàng truy vấn ẩn danh. Cụm từ tìm kiếm ẩn danh được báo cáo dưới dạng chuỗi có độ dài bằng 0 trong bảng. Để làm như vậy, bạn có thể thêm:

WHERE query != ''

2. Lấy mẫu dữ liệu

BigQuery cung cấp chức năng lấy mẫu bảng để bạn có thể truy vấn các tập hợp con ngẫu nhiên của dữ liệu từ các bảng BigQuery lớn. Việc lấy mẫu trả về đa dạng bản ghi, đồng thời tránh được chi phí liên quan đến việc quét và xử lý toàn bộ bảng, đồng thời đặc biệt hữu ích khi phát triển truy vấn hoặc khi không cần kết quả chính xác.

3. Sử dụng các hàm gần đúng khi không cần kết quả chính xác

BigQuery hỗ trợ một số hàm tổng hợp gần đúng. Các hàm này cung cấp kết quả ước tính và chi phí tính toán rẻ hơn nhiều so với các hàm chính xác tương đương. Ví dụ: nếu đang tìm kiếm các URL hàng đầu theo số lượt hiển thị ở một số điều kiện, bạn có thể sử dụng

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

Thay vì

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

Thông tin tham khảo

Đây chỉ là một số mẹo mà bạn có thể áp dụng để bắt đầu quản lý chi phí. Để tìm hiểu thêm, hãy xem các phương pháp hay nhất để tối ưu hoá chi phí cho BigQuery.

Như thường lệ, nếu bạn có câu hỏi hoặc thắc mắc, vui lòng liên hệ qua Cộng đồng Trung tâm Google Tìm kiếm hoặc qua Twitter.