טעינת נתוני MySQL ל-BigQuery
אתם יכולים לטעון נתונים מ-MySQL ל-BigQuery באמצעות המחבר של שירות העברת הנתונים ל-BigQuery ב-MySQL. הוא תומך במכונות MySQL שמתארחות בסביבה המקומית, ב-Cloud SQL ובספקי ענן ציבורי אחרים כמו Amazon Web Services (AWS) ו-Microsoft Azure. באמצעות שירות העברת הנתונים ל-BigQuery, אתם יכולים לתזמן משימות העברה חוזרות שמוסיפות את הנתונים העדכניים מ-MySQL ל-BigQuery.
מגבלות
העברות נתונים מ-MySQL כפופות למגבלות הבאות:
- המספר המקסימלי של חיבורים בו-זמנית למסד נתונים של MySQL נקבע על ידי פרמטר ההגדרה
max_connectionsשל MySQL. כברירת מחדל, המגבלה היא 151 חיבורים, אבל אפשר להגדיל אותה לפי הצורך. כתוצאה מכך, מספר ההפעלות של העברות נתונים בו-זמניות למסד נתונים יחיד של MySQL מוגבל למספר המקסימלי הזה. המגבלה הזו גם אומרת שמספר העבודות להעברה בו-זמנית צריך להיות קטן ממספר החיבורים המקסימלי בו-זמנית שנתמכים במסד הנתונים של MySQL. - הגדרת העברה יחידה יכולה לתמוך רק בהרצת העברת נתונים אחת בכל זמן נתון. אם העברת נתונים שנייה מתוזמנת לפעול לפני שההעברה הראשונה מסתיימת, רק העברת הנתונים הראשונה תושלם, וכל העברת נתונים אחרת שחופפת להעברה הראשונה תדלג.
- כדי למנוע דילוג על העברות בהגדרת העברה אחת, מומלץ להגדיל את משך הזמן בין העברות נתונים גדולות באמצעות הגדרת האפשרות Repeat frequency.
- במהלך העברת נתונים, המחבר של MySQL מזהה עמודות מפתח שנוספו לאינדקס וחולקו למחיצות כדי להעביר את הנתונים בקבוצות במקביל. לכן, כדי לשפר את הביצועים ולהפחית את שיעור השגיאות בהעברות הנתונים, מומלץ לציין עמודות של מפתחות ראשיים או להשתמש בעמודות שנוספו לאינדקס בטבלה.
- אם יש לכם אילוצים של מפתחות ראשיים או מפתחות נוספים לאינדקס, אפשר ליצור קבוצות מקבילות רק בעמודות מהסוגים הבאים:
INTEGERTINYINTSMALLINTFLOATREALDOUBLENUMERICBIGINTDECIMALDATE
- העברות נתונים של MySQL שלא משתמשות במפתח ראשי או בעמודות עם אינדקס לא יכולות לתמוך ביותר מ-2,000,000 רשומות לכל טבלה.
- אם יש לכם אילוצים של מפתחות ראשיים או מפתחות נוספים לאינדקס, אפשר ליצור קבוצות מקבילות רק בעמודות מהסוגים הבאים:
מגבלות על העברות מצטברות
העברות מצטברות של MySQL כפופות למגבלות הבאות:- אפשר לבחור רק
TIMESTAMPעמודות כעמודות של סימני מים. - הטמעה מצטברת נתמכת רק בנכסים עם עמודות סימן מים תקינות.
- הערכים בעמודת סימן המים חייבים להיות בעלייה מונוטונית.
- העברות מצטברות לא יכולות לסנכרן פעולות מחיקה בטבלת המקור.
- הגדרת העברה אחת יכולה לתמוך רק בהעברה מצטברת או בהעברה מלאה.
- אי אפשר לעדכן אובייקטים ברשימה
assetאחרי ההפעלה הראשונה של ההטמעה המצטברת. - אי אפשר לשנות את מצב הכתיבה בהגדרות ההעברה אחרי ההפעלה הראשונה של הטמעת הנתונים המצטברים.
- אי אפשר לשנות את עמודת סימן המים או את המפתח הראשי אחרי ההפעלה הראשונה של הטמעת הנתונים המצטברים.
- טבלת היעד ב-BigQuery מסודרת באשכולות באמצעות המפתח הראשי שסופק, והיא כפופה למגבלות של טבלאות מסודרות באשכולות.
כשמעדכנים הגדרת העברה קיימת למצב הטמעה מצטברת בפעם הראשונה, העברת הנתונים הראשונה אחרי העדכון מעבירה את כל הנתונים הזמינים ממקור הנתונים. בכל העברת נתונים מצטברת שתתבצע לאחר מכן, יועברו רק השורות החדשות והמעודכנות ממקור הנתונים.
מומלץ ליצור אינדקסים בעמודת סימן המים. המחבר הזה משתמש בעמודות של סימן מים לסינון בהעברות מצטברות, ולכן יצירת אינדקס של העמודות האלה יכולה לשפר את הביצועים.
כשמבצעים העברה מצטברת, צריך להשתמש במיפוי המעודכן של סוגי הנתונים.
אפשרויות להטמעת נתונים
בקטעים הבאים מפורט מידע על האפשרויות להטמעת נתונים כשמגדירים העברת נתונים מ-MySQL.
הגדרת TLS
מחבר MySQL תומך בהגדרה של אבטחה ברמת התעבורה (TLS) כדי להצפין את העברות הנתונים ל-BigQuery. המחבר של MySQL תומך בהגדרות ה-TLS הבאות:
מצב הצפנת נתונים ואימות של רשות אישורים ושם מארח. במצב הזה מתבצע אימות מלא של השרת באמצעות TLS בפרוטוקול TCPS. הוא מצפין את כל הנתונים בזמן ההעברה ומוודא שהאישור של שרת מסד הנתונים נחתם על ידי רשות אישורים (CA) מהימנה. במצב הזה גם נבדק אם שם המארח שאליו אתם מתחברים תואם בדיוק לשם הנפוץ (CN) או לשם החלופי של הבעלים (SAN) באישור של השרת. המצב הזה מונע מתוקפים להשתמש באישור תקף של דומיין אחר כדי להתחזות לשרת של מסד הנתונים.
אם שם המארח לא תואם ל-CN או ל-SAN של האישור, החיבור נכשל. צריך להגדיר פענוח DNS שיתאים לאישור או להשתמש במצב אבטחה אחר. השתמשו במצב הזה כדי לקבל את האפשרות הכי מאובטחת למניעת מתקפות מסוג 'אדם באמצע' (PITM).
המצב הצפנת נתונים ואימות CA בלבד. במצב הזה, כל הנתונים מוצפנים באמצעות TLS בפרוטוקול TCPS, והמערכת מאמתת שהאישור של השרת חתום על ידי רשות אישורים (CA) שהלקוח סומך עליה. עם זאת, במצב הזה לא מתבצע אימות של שם המארח של השרת. החיבור במצב הזה יצליח כל עוד האישור תקף והונפק על ידי רשות אישורים מהימנה, בלי קשר לשאלה אם שם המארח באישור תואם לשם המארח שאליו מתחברים.
כדאי להשתמש במצב הזה אם רוצים לוודא שהחיבור הוא לשרת שהאישור שלו חתום על ידי רשות אישורים מהימנה, אבל אי אפשר לאמת את שם המארח או שאין לכם שליטה על ההגדרה של שם המארח.
מצב הצפנה בלבד. במצב הזה, כל הנתונים שמועברים בין הלקוח לשרת מוצפנים. הוא לא מבצע אימות של אישורים או של שמות מארחים.
המצב הזה מספק רמת אבטחה מסוימת על ידי הגנה על נתונים במעבר, אבל הוא יכול להיות פגיע להתקפות PITM.
השתמשו במצב הזה אם אתם צריכים לוודא שכל הנתונים מוצפנים, אבל אתם לא יכולים או לא רוצים לאמת את זהות השרת. מומלץ להשתמש במצב הזה כשעובדים עם רשתות VPC פרטיות.
מצב ללא הצפנה או אימות. במצב הזה לא מתבצעת הצפנה של נתונים ולא מתבצע אימות של אישורים או של שמות מארחים. כל הנתונים נשלחים כטקסט פשוט.
לא מומלץ להשתמש במצב הזה בסביבה שבה מטפלים במידע אישי רגיש. מומלץ להשתמש במצב הזה רק למטרות בדיקה ברשת מבודדת שבה אין חשש לבעיות אבטחה.
אישור שרת מהימן (PEM)
אם אתם משתמשים במצב הצפנת נתונים ואימות של רשות אישורים ושם מארח או במצב הצפנת נתונים ואימות של רשות אישורים, אתם יכולים לספק גם אישור אחד או יותר בקידוד PEM. האישורים האלה נדרשים בתרחישים מסוימים שבהם שירות העברת הנתונים ל-BigQuery צריך לאמת את הזהות של שרת מסד הנתונים במהלך החיבור ל-TLS:
- אם אתם משתמשים באישור שחתום על ידי רשות אישורים פרטית בארגון שלכם או באישור עם חתימה עצמית, אתם צריכים לספק את שרשרת האישורים המלאה או את האישור היחיד עם החתימה העצמית. הדרישה הזו חלה על אישורים שהונפקו על ידי רשויות אישורים פנימיות של שירותי ספקי ענן מנוהלים, כמו Amazon Relational Database Service (RDS).
- אם האישור של שרת מסד הנתונים נחתם על ידי רשות אישורים ציבורית (לדוגמה, Let's Encrypt, DigiCert או GlobalSign), אין צורך לספק אישור. אישורי הבסיס של רשויות אישורים ציבוריות אלה מותקנים מראש ומהימנים על ידי שירות העברת הנתונים ל-BigQuery.
אפשר לציין אישורים בקידוד PEM בשדה Trusted PEM Certificate בהגדרות ההעברה, בהתאם לדרישות הבאות:
- האישור חייב להיות שרשרת אישורים תקפה עם קידוד PEM.
- האישור צריך להיות נכון לחלוטין. אם חסרים אישורים בשרשרת או שהתוכן שגוי, חיבור ה-TLS ייכשל.
- לאישור יחיד, אתם יכולים לספק אישור יחיד עם חתימה עצמית משרת מסד הנתונים.
- אם מדובר בשרשרת אישורים מלאה שהונפקה על ידי רשות אישורים פרטית, צריך לספק את שרשרת האמון המלאה. הקובץ הזה כולל את האישור משרת מסד הנתונים וכל אישור CA ברמת ביניים וברמה הבסיסית.
העברות מלאות או מצטברות
כשאתם מגדירים העברה מ-MySQL, אתם יכולים לבחור איך הנתונים ייטענו ל-BigQuery. לשם כך, בהגדרות ההעברה בוחרים באפשרות הכתיבה Full או Incremental. העברות מצטברות נתמכות בגרסת Preview.
אתם יכולים להגדיר העברת נתונים מלאה כדי להעביר את כל הנתונים ממערכי הנתונים של MySQL בכל העברת נתונים.לחלופין, אתם יכולים להגדיר העברת נתונים מצטברת (תצוגה מקדימה) כדי להעביר רק את הנתונים שהשתנו מאז העברת הנתונים האחרונה, במקום לטעון את כל מערך הנתונים בכל העברת נתונים. אם בוחרים באפשרות Incremental להעברת הנתונים, צריך לציין את מצבי הכתיבה Append או Upsert כדי להגדיר איך הנתונים ייכתבו ב-BigQuery במהלך העברת נתונים מצטברת. בקטעים הבאים מתוארים מצבי הכתיבה הזמינים.
הוספה למצב כתיבה
מצב הכתיבה "הוספה" מוסיף רק שורות חדשות לטבלת היעד. האפשרות הזו רק מוסיפה את הנתונים שהועברו בלי לבדוק אם יש רשומות קיימות, ולכן המצב הזה עלול לגרום לכפילות נתונים בטבלת היעד.
כשבוחרים במצב הוספה, צריך לבחור עמודת סימן מים. כדי שהמחבר של MySQL יוכל לעקוב אחרי שינויים בטבלת המקור, צריך להוסיף עמודה של סימן מים.
להעברות של MySQL, מומלץ לבחור עמודה שמתעדכנת רק כשהרשומה נוצרה, ולא משתנה בעדכונים הבאים – לדוגמה, העמודהCREATED_AT.
מצב כתיבה של עדכון או הוספה (upsert)
במצב הכתיבה upsert, המערכת מעדכנת שורה או מוסיפה שורה חדשה בטבלת היעד על ידי בדיקה של מפתח ראשי. אתם יכולים לציין מפתח ראשי כדי שמחבר MySQL יקבע אילו שינויים נדרשים כדי שטבלת היעדים שלכם תהיה מעודכנת בהתאם לטבלה במקור. אם המפתח הראשי שצוין קיים בטבלה ב-BigQuery במהלך העברת נתונים, המחבר של MySQL מעדכן את השורה הזו עם נתונים חדשים מטבלת המקור. אם אין מפתח ראשי במהלך העברת הנתונים, המחבר של MySQL מוסיף שורה חדשה.
כשבוחרים במצב "לעדכן או להוסיף (upsert)", צריך לבחור עמודת סימן מים ומפתח ראשי:
- כדי שהמחבר של MySQL יוכל לעקוב אחרי שינויים בטבלת המקור, צריך להוסיף עמודה של סימן מים.
- בוחרים עמודת סימן מים שמתעדכנת בכל פעם שמשנים שורה. אנחנו ממליצים על עמודות שדומות לעמודה
UPDATED_ATאוLAST_MODIFIED.
- בוחרים עמודת סימן מים שמתעדכנת בכל פעם שמשנים שורה. אנחנו ממליצים על עמודות שדומות לעמודה
המפתח הראשי יכול להיות עמודה אחת או יותר בטבלה, שנדרשות למחבר MySQL כדי לקבוע אם צריך להוסיף או לעדכן שורה.
בוחרים עמודות שמכילות ערכים שאינם null, שהם ייחודיים בכל שורות הטבלה. מומלץ להשתמש בעמודות שכוללות מזהים שנוצרו על ידי המערכת, קודי הפניה ייחודיים (למשל מזהים עם הגדלה אוטומטית) או מזהים של רצפים בלתי משתנים שמבוססים על זמן.
כדי למנוע אובדן או שיבוש של נתונים, בעמודות של המפתח הראשי שבוחרים צריכים להיות ערכים ייחודיים. אם אתם לא בטוחים שהערכים בעמודת המפתח הראשי שבחרתם הם ייחודיים, מומלץ להשתמש במצב הכתיבה append.
התנהגות של הוספה מצטברת
כשאתם מבצעים שינויים בסכימת הטבלה במקור הנתונים, העברות הנתונים המצטברות מהטבלאות האלה משתקפות ב-BigQuery בדרכים הבאות:
| שינויים במקור הנתונים | התנהגות של הטמעה מצטברת |
|---|---|
| הוספת עמודה חדשה | עמודה חדשה נוספת לטבלת היעד ב-BigQuery. כל הרשומות הקודמות בעמודה הזו יכילו ערכי null. |
| מחיקת עמודה | העמודה שנמחקה נשארת בטבלת היעד ב-BigQuery. רשומות חדשות בעמודה שנמחקה מאוכלסות בערכי null. |
| שינוי סוג הנתונים בעמודה | המחבר תומך רק ב
המרות של סוגי נתונים שנתמכות על ידי ALTER COLUMN הצהרת DDL.
המרות של סוגי נתונים אחרים גורמות לכך שהעברת הנתונים תיכשל.
אם נתקלים בבעיות, מומלץ ליצור הגדרת העברה חדשה. |
| שינוי שם של עמודה | העמודה המקורית נשארת כמו שהיא בטבלת היעד ב-BigQuery, ונוספת לטבלת היעד עמודה חדשה עם השם המעודכן. |
לפני שמתחילים
- יוצרים משתמש במסד הנתונים של MySQL.
- מוודאים שביצעתם את כל הפעולות שנדרשות כדי להפעיל את שירות העברת נתונים ל-BigQuery.
- יוצרים מערך נתונים ב-BigQuery לאחסון הנתונים.
- מוודאים שיש לכם את התפקידים הנדרשים כדי להשלים את המשימות שמפורטות במאמר הזה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות ליצירת העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, בקשו מהאדמין להקצות לכם את התפקיד אדמין ב-BigQuery (roles/bigquery.admin) ב-IAM בפרויקט.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות ליצירת העברת נתונים בשירות העברת נתונים ל-BigQuery. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי ליצור העברת נתונים באמצעות שירות העברת הנתונים ל-BigQuery, צריך את ההרשאות הבאות:
-
הרשאות לשירות העברת נתונים ל-BigQuery:
-
bigquery.transfers.update -
bigquery.transfers.get
-
-
הרשאות ב-BigQuery:
-
bigquery.datasets.get -
bigquery.datasets.getIamPolicy -
bigquery.datasets.update -
bigquery.datasets.setIamPolicy -
bigquery.jobs.create
-
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף מופיע במאמר בנושא מתן גישה ל-bigquery.admin.
אם אתם מתכוונים להגדיר התראות על הפעלת העברות ב-Pub/Sub, ודאו שיש לכם את ההרשאה pubsub.topics.setIamPolicy לניהול זהויות והרשאות גישה (IAM). אם אתם מגדירים רק התראות באימייל, אתם לא צריכים הרשאות Pub/Sub. מידע נוסף זמין במאמר התראות על הפעלות של שירות העברת הנתונים ל-BigQuery.
חיבורים לרשת
אם אין כתובת IP ציבורית זמינה לחיבור למסד הנתונים של MySQL, צריך להגדיר קובץ מצורף לרשת.
הוראות מפורטות להגדרת הרשת הנדרשת מופיעות במסמכים הבאים:
- אם אתם מעבירים מ-Cloud SQL, קראו את המאמר הגדרת הגישה למכונה של Cloud SQL.
- אם אתם מעבירים מ-AWS, קראו את המאמר הגדרת ה-VPN של AWS-Google Cloud וחיבור הרשת.
- אם אתם מעבירים מ-Azure, קראו את המאמר הגדרת ה-VPN של Azure-Google Cloud ומחבר הרשת.
טעינת נתוני MySQL ל-BigQuery
כדי להוסיף נתונים מ-MySQL ל-BigQuery, צריך להגדיר העברה באמצעות אחת מהאפשרויות הבאות:
המסוף
עוברים לדף העברות נתונים.
לוחצים על Create transfer (יצירת העברה).
בקטע סוג המקור, בשדה מקור, בוחרים באפשרות MySQL.
בקטע Data source details (פרטים של מקור הנתונים), מבצעים את הפעולות הבאות:
- בקטע Network attachment (מחבר רשת), בוחרים מחבר רשת קיים או לוחצים על Create Network Attachment (יצירת מחבר רשת). למידע נוסף, קראו את הקטע חיבורי רשת במסמך הזה.
- בשדה מארח, מזינים את שם המארח או את כתובת ה-IP של שרת מסד הנתונים של MySQL.
- בשדה Port number, מזינים את מספר היציאה של שרת מסד הנתונים ב-MySQL.
- בשדה Database name, מזינים את השם של מסד הנתונים ב-MySQL.
- בשדה Username, מזינים את שם המשתמש ב-MySQL שיוזם את החיבור למסד הנתונים של MySQL.
- בשדה Password, מזינים את הסיסמה של משתמש MySQL שיוזם את החיבור למסד הנתונים של MySQL.
- בקטע מצב TLS, בוחרים אפשרות מהתפריט. מידע נוסף על מצבי TLS זמין במאמר בנושא הגדרת TLS.
- בשדה Trusted PEM Certificate, מזינים את האישור הציבורי של רשות האישורים (CA) שהנפיקה את אישור ה-TLS של שרת מסד הנתונים. מידע נוסף זמין במאמר אישור שרת מהימן (PEM).
- בשדה Enable legacy mapping, בוחרים באפשרות true (ברירת המחדל) כדי להשתמש במיפוי סוגי הנתונים הקודם. בוחרים באפשרות false כדי להשתמש במיפוי המעודכן של סוגי הנתונים. אם אתם מבצעים העברה מצטברת, הערך הזה חייב להיות false. מידע נוסף על העדכונים במיפוי סוגי הנתונים זמין בקטע 16 במרץ 2027.
- בקטע סוג ההעברה, בוחרים באפשרות מלא או מצטבר.
- אם בוחרים באפשרות מצטבר (תצוגה מקדימה) במצב כתיבה, בוחרים באפשרות הוספה או עדכון והוספה. למידע נוסף על מצבי הכתיבה השונים, קראו את המאמר העברות מלאות או מצטברות.
בקטע MySQL objects to transfer, לוחצים על Browse.
בוחרים את האובייקטים שרוצים להעביר למערך הנתונים ב-BigQuery. אפשר גם להזין באופן ידני אובייקטים שרוצים לכלול בהעברת הנתונים בשדה הזה.
- אם בחרתם באפשרות הוספה כמצב הכתיבה המצטבר, אתם צריכים לבחור עמודה כעמודת סימן המים.
- אם בחרתם באפשרות עדכון או הוספה (upsert) כמצב הכתיבה המצטברת, אתם צריכים לבחור עמודה כעמודת סימן המים, ואז לבחור עמודה אחת או יותר כמפתח הראשי.
בקטע Transfer config name, בשדה השם המוצג, מזינים שם להעברה. שם ההעברה יכול להיות כל ערך שיעזור לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
בקטע Schedule options:
- בוחרים את תדירות החזרה. אם בוחרים באפשרות שעות, ימים (ברירת המחדל), שבועות או חודשים, צריך גם לציין תדירות. אתם יכולים גם לבחור באפשרות בהתאמה אישית כדי ליצור תדירות חזרה ספציפית יותר. אם בוחרים באפשרות על פי דרישה, העברת הנתונים תתבצע רק כשמפעילים את ההעברה באופן ידני.
- אם רלוונטי, בוחרים באפשרות התחלה מיידית או התחלה בשעה מוגדרת ומזינים תאריך התחלה וזמן הפעלה.
בקטע Destination settings, בשדה Dataset בוחרים את מערך הנתונים שיצרתם לאחסון הנתונים, או לוחצים על Create new dataset ויוצרים מערך נתונים חדש שישמש כמערך הנתונים של היעד.
אופציונלי: בקטע אפשרויות התראה, מבצעים את הפעולות הבאות:
- כדי להפעיל התראות באימייל, לוחצים על המתג התראות באימייל כדי להעביר אותו למצב מופעל. כשמפעילים את האפשרות הזו, האדמין של ההעברה מקבל התראה באימייל אם הפעלת ההעברה נכשלת.
- כדי להגדיר התראות על הפעלת Pub/Sub להעברה, לוחצים על המתג Pub/Sub notifications למצב מופעל. אפשר לבחור את שם הנושא או ללחוץ על Create a topic כדי ליצור נושא.
לוחצים על Save.
BQ
מזינים את הפקודה bq mk ומציינים את הדגל ליצירת העברה --transfer_config:
bq mk --transfer_config --project_id=PROJECT_ID --data_source=DATA_SOURCE --display_name=DISPLAY_NAME --target_dataset=DATASET --params='PARAMETERS'
מחליפים את מה שכתוב בשדות הבאים:
- PROJECT_ID (אופציונלי): מזהה הפרויקט ב- Google Cloud .
אם לא מציינים פרויקט מסוים באמצעות הדגל
--project_id, המערכת משתמשת בפרויקט שמוגדר כברירת מחדל. - DATA_SOURCE: מקור הנתונים, שהוא
mysql. - DISPLAY_NAME: השם המוצג של הגדרות העברת הנתונים. שם ההעברה יכול להיות כל ערך שמאפשר לכם לזהות את ההעברה אם תצטרכו לשנות אותה בהמשך.
- DATASET: קבוצת הנתונים שאליה רוצים להעביר את הנתונים בהגדרות ההעברה.
PARAMETERS: הפרמטרים של הגדרות ההעברה שנוצרו בפורמט JSON. לדוגמה:
--params='{"param":"param_value"}'. אלה הפרמטרים של העברה מ-MySQL:-
connector.networkAttachment(אופציונלי): השם של מחבר הרשת שאליו רוצים להתחבר למסד הנתונים של MySQL. -
connector.database: השם של מסד הנתונים של MySQL. -
connector.endpoint.host: שם המארח או כתובת ה-IP של מסד הנתונים. -
connector.endpoint.port: מספר היציאה של מסד הנתונים. -
connector.authentication.username: שם המשתמש של המשתמש במסד הנתונים. -
connector.authentication.password: הסיסמה של משתמש מסד הנתונים. connector.connectionType -
connector.connectionType(אופציונלי): סוג החיבור שקובע את כתובת ה-URL של החיבור. הערך יכול להיותSERVICE, SIDאוTNS. אם לא מציינים ערך, ברירת המחדל היאSERVICE. -
connector.legacyMapping: מגדירים את הערךtrue(ברירת המחדל) כדי להשתמש במיפוי סוגי הנתונים הקודם. כדי להשתמש במיפוי המעודכן של סוגי הנתונים, מגדירים את הערךfalse. אם מבצעים העברה מצטברת, הערך הזה חייב להיותfalse. מידע נוסף על העדכונים במיפוי סוגי הנתונים זמין בקטע 16 במרץ 2027. -
connector.tls.mode: מציינים הגדרת TLS לשימוש בהעברה הזו:-
ENCRYPT_VERIFY_CA_AND_HOSTכדי להצפין נתונים ולאמת את ה-CA ואת שם המארח -
ENCRYPT_VERIFY_CAכדי להצפין נתונים, ולאמת את רשות האישורים בלבד -
ENCRYPT_VERIFY_NONEלהצפנת נתונים בלבד -
DISABLEללא הצפנה או אימות
-
-
connector.tls.trustedServerCertificate: (אופציונלי) מספקים אישור אחד או יותר בקידוד PEM. חובה רק אם הערך שלconnector.tls.modeהואENCRYPT_VERIFY_CA_AND_HOSTאוENCRYPT_VERIFY_CA. -
ingestionType: מצייניםfullאוincremental. העברות מצטברות נתמכות בגרסת Preview. מידע נוסף זמין במאמר בנושא העברות מלאות או מצטברות. -
writeMode: מצייניםWRITE_MODE_APPENDאוWRITE_MODE_UPSERT. -
watermarkColumns: מציינים עמודות בטבלה כעמודות של סימן מים. השדה הזה נדרש להעברות מצטברות. -
primaryKeys: ציון עמודות בטבלה כמפתחות ראשיים. השדה הזה נדרש להעברות מצטברות. -
assets: רשימה של שמות הטבלאות ב-MySQL שיועברו ממסד הנתונים של MySQL כחלק מההעברה.
-
לדוגמה, הפקודה הבאה יוצרת העברה של MySQL בשם My Transfer:
bq mk --transfer_config --target_dataset=mydataset --data_source=mysql --display_name='My Transfer' --params='{"assets":["DB1/DEPARTMENT","DB1/EMPLOYEES"], "connector.authentication.username": "User1", "connector.authentication.password":"ABC12345", "connector.encryptionMode":"FULL", "connector.database":"DB1", "connector.endpoint.host":"54.74.220.23", "connector.endpoint.port":3306 "ingestionType":"incremental", "writeMode":"WRITE_MODE_APPEND", "watermarkColumns":["createdAt","createdAt"], "primaryKeys":[['dep_id'], ['report_by','report_title']], "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST", "connector.tls.trustedServerCertificate": "PEM-encoded certificate"}'
כשמציינים כמה נכסים במהלך העברה מצטברת, הערכים בשדות watermarkColumns ו-primaryKeys תואמים למיקום הערכים בשדה assets. בדוגמה הבאה, dep_id מתאים לטבלה DB1/USER1/DEPARTMENT, ואילו report_by ו-report_title מתאימים לטבלה DB1/USER1/EMPLOYEES.
"primaryKeys":[['dep_id'], ['report_by','report_title']], "assets":["DB1/USER1/DEPARTMENT","DB1/USER1/EMPLOYEES"],
API
משתמשים ב-method projects.locations.transferConfigs.create ומספקים מופע של המשאב TransferConfig.
כדי להריץ העברת נתונים באופן ידני מחוץ ללוח הזמנים הרגיל, אפשר להתחיל הרצת מילוי חוסרים.
מיפוי סוגי נתונים
בטבלה הבאה מופיע מיפוי של סוגי הנתונים ב-MySQL לסוגי הנתונים התואמים ב-BigQuery.
| סוג הנתונים ב-MySQL | סוג נתונים ב-BigQuery | סוג הנתונים המעודכן ב-BigQuery |
|---|---|---|
BIT |
BOOLEAN |
|
TINYINT |
INTEGER |
|
BOOL, BOOLEAN | INTEGER
במסד נתונים של MySQL, סוגי הנתונים |
|
SMALLINT |
INTEGER |
|
MEDIUMINT |
INTEGER |
|
INT, INTEGER |
INTEGER |
|
BIGINT |
BIGNUMERIC |
|
FLOAT |
FLOAT |
|
DOUBLE |
FLOAT |
|
DECIMAL |
BIGNUMERIC |
|
DATE |
DATE |
|
DATETIME |
TIMESTAMP |
DATETIME |
TIMESTAMP |
TIMESTAMP |
|
TIME |
TIME |
|
YEAR |
DATE |
|
CHAR |
STRING |
|
VARCHAR |
STRING |
|
BINARY |
BYTES |
|
VARBINARY |
BYTES |
|
TINYBLOB |
BYTES |
|
TINYTEXT |
STRING |
|
BLOB |
BYTES |
|
TEXT |
STRING |
|
MEDIUMBLOB |
BYTES |
|
MEDIUMTEXT |
STRING |
|
LONGBLOB |
BYTES |
|
LONGTEXT |
STRING |
|
ENUM |
STRING |
|
SET |
STRING |
|
JSON |
STRING |
JSON |
GEOMETRY |
BYTES |
GEOGRAPHY |
פתרון בעיות
אם נתקלתם בבעיות בהגדרת העברת הנתונים, כדאי לעיין במאמר בנושא בעיות בהעברת נתונים מ-MySQL.
תמחור
למידע על מחירי ההעברות מ-MySQL, קראו את המאמר התמחור של שירות העברת הנתונים.
העברת מטא-נתונים
אפשר גם להשתמש במחבר של MySQL כדי להעביר מטא-נתונים ל-Knowledge Catalog. מידע נוסף זמין במאמר טעינת מטא-נתונים של MySQL ל-Knowledge Catalog.המאמרים הבאים
- סקירה כללית על שירות העברת נתונים ל-BigQuery
- מידע ולמידה על ניהול העברות, כולל קבלת מידע על הגדרת העברה, הצגת רשימה של הגדרות העברה וצפייה בהיסטוריית ההרצה של העברה.
- איך טוענים נתונים באמצעות פעולות של BigQuery Omni