Cloud Spanner: מסד הנתונים הראשון שלכם

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) ויוצרים פרויקט חדש:

50983ac3fdbbf8d0.png

ea581205026ca8e3.png

חשוב לזכור את מזהה הפרויקט, שם ייחודי בכל הפרויקטים ב-Google Cloud (השם שלמעלה כבר תפוס ולא מתאים לכם, סליחה). בהמשך ב-Codelab הזה, המערכת תתייחס אליה בתור PROJECT_ID.

בשלב הבא צריך להפעיל את החיוב במסוף Cloud כדי להשתמש במשאבים של Google Cloud.

ההרצה של קוד ה-Codelab הזה לא אמורה לעלות לך יותר מכמה דולרים, אבל הוא יכול להיות גבוה יותר אם תחליטו להשתמש ביותר משאבים או אם תשאירו אותם פועלים (עיינו בקטע 'ניקוי' בסוף המסמך).

משתמשים חדשים ב-Google Cloud Platform זכאים לתקופת ניסיון בחינם בשווי 300$.

3. פתיחת Cloud Spanner במסוף Cloud

במסוף Google Cloud, לוחצים על סמל התפריט בפינה הימנית העליונה של המסך כדי לנווט מימין.

גוללים למטה ובוחרים באפשרות 'Spanner':

46fe7785700d335.png

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

לוחצים על 'הפעלה'. כדי להמשיך:

323474ade0d07c48.png

4. יצירת מכונה

קודם כול, יוצרים מכונה של Cloud Spanner. בממשק המשתמש, לוחצים על Create Instance (יצירת מכונה) כדי ליצור מכונה חדשה:

1126607e9b3a95f7.png

כשלוחצים על Create Instance, תועברו לדף ליצירת מכונה. מזינים שם למכונה ובוחרים הגדרה.

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

f5f41323226be8b7.png

אחרי שבוחרים הגדרה, הסיכום יוצג בחלונית השמאלית:

be5e99711a47047f.png

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

לוחצים על 'יצירה'. כדי ליצור את המכונה.

97cf7427660e36bd.png

המכונה של Cloud Spanner מוכנה עכשיו לשימוש.

13ac2d48ea60370b.png

5. ליצור מסד נתונים

כדי ליצור מסד נתונים חדש, לוחצים על "יצירת מסד נתונים":

71761f0803038a5.png

מזינים שם למסד הנתונים החדש. בשלב הזה תוכלו גם לספק סכימה.

d7ca47df879931c2.png

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

e398ab29aad3d601.png

אחרי שלוחצים על 'יצירה', המערכת יוצרת מסד נתונים חדש:

4164af0df20ca180.png

6. טעינת נתונים לדוגמה והרצת שאילתה עליהם

ב-Codelab הזה, נעלה נתונים לדוגמה ונריץ עליהם שאילתות באמצעות ה-sampledb. גרסת Sampledb מכילה מערכי נתונים שונים ויכולה לייבא נתונים למסדי נתונים קיימים.

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

e23b881395174c00.png

לאחר ההפעלה, יופיע מסוף בחלק התחתון:

b885c452da656556.png

במסוף, משכפלים את המאגר לדוגמה ופועלים לפי ההוראות כדי להתקין את יחסי התלות:

$ 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' באמצעות שתי טבלאות חדשות (תגובות וסיפורים):

eb4adca281f8704a.png

מערך הנתונים לדוגמה מכיל כתבות ותגובות מ-Hacker News. תוכלו ללחוץ על "שאילתה" כדי להתחיל להריץ שאילתות על הנתונים ולעיין בהם:

8b95a3b14709b285.png

7. הסרת המשאבים

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

כדי לחזור לדף המכונה, לוחצים על my-first-instance. בפינה הימנית העליונה:

2a226b985f43074f.png

לוחצים על 'מחיקה'. למחיקת המכונה:

27ee8f9656364f98.png

מחיקת המופע היא פעולה בלתי הפיכה! אי אפשר לשחזר את הנתונים מהמכונה הזו. כדי למנוע מחיקה בטעות של מכונה שגויה, צריך לאשר את המחיקה על ידי הזנת שם המכונה בתיבת הדו-שיח לאישור:

537e18cf2dd7a668.png

מזינים את שם המכונה ולוחצים על Delete.

8. מעולה!

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

אילו נושאים דיברנו?

  • יצירת מכונות של Cloud Spanner דרך מסוף Google Cloud.
  • יצירת מסד נתונים חדש במכונה של Cloud Spanner.
  • שימוש ב-sampledb כדי לטעון נתונים לדוגמה ולשלוח שאילתות לגביהם.
  • מחיקת המכונה של Cloud Spanner.

מידע נוסף