יצירה של מסד נתונים וביצוע שאילתות במסוף Google Cloud

במדריך למתחילים הזה נסביר איך להשתמש במסוף Google Cloud כדי ליצור מסד נתונים ב-Spanner, להוסיף נתונים ולהריץ שאילתת SQL.

במדריך למתחילים הזה תלמדו:

  • יוצרים מופע Spanner.
  • יוצרים מסד נתונים.
  • יוצרים סכימה.
  • הוספה ושינוי של נתונים.
  • מריצים שאילתה.

מידע על עלות השימוש ב-Spanner זמין במאמר תמחור.

לפני שמתחילים

  1. נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. אופציונלי: Spanner API אמור להיות מופעל אוטומטית. אם לא, מפעילים אותו באופן ידני:

    הפעלת Spanner API
  7. כדי לקבל את ההרשאות שנדרשות ליצירת מופעים ומסדי נתונים, צריך לבקש מהאדמין להקצות לכם את התפקיד ב-IAM ‏ Cloud Spanner Admin (roles/spanner.admin) בפרויקט.

יצירת מכונה באמצעות מסוף Google Cloud

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

  1. נכנסים לדף Spanner במסוף Google Cloud .

    כניסה ל-Spanner

  2. בוחרים או יוצרים Google Cloud פרויקט אם עוד לא עשיתם את זה.

  3. בדף Spanner, לוחצים על Create a provisioned instance.

    אם השתמשתם ב-Spanner בעבר, תועברו לדף Instances של Spanner במקום לדף המוצר. לוחצים על Create instance.

  4. בדף Name your instance (מתן שם למכונה), מזינים שם למכונה, כמו Test Instance (מכונת בדיקה).

  5. מזהה המכונה מוזן אוטומטית על סמך שם המכונה, לדוגמה, test-instance. משנים את החשבון לפי הצורך. לוחצים על המשך.

  6. בדף Configure your instance (הגדרת המופע), משאירים את אפשרות ברירת המחדל Regional (אזורי) ובוחרים הגדרה מהתפריט הנפתח.

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

  7. לוחצים על Continue.

  8. בדף הקצאת קיבולת מחשוב, בוחרים באפשרות יחידות עיבוד (PU) ומשאירים את ערך ברירת המחדל של 1,000 יחידות עיבוד.

  9. לוחצים על יצירה.

    במסוף Google Cloud מוצג הדף Overview של המופע שיצרתם.

יצירת מסד נתונים

  1. נכנסים לדף Spanner Instances במסוף Google Cloud .

    כניסה לדף Spanner instances

  2. לוחצים על המופע שיצרתם, למשל Test Instance.

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

  4. בשדה של שם מסד הנתונים, מזינים שם, למשל example-db.

  5. בוחרים ניב של מסד נתונים.

    מידע על תמיכה ב-PostgreSQL והנחיות לבחירת ניב זמין במאמר ממשק PostgreSQL. אם בחרתם ב-GoogleSQL, תצטרכו להגדיר את הסכימה בשדה הטקסט Define your schema בקטע הבא של המדריך הזה.

    עכשיו הדף ליצירת מסד הנתונים נראה כך:

    חלון יצירת מסד הנתונים המעודכן.

  6. לוחצים על יצירה.

    בדף Overview במסוף Google Cloud מוצג מסד הנתונים שיצרתם.

יצירת סכימה למסד הנתונים

  1. בתפריט הניווט, לוחצים על Spanner Studio.

  2. בדף Spanner Studio, לוחצים על New tab או משתמשים בכרטיסיית העריכה הריקה.

  3. צריך להזין את הפרטים הבאים:

    GoogleSQL

    CREATE TABLE Singers (
      SingerId   INT64 NOT NULL,
      FirstName  STRING(1024),
      LastName   STRING(1024),
      SingerInfo BYTES(MAX),
      BirthDate  DATE
    ) PRIMARY KEY(SingerId);
    

    PostgreSQL

    CREATE TABLE Singers (
      BirthDate  TIMESTAMPTZ,
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      SingerInfo BYTEA
    );
    
  4. לוחצים על הפעלה.

    המסוף Google Cloud חוזר לדף Overview של מסד הנתונים ומוצג בו שהעדכונים של Schema מתבצעים. כשהעדכון מסתיים, הדף נראה כך:

    GoogleSQL

    דף הסקירה הכללית המעודכן.

    PostgreSQL

    דף הסקירה הכללית המעודכן.

    שימו לב ש-PostgreSQL ממיר את שם הטבלה לאותיות קטנות.

