קבלת נתונים סטטיסטיים של שאילתות

בדף הזה מוסבר איך לקבל נתונים סטטיסטיים של שאילתות באמצעות cbt CLI. אפשר גם לקבל נתונים סטטיסטיים של שאילתות באמצעות ספריית הלקוח של Go ל-Cloud Bigtable.

התוכן שמוצג כאן מיועד למפתחי אפליקציות. לפני שקוראים את הדף הזה, חשוב להבין את מודל האחסון של Bigtable. כדאי גם להכיר את השיטות המומלצות לעיצוב סכימות ולהבין את הביצועים.

האפשרות לקבל מידע על שאילתת Bigtable יכולה להיות שימושית כשמפתחים אפליקציה. היא מאפשרת לקבל נתונים על הביצועים של שאילתה, ואז לשנות את השאילתה או את עיצוב הסכימה כדי לשפר את הביצועים שלה.

למרות שבדרך כלל שאילתה היא כל בקשה לנתונים שנשלחת לטבלה, Bigtable מחזיר נתונים סטטיסטיים של שאילתות רק לבקשות קריאה.

לפני שמתחילים

  1. אם עדיין לא התקנתם את cbt CLI, פועלים לפי ההוראות במאמר סקירה כללית של cbt CLI, כולל השלבים ליצירת קובץ .cbtrc.
  2. כדאי לעיין בקטע קריאת שורות במדריך העזר ל-CLI של cbt כדי להכיר את התחביר של שורת הפקודה ואת האפשרויות שזמינות לשליחת בקשת cbt read לטבלה. שימו לב: ממשק שורת הפקודה (CLI) cbt לא תומך במסננים.
  3. חשוב לוודא שיש לכם הרשאת bigtable.tables.readRows לטבלה או שאתם חשבון משתמש עם תפקיד bigtable.reader.

הרצת השאילתה

  1. יוצרים שאילתה באמצעות התחביר של קריאת שורות.

  2. מריצים את הפקודה הבאה. הפרמטר include-stats=full אומר ל-Bigtable להחזיר את נתוני השאילתה.

    cbt read TABLE_ID QUERY include-stats=full
    

    מחליפים את מה שכתוב בשדות הבאים:

    • TABLE_ID: המזהה הייחודי של הטבלה שאתם שולחים אליה שאילתה
    • QUERY: שאילתה בפורמט של CLI של cbt

    במסוף מוצגים הנתונים שנקראו ורשימה עם הנתונים הסטטיסטיים הבאים:

    • rows_seen_count: מספר השורות ש-Bigtable עיבד עבור הבקשה
    • rows_returned_count: מספר השורות שמוחזרות אחרי החלת מסננים
    • cells_seen_count: מספר התאים שעברו עיבוד בבקשה
    • cells_returned_count: מספר התאים שמוחזרים אחרי החלת מסננים
    • frontend_server_latency: זמן האחזור של הבקשה שנמדד ממאגר השרתים של חזית Bigtable, במילישניות

פירוש התוצאות

  • בודקים את היחס בין התאים שנראו לבין התאים שהוחזרו. אם המנה של cells_seen_count / cells_returned_count היא 1 או קרובה ל-1, זה מצביע על כך שהשאילתה לא גרמה ל-Bigtable לעבד נתונים שבסופו של דבר סוננו.

  • כדאי לשים לב למספר השורות שמוחזרות. ככל שהמספר הזה גבוה יותר, כך Bigtable מבצע יותר עבודה. המספר האופטימלי תלוי בתרחיש השימוש ובדרישות זמן האחזור, אבל באופן כללי, לשאילתה שמחזירה פחות שורות יהיה זמן אחזור נמוך יותר.

דוגמה

אם רוצים לקבל נתונים סטטיסטיים של שאילתה כשקוראים את כל השורות שתואמות לביטוי הרגולרי orange:*.* בטבלה שנקראת my-table, אפשר להריץ את הפקודה הבאה:

cbt read my-table regex='.*orange' columns='.*:.*' include-stats=full

הפלט אמור להיראות כך:

  ----------------------------------------
  orange
    Details:Color                            @ 2022/09/26-14:48:01.286000
      "orange"
    Details:Size                             @ 2022/09/26-14:48:01.286000
      "medium"

  Request Stats
  ====================
  rows_seen_count: 10
  rows_returned_count : 1
  cells_seen_count: 2
  cells_returned_count: 2
  frontend_server_latency: 13ms

המאמרים הבאים