การตรวจสอบด้วย ACCOUNT_USAGE

การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

Emily Melhuish

Technical Curriculum Developer, Snowflake

ปัญหาการตรวจสอบ

  • Warehouse ใดมีต้นทุนสูงสุดในเดือนที่แล้ว?
  • มี Query ที่รันนานเกินไปโดยไม่ถูกตรวจจับหรือไม่?
  • พื้นที่จัดเก็บอยู่ในงบประมาณหรือไม่?
  • มีรูปแบบการเข้าสู่ระบบผิดปกติเกิดขึ้นหรือไม่?

ACCOUNT_USAGE สามารถตอบคำถามเหล่านี้ได้

กรอบการควบคุมต้นทุน

การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

ACCOUNT_USAGE คืออะไร?

  • Schema ภายในฐานข้อมูลระบบ SNOWFLAKE
  • ประกอบด้วย View ที่แสดงข้อมูลประวัติบัญชี
  • ความล่าช้าสูงสุด 3 ชั่วโมง
  • View ส่วนใหญ่เก็บข้อมูลไว้ 365 วัน

ภาพรวมบัญชี

การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

ACCOUNT_USAGE vs INFORMATION_SCHEMA

 

Feature ACCOUNT_USAGE INFORMATION_SCHEMA
Scope ประวัติทั้งบัญชี ทุกฐานข้อมูล สถานะปัจจุบันของฐานข้อมูล
Data latency สูงสุด 3 ชั่วโมง ความล่าช้าต่ำ
Retention สูงสุด 365 วัน สูงสุด 6 เดือน (ขึ้นอยู่กับ View)
Dropped objects รวมอยู่ด้วย ไม่รวม
Primary use case การตรวจสอบย้อนหลังและวิเคราะห์ต้นทุน สถานะปัจจุบันและ Metadata
การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

WAREHOUSE_METERING_HISTORY

  • ระบุว่า Warehouse ใดใช้เครดิตมากที่สุด
SELECT warehouse_name,
       SUM(credits_used) AS total_credits
FROM SNOWFLAKE.ACCOUNT_USAGE.WAREHOUSE_METERING_HISTORY
WHERE start_time >= DATEADD('day', -30, CURRENT_TIMESTAMP())
GROUP BY warehouse_name
ORDER BY total_credits DESC;
การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

QUERY_HISTORY

  • บันทึกทุก Query ในบัญชี
    SELECT query_text,
         warehouse_name,
         execution_time,
         bytes_scanned
    FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY
    WHERE start_time >= DATEADD('day', -7, CURRENT_TIMESTAMP())
    ORDER BY execution_time DESC
    LIMIT 10;
    
การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

STORAGE_USAGE

  • ติดตามปริมาณพื้นที่จัดเก็บที่บัญชีใช้งาน
    • ทั้งพื้นที่จัดเก็บปกติและ Fail-safe
      SELECT usage_date,
         ROUND(storage_bytes / POWER(1024, 3), 2) AS storage_gb,
         ROUND(failsafe_bytes / POWER(1024, 3), 2) AS failsafe_gb
      FROM SNOWFLAKE.ACCOUNT_USAGE.STORAGE_USAGE
      ORDER BY usage_date DESC
      LIMIT 30;
      
การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

LOGIN_HISTORY

  • บันทึกทุกการพยายามเข้าสู่ระบบในบัญชี
    • ทั้งที่สำเร็จและไม่สำเร็จ
SELECT user_name,
       event_timestamp,
       reported_client_type,
       error_code,
       error_message
FROM SNOWFLAKE.ACCOUNT_USAGE.LOGIN_HISTORY
WHERE error_code IS NOT NULL
  AND event_timestamp >= DATEADD('day', -7, CURRENT_TIMESTAMP())
ORDER BY event_timestamp DESC;
การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

มาฝึกกันเลย!

การจัดการ กำกับดูแล และการทำงานร่วมกันใน Snowflake

Preparing Video For Download...