תבניות תכנון לאימות כתובות בנפח גבוה ב-Google Cloud Platform

מטרה

במדריך אימות כתובות בכמות גדולה הוסבר על תרחישים שונים שבהם אפשר להשתמש באימות כתובות בכמות גדולה. במדריך הזה נסביר על דפוסי תכנון שונים ב-Google Cloud Platform להרצת בדיקת כתובות בכמות גדולה.

נתחיל בסקירה כללית על הפעלת בדיקת כתובות בנפח גבוה ב-Google Cloud Platform באמצעות Cloud Run, ‏ Compute Engine או Google Kubernetes Engine להפעלות חד-פעמיות. לאחר מכן נראה איך אפשר לכלול את היכולת הזו כחלק מצינור עיבוד נתונים.

בסיום המאמר הזה, תוכלו להבין היטב את האפשרויות השונות להרצת אימות כתובות בכמות גדולה בסביבת Google Cloud.

ארכיטקטורת עזר ב-Google Cloud Platform

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

הפעלת אימות כתובות בכמות גדולה פעם אחת ב-Google Cloud Platform

בהמשך מופיעה ארכיטקטורת עזר ליצירת שילוב ב-Google Cloud Platform, שמתאימה יותר לפעולות חד-פעמיות או לבדיקות.

תמונה

במקרה כזה, מומלץ להעלות את קובץ ה-CSV לקטגוריה ב-Cloud Storage. לאחר מכן אפשר להריץ את הסקריפט לאימות כתובות בנפח גבוה מסביבת Cloud Run. עם זאת, אפשר להריץ אותו בכל סביבת זמן ריצה אחרת, כמו Compute Engine או Google Kubernetes Engine. אפשר גם להעלות את קובץ ה-CSV של הפלט לקטגוריה ב-Cloud Storage.

הפעלה כצינור עיבוד נתונים של Google Cloud Platform

דפוס הפריסה שמוצג בקטע הקודם מתאים מאוד לבדיקה מהירה של אימות כתובות בנפח גבוה לשימוש חד-פעמי. עם זאת, אם אתם צריכים להשתמש בו באופן קבוע כחלק מצינור עיבוד נתונים, תוכלו להשתמש טוב יותר ביכולות הילידיות של Google Cloud Platform כדי לשפר את העמידות שלו. דוגמאות לשינויים שאפשר לבצע:

תמונה

  • במקרה כזה, אפשר למחוק קובצי CSV בקטגוריות של Cloud Storage.
  • משימה של Dataflow יכולה לאסוף את הכתובות לעיבוד ולאחר מכן לשמור אותן במטמון ב-BigQuery.
  • אפשר להרחיב את ספריית Python של Dataflow כך שתכלול לוגיקה לאימות כתובות בכמות גדולה, כדי לאמת את הכתובות מהמשימה ב-Dataflow.

הפעלת הסקריפט מצינור נתונים בתור תהליך קבוע ארוך טווח

גישה נפוצה נוספת היא לאמת קבוצה של כתובות כחלק מצינור עיבוד נתונים בסטרימינג בתור תהליך חוזר. יכול להיות שהכתובות נמצאות גם במאגר נתונים של BigQuery. בגישה הזו נסביר איך ליצור צינור נתונים חוזר (שצריך להפעיל אותו מדי יום/שבוע/חודש).

תמונה

  • מעלים את קובץ ה-CSV הראשוני לקטגוריה ב-Cloud Storage.
  • משתמשים ב-Memorystore כמאגר נתונים מתמיד כדי לשמור על מצב ביניים בתהליך הארוך.
  • שומרים את הכתובות הסופיות במטמון של מאגר נתונים ב-BigQuery.
  • מגדירים את Cloud Scheduler להרצת הסקריפט באופן תקופתי.

לארכיטקטורה הזו יש את היתרונות הבאים:

  • אפשר להשתמש ב-Cloud Scheduler כדי לבצע אימות כתובות באופן תקופתי. מומלץ לאמת מחדש את הכתובות על בסיס חודשי, או לאמת כתובות חדשות על בסיס חודשי או רבעוני. הארכיטקטורה הזו עוזרת לפתור את התרחיש הזה.
  • אם נתוני הלקוחות נמצאים ב-BigQuery, אפשר לשמור את הכתובות המאומתות או את דגלות האימות במטמון ישירות שם. הערה: במאמר אימות כתובות בכמות גדולה מוסבר בפירוט מה אפשר לשמור במטמון ואיך עושים זאת.

  • השימוש ב-Memorystore מספק עמידות גבוהה יותר ויכולת לעבד יותר כתובות. השלבים האלה מוסיפים מצב למערכת של צינור עיבוד הנתונים כולו, שנחוץ לטיפול במערכי נתונים גדולים מאוד של כתובות. אפשר להשתמש גם בטכנולוגיות אחרות של מסדי נתונים, כמו cloud SQL‏[https://cloud.google.com/sql] או כל סוג אחר של מסד נתונים שזמין ב-Google Cloud Platform. עם זאת, לדעתנו, Memorystore perfectless מאזן בין הצורך בהתאמה לעומס לבין הצורך בפשטות, ולכן הוא האפשרות הראשונה שצריך לבחור.

סיכום

בעזרת התבניות המתוארות כאן, תוכלו להשתמש ב-Address Validation API בתרחישים לדוגמה שונים ובתרחישים לדוגמה שונים בפלטפורמת Google Cloud.

כתבנו ספריית Python בקוד פתוח שתעזור לכם להתחיל לעבוד עם התרחישים לדוגמה שתוארו למעלה. אפשר להפעיל אותו משורת הפקודה במחשב, או מ-Google Cloud Platform או מספק אחר של שירותי ענן.

במאמר הזה מוסבר איך משתמשים בספרייה.

השלבים הבאים

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

מקורות מידע נוספים:

תורמים

Google מנהלת את המאמר הזה. הכותבים המקוריים של המאמר הם:
המחברים הראשיים:

Henrik Valve | מהנדס פתרונות
Thomas Anglaret | מהנדס פתרונות
Sarthak Ganguly | מהנדס פתרונות