הוספה ושינוי של נתונים

Google Cloud המסוף מספק ממשק להוספה, לעריכה ולמחיקה של נתונים.

הוספת נתונים

  1. ברשימת הטבלאות בדף Overview של מסד הנתונים, לוחצים על הטבלה Singers.

    בדף Schema של הטבלה Singers במסוף Google Cloud .

  2. בתפריט הניווט, לוחצים על נתונים כדי להציג את הדף נתונים של הטבלה Singers.

  3. לוחצים על הוספה.

    במסוף Google Cloud מוצג הדף של טבלת Singers ב-Spanner Studio עם כרטיסיית שאילתה חדשה שמכילה את ההצהרה INSERT שצריך לערוך כדי להוסיף שורה לטבלת Singers ולראות את התוצאה של ההוספה:

    GoogleSQL

     -- Add new values in the VALUES clause in order of the column list.
     -- Each value must be type compatible with its associated column.
    INSERT INTO
     Singers (SingerId,
       FirstName,
       LastName,
       SingerInfo,
       BirthDate)
    VALUES
     (<SingerId>, -- type: INT64
       <FirstName>, -- type: STRING(1024)
       <LastName>, -- type: STRING(1024)
       <SingerInfo>, -- type: BYTES(MAX)
       <BirthDate> -- type: DATE
       )
    THEN RETURN
     SingerId,
     FirstName,
     LastName,
     SingerInfo,
     BirthDate;
    

    PostgreSQL

      -- Add new values in the VALUES clause in order of the column list.
      -- Each value must be type compatible with its associated column.
    INSERT INTO
      singers (singerid,
        firstname,
        lastname,
        singerinfo,
        birthdate)
    VALUES
      (<singerid>, -- type: bigint
        <firstname>, -- type: character varying
        <lastname>, -- type: character varying
        <singerinfo>, -- type: bytea
        <birthdate> -- type: timestamp with time zone
        );
    THEN RETURN
       singerid,
       firstname,
       lastname,
       singerinfo,
       birthdate;
    

    שימו לב ש-PostgreSQL ממיר את שמות העמודות לאותיות קטנות.

  4. עורכים את סעיף VALUES בהצהרת INSERT.

    GoogleSQL

      -- Add new values in the VALUES clause in order of the column list.
      -- Each value must be type compatible with its associated column.
    INSERT INTO
      Singers (SingerId,
        BirthDate,
        FirstName,
        LastName,
        SingerInfo)
    VALUES
      (1, -- type: INT64
        NULL, -- type: DATE
        'Marc', -- type: STRING(1024)
        'Richards', -- type: STRING(1024)
        NULL -- type: BYTES(MAX)
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      SingerInfo,
      BirthDate;
    

    PostgreSQL

      -- Add new values in the VALUES clause in order of the column list.
      -- Each value must be type compatible with its associated column.
    INSERT INTO
      singers (singerid,
        birthdate,
        firstname,
        lastname,
        singerinfo)
    VALUES
      (1, -- type: bigint
        NULL, -- type: timestamp with time zone
        'Marc', -- type: character varying
        'Richards', -- type: character varying
        NULL -- type: bytea
        );
    THEN RETURN
       singerid,
       firstname,
       lastname,
       singerinfo,
       birthdate;
    
  5. לוחצים על הפעלה.

    ‫Spanner מריץ את ההצהרות. בסיום, בכרטיסייה Results (תוצאות) מוצג שההצהרה הוסיפה שורה אחת:

    GoogleSQL

    הנתונים המעודכנים בטבלה Singers עם שורה אחת.

    PostgreSQL

    הנתונים המעודכנים בטבלה Singers עם שורה אחת.

  6. ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Insert data (הוספת נתונים).

  7. עורכים את סעיף VALUES בהצהרה INSERT ואת סעיף WHERE בהצהרה SELECT:

    GoogleSQL

      -- Add new values in the VALUES clause in order of the column list.
      -- Each value must be type compatible with its associated column.
    INSERT INTO
      Singers (SingerId,
        BirthDate,
        FirstName,
        LastName,
        SingerInfo)
    VALUES
      (2, -- type: INT64
        NULL, -- type: DATE
        'Catalina', -- type: STRING(1024)
        'Smith', -- type: STRING(1024)
        NULL -- type: BYTES(MAX)
        )
      -- Change values in the WHERE condition to match the inserted row.
    SELECT
      *
    FROM
      Singers
    WHERE
      SingerId=2;
    

    PostgreSQL

      -- Add new values in the VALUES clause in order of the column list.
      -- Each value must be type compatible with its associated column.
    INSERT INTO
      singers (singerid,
        birthdate,
        firstname,
        lastname,
        singerinfo)
    VALUES
      (2, -- type: bigint
        NULL, -- type: timestamp with time zone
        'Catalina', -- type: character varying
        'Smith', -- type: character varying
        NULL -- type: bytea
        );
      -- Change values in the WHERE condition to match the inserted row.
    SELECT
      *
    FROM
      singers
    WHERE
      singerid=2;
    
  8. לוחצים על הפעלה.

    אחרי ש-Spanner מריץ את ההצהרות, בכרטיסייה Results מוצג שההצהרה הוסיפה שורה אחת.

  9. ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Preview Data (תצוגה מקדימה של הנתונים).

  10. לוחצים על הפעלה. בטבלה Singers יש עכשיו שתי שורות:

    GoogleSQL

    נתוני הטבלה המעודכנים של הזמרים עם שתי שורות.

    PostgreSQL

    נתוני הטבלה המעודכנים של הזמרים עם שתי שורות.

אפשר גם להוסיף ערכים של מחרוזת ריקה כשמזינים נתונים.

  1. לוחצים על הוספה כדי להוסיף שורה.

    שוב מוצג בדף Spanner Studio של טבלת Singers ב-Spanner כרטיסיית שאילתה חדשה שמכילה את אותן פקודות INSERT ו-SELECT.

  2. עורכים את סעיף VALUES של הצהרת התבנית INSERT ואת סעיף WHERE של הצהרת התבנית SELECT:

    GoogleSQL

      -- Add new values in the VALUES clause in order of the column list.
      -- Each value must be type compatible with its associated column.
    INSERT INTO
      Singers (SingerId,
        BirthDate,
        FirstName,
        LastName,
        SingerInfo)
    VALUES
      (3, -- type: INT64
        NULL, -- type: DATE
        'Kena', -- type: STRING(1024)
        '', -- type: STRING(1024)
        NULL -- type: BYTES(MAX)
        );
      -- Change values in the WHERE condition to match the inserted row.
    SELECT
      *
    FROM
      Singers
    WHERE
      SingerId=3;
    

    PostgreSQL

      -- Add new values in the VALUES clause in order of the column list.
      -- Each value must be type compatible with its associated column.
    INSERT INTO
      singers (singerid,
        birthdate,
        firstname,
        lastname,
        singerinfo)
    VALUES
      (3, -- type: bigint
        NULL, -- type: timestamp with time zone
        'Kena', -- type: character varying
        '', -- type: character varying
        NULL -- type: bytea
        );
      -- Change values in the WHERE condition to match the inserted row.
    SELECT
      *
    FROM
      singers
    WHERE
      singerid=3;
    

    שימו לב שהערך שצוין בעמודה של שם המשפחה הוא מחרוזת ריקה, '', ולא ערך NULL.

  3. לוחצים על הפעלה.

    אחרי ש-Spanner מריץ את ההצהרות, בכרטיסייה Results מוצג שההצהרה הוסיפה שורה אחת.

  4. ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Preview Data (תצוגה מקדימה של הנתונים).

  5. לוחצים על הפעלה. בטבלה Singers יש עכשיו שלוש שורות, ובשורה עם ערך המפתח הראשי 3 יש מחרוזת ריקה בעמודה LastName:

    GoogleSQL

    הנתונים המעודכנים בטבלה Singers עם שלוש שורות.

    PostgreSQL

    הנתונים המעודכנים בטבלה Singers עם שלוש שורות.

עריכת הנתונים

  1. בדף Data (נתונים) של הטבלה Singers (זמרים), מסמנים את תיבת הסימון בשורה עם ערך המפתח הראשי 3 ולוחצים על Edit (עריכה).

    בדפדפן מוצג הדף Spanner Studio עם כרטיסייה חדשה שמכילה הצהרות של תבניות UPDATE ו-SET שאפשר לערוך. שימו לב שהסעיפים WHERE בשתי ההצהרות מציינים שהשורה לעדכון היא השורה עם ערך המפתח הראשי 3.

    GoogleSQL

      -- Change values in the SET clause to update the row where the WHERE condition is true.
    UPDATE
      Singers
    SET
      BirthDate='',
      FirstName='Kena',
      LastName='',
      SingerInfo=''
    WHERE
      SingerId=3;
    SELECT
      *
    FROM
      Singers
    WHERE
      SingerId=3;
    

    PostgreSQL

      -- Change values in the SET clause to update the row where the WHERE condition is true.
    UPDATE
      singers
    SET
      birthdate=NULL,
      firstname='Kena',
      lastname='',
      singerinfo=NULL
    WHERE
      singerid='3';
    SELECT
      *
    FROM
      singers
    WHERE
      singerid='3';
    
  2. עורכים את סעיף SET בהצהרת UPDATE כדי לעדכן רק את תאריך הלידה:

    GoogleSQL

      -- Change values in the SET clause to update the row where the WHERE condition is true.
    UPDATE
      Singers
    SET
      BirthDate='1961-04-01'
    WHERE
      SingerId=3;
    SELECT
      *
    FROM
      Singers
    WHERE
      SingerId=3;
    

    PostgreSQL

      -- Change values in the SET clause to update the row where the WHERE condition is true.
    UPDATE
      singers
    SET
      birthdate='1961-04-01 00:00:00 -8:00'
    WHERE
      singerid='3';
    SELECT
      *
    FROM
      singers
    WHERE
      singerid='3';
    
  3. לוחצים על הפעלה.

    ‫Spanner מריץ את ההצהרות. בסיום, בכרטיסייה תוצאות מוצג שההצהרה הראשונה עדכנה שורה אחת.

  4. ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Preview Data (תצוגה מקדימה של הנתונים).

  5. לוחצים על הפעלה. עכשיו יש ערך לתאריך הלידה בשורה המעודכנת.

    GoogleSQL

    נתוני הטבלה Singers אחרי העדכון, עם שורה מעודכנת.

    PostgreSQL

    נתוני הטבלה Singers אחרי העדכון, עם שורה מעודכנת.

מחיקת נתונים

  1. בטבלה Singers (זמרים), בדף Data (נתונים), מסמנים את תיבת הסימון בשורה עם 2 בעמודה הראשונה, ואז לוחצים על Delete (מחיקה).
  2. בתיבת הדו-שיח שמופיעה, לוחצים על Confirm.

    בטבלה Singers יש עכשיו שתי שורות:

    GoogleSQL

    נתוני הטבלה Singers המעודכנים עם שתי שורות; השורה של SingerId 2 נעלמה.

    PostgreSQL

    נתוני הטבלה Singers המעודכנים עם שתי שורות; השורה של SingerId 2 נעלמה.

הרצת שאילתה במסוף Google Cloud

  1. בדף סקירה כללית של מסד הנתונים, לוחצים על Spanner Studio בתפריט הניווט.

  2. לוחצים על New tab (כרטיסייה חדשה) כדי ליצור כרטיסייה חדשה של שאילתה. לאחר מכן, מזינים את השאילתה הבאה בעורך השאילתות:

    GoogleSQL

    SELECT * FROM Singers;
    

    PostgreSQL

    SELECT * FROM singers;
    
  3. לוחצים על הפעלה.

    מערכת Spanner מריצה את השאילתה. בסיום, התוצאה של השאילתה תוצג בכרטיסייה תוצאות:

    GoogleSQL

    תוצאות השאילתה.

    PostgreSQL

    תוצאות השאילתה.

כל הכבוד! יצרתם בהצלחה מסד נתונים ב-Spanner והרצתם הצהרת SQL באמצעות כלי עריכת השאילתות.

הסרת המשאבים

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

מחיקת מסד הנתונים

  1. נכנסים לדף Spanner Instances במסוף Google Cloud .

    כניסה לדף Spanner instances

  2. לוחצים על שם המכונה שכוללת את מסד הנתונים שרוצים למחוק, למשל Test Instance.

  3. לוחצים על השם של מסד הנתונים שרוצים למחוק, לדוגמה, example-db.

  4. בדף פרטי מסד הנתונים, לוחצים על מחיקת מסד הנתונים.

  5. מאשרים שרוצים למחוק את מסד הנתונים על ידי הזנת השם שלו ולחיצה על מחיקה.

מחיקת המכונה

  1. נכנסים לדף Spanner Instances במסוף Google Cloud .

    כניסה לדף Spanner instances

  2. לוחצים על השם של המכונה שרוצים למחוק, למשל Test Instance.

  3. לוחצים על מחיקת המופע.

  4. כדי לאשר שרוצים למחוק את המופע, מזינים את שם המופע ולוחצים על מחיקה.

המאמרים הבאים