מטרה
במדריך אימות כתובות בכמות גדולה הוסבר על תרחישים שונים שבהם אפשר להשתמש באימות כתובות בכמות גדולה. במדריך הזה נסביר על דפוסי תכנון שונים ב-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 או מספק אחר של שירותי ענן.
במאמר הזה מוסבר איך משתמשים בספרייה.
השלבים הבאים
כדאי להוריד את המאמר שיפור התשלום, המסירה והפעולות העסקיות באמצעות כתובות מהימנות ולצפות בסמינר האינטרנטי שיפור התשלום, המסירה והפעולות העסקיות באמצעות אימות כתובות .
מקורות מידע נוספים:
- מסמכי העזרה של Address Validation API
- המרה של כתובות לקואורדינטות ואימות כתובות
- הדגמה של Address Validation
תורמים
Google מנהלת את המאמר הזה. הכותבים המקוריים של המאמר הם:
המחברים הראשיים:
Henrik Valve | מהנדס פתרונות
Thomas Anglaret | מהנדס פתרונות
Sarthak Ganguly | מהנדס פתרונות