1. סקירה כללית
עדכון אחרון: 23 ביולי 2020
מה זה Cloud Spanner?
Google Cloud Spanner הוא מסד נתונים תואם ACID שמופץ ברחבי העולם ומטפל באופן אוטומטי ברפליקות, בפיצול ובעיבוד טרנזקציות. כך ניתן להתאים את ההיקף במהירות לכל דפוס שימוש ולהבטיח את הצלחת המוצרים.
תכונות עיקריות
- מסד נתונים רלציוני, שמותאם להתאמה לעומס: כל מה שאפשר לצפות ממסד נתונים רלציוני – סכימות, שאילתות SQL ועסקאות ACID – נבדק ומוכן להתאמה לעומס (scaling) בכל העולם.
- זמינות של 99.999%: Cloud Spanner מספק זמינות של 99.999% מהמובילות בתחום למכונות במספר אזורים – פי 10 פחות זמן השבתה מאשר ארבע תשע, ומספק רפליקציה שקופה וסינכרונית בין אזורים ובתצורות במספר אזורים.
- פיצול אוטומטי: Cloud Spanner מבצע אופטימיזציה של הביצועים על ידי פיצול נתונים באופן אוטומטי על סמך טעינת הבקשה וגודל הנתונים. כתוצאה מכך, תוכלו לחסוך זמן בדאגה לגבי התאמת מסד הנתונים שלכם, ובמקום זאת להתמקד בהרחבת העסק שלכם.
מה תלמדו
- יצירת מכונות של Cloud Spanner דרך מסוף Google Cloud.
- יצירת מסד נתונים חדש במכונה של Cloud Spanner.
- שימוש ב-sampledb כדי לטעון נתונים לדוגמה ולשלוח שאילתות לגביהם.
- מחיקת המכונה של Cloud Spanner.
2. הגדרה ודרישות
הגדרת סביבה בקצב עצמאי
אם אין לכם עדיין חשבון Google (Gmail או Google Apps), עליכם ליצור חשבון. נכנסים למסוף Google Cloud Platform ( console.cloud.google.com) ויוצרים פרויקט חדש:
חשוב לזכור את מזהה הפרויקט, שם ייחודי בכל הפרויקטים ב-Google Cloud (השם שלמעלה כבר תפוס ולא מתאים לכם, סליחה). בהמשך ב-Codelab הזה, המערכת תתייחס אליה בתור PROJECT_ID.
בשלב הבא צריך להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבים של Google Cloud.
ההרצה של קוד ה-Codelab הזה לא אמורה לעלות לך יותר מכמה דולרים, אבל הוא יכול להיות גבוה יותר אם תחליטו להשתמש ביותר משאבים או אם תשאירו אותם פועלים (עיינו בקטע 'ניקוי' בסוף המסמך).
משתמשים חדשים ב-Google Cloud Platform זכאים לתקופת ניסיון בחינם בשווי 300$.
3. פתיחת Cloud Spanner במסוף Cloud
במסוף Google Cloud, לוחצים על סמל התפריט בפינה הימנית העליונה של המסך כדי לנווט מימין.
גוללים למטה ובוחרים באפשרות 'Spanner':
ממשק המשתמש של Cloud Spanner יופיע עכשיו, ובהנחה שאתם משתמשים בפרויקט שעדיין לא הפעיל את Cloud Spanner API, תופיע תיבת דו-שיח שבה תתבקשו להפעיל אותו. אם כבר הפעלתם את ה-API, אתם יכולים לדלג על השלב הזה.
לוחצים על 'הפעלה'. כדי להמשיך:
4. יצירת מכונה
קודם כול, יוצרים מכונה של Cloud Spanner. בממשק המשתמש, לוחצים על Create Instance (יצירת מכונה) כדי ליצור מכונה חדשה:
כשלוחצים על Create Instance, תועברו לדף ליצירת מכונה. מזינים שם למכונה ובוחרים הגדרה.
אפשר לבחור בהגדרה אזורית או במספר אזורים. בהגדרות אזוריות יהיו כל הרפליקות באותו אזור, והגדרות של מספר אזורים ייצרו רפליקות לקריאה בכמה אזורים. אפשר ללחוץ על 'השוואת הגדרות אזור' כדי להשוות את התצורה.
אחרי שבוחרים הגדרה, הסיכום יוצג בחלונית השמאלית:
בעתיד תוכלו להגדיל את מספר הצמתים כדי לספק יותר משאבים למכונה, או להקטין אותה אם המכונה לא תצטרך משאבים נוספים.
לוחצים על 'יצירה'. כדי ליצור את המכונה.
המכונה של Cloud Spanner מוכנה עכשיו לשימוש.
5. ליצור מסד נתונים
כדי ליצור מסד נתונים חדש, לוחצים על "יצירת מסד נתונים":
מזינים שם למסד הנתונים החדש. בשלב הזה תוכלו גם לספק סכימה.
בשלב הזה נדלג על הוספת סכימה, ונלחץ על 'יצירה'. כדי ליצור מסד נתונים ריק.
אחרי שלוחצים על 'יצירה', המערכת יוצרת מסד נתונים חדש:
6. טעינת נתונים לדוגמה והרצת שאילתה עליהם
ב-Codelab הזה, נעלה נתונים לדוגמה ונריץ עליהם שאילתות באמצעות ה-sampledb. גרסת Sampledb מכילה מערכי נתונים שונים ויכולה לייבא נתונים למסדי נתונים קיימים.
נפעיל את התוכנית ב-Google Cloud Shell. אם זו הפעם הראשונה שאתם משתמשים ב-Google Cloud Shell בפרויקט הזה, הלוגו של Google Cloud Shell יופיע בסרגל הניווט העליון. לוחצים על Cloud Shell כדי להפעיל אותו.
לאחר ההפעלה, יופיע מסוף בחלק התחתון:
במסוף, משכפלים את המאגר לדוגמה ופועלים לפי ההוראות כדי להתקין את יחסי התלות:
$ git clone https://github.com/cloudspannerecosystem/sampledb.git Cloning into 'sampledb'... remote: Enumerating objects: 59, done. remote: Counting objects: 100% (59/59), done. remote: Compressing objects: 100% (42/42), done. remote: Total 59 (delta 23), reused 35 (delta 11), pack-reused 0 Unpacking objects: 100% (59/59), done. $ cd sampledb $ virtualenv env $ source env/bin/activate $ pip install -r requirements.txt
אחרי שמתקינים את יחסי התלות, אפשר להריץ דגימות כדי ליצור מסד נתונים חדש עם נתונים לדוגמה:
$ python batch_import.py my-first-instance my-sample-db
לאחר הצלחה, תוכל לראות את הקובץ 'my-sample-db' באמצעות שתי טבלאות חדשות (תגובות וסיפורים):
מערך הנתונים לדוגמה מכיל כתבות ותגובות מ-Hacker News. תוכלו ללחוץ על "שאילתה" כדי להתחיל להריץ שאילתות על הנתונים ולעיין בהם:
7. הסרת המשאבים
השלב הזה הוא אופציונלי. אם אתם רוצים להמשיך להתנסות במכונה של Cloud Spanner, אתם לא צריכים לנקות אותה בשלב הזה. עם זאת, החיוב על המכונה הזו ימשיך להתבצע על הפרויקט שבו אתם משתמשים. אם אין לך צורך נוסף במקרה הזה, עליך למחוק אותו בשלב הזה כדי להימנע מחיובים כאלה.
כדי לחזור לדף המכונה, לוחצים על my-first-instance. בפינה הימנית העליונה:
לוחצים על 'מחיקה'. למחיקת המכונה:
מחיקת המופע היא פעולה בלתי הפיכה! אי אפשר לשחזר את הנתונים מהמכונה הזו. כדי למנוע מחיקה בטעות של מכונה שגויה, צריך לאשר את המחיקה על ידי הזנת שם המכונה בתיבת הדו-שיח לאישור:
מזינים את שם המכונה ולוחצים על Delete.
8. מעולה!
יצרתם מכונה חדשה של Cloud Spanner, יצרתם מסד נתונים ריק, טענתם נתונים לדוגמה, ואופציונלי, מחקתם את המכונה של Cloud Spanner.
אילו נושאים דיברנו?
- יצירת מכונות של Cloud Spanner דרך מסוף Google Cloud.
- יצירת מסד נתונים חדש במכונה של Cloud Spanner.
- שימוש ב-sampledb כדי לטעון נתונים לדוגמה ולשלוח שאילתות לגביהם.
- מחיקת המכונה של Cloud Spanner.