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

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

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

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

    כניסה ל-Spanner

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

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

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

  4. בקטע Select an edition, בוחרים באפשרות Standard ולוחצים על Continue.

  5. בקטע Name your instance, מזינים Instance name, לדוגמה Test Instance.

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

  6. בקטע Configure your instance, באפשרות Choose a configuration, משאירים את אפשרות ברירת המחדל Regional ובוחרים מיקום להגדרה מהתפריט הנפתח.

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

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

  8. בקטע Configure compute capacity, בשדה Select unit בוחרים באפשרות Processing units (PUs). בשדה Choose a scaling mode, משאירים את האפשרות Manual allocation ואת ערך ברירת המחדל של Quantity, שהוא 1000 יחידות עיבוד.

  9. אופציונלי: בקטע Backups, מבטלים את הסימון של התיבה Enable default backup schedules אם לא רוצים ליצור לוחות זמנים לגיבוי כברירת מחדל למכונה לבדיקה.

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

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

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

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

    כניסה לדף Spanner instances

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

  3. בדף Overview של המכונה שנפתח, לוחצים על Create database.

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

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

    למידע על התמיכה ב-PostgreSQL ולהנחיות לבחירת דיאלקט, קראו את המאמר ממשק PostgreSQL. משאירים את הקטע Define your schema (optional) (הגדרת הסכימה (אופציונלי)) ריק. בקטע הבא במדריך למתחילים תגדירו את הסכימה ב-Spanner Studio.

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

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

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

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

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

    GoogleSQL

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

    PostgreSQL

    CREATE TABLE Singers (
      SingerId   BIGINT PRIMARY KEY,
      FirstName  VARCHAR(1024),
      LastName   VARCHAR(1024),
      BirthDate  TIMESTAMPTZ
    );
    
  3. לוחצים על Run.

    ‫Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results מוצגת ההודעה Update completed.

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

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

הוספת נתונים

  1. בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Insert data.

    ‫Spanner פותח כרטיסיית שאילתה חדשה ב-Spanner Studio שמכילה תבנית של הצהרת INSERT.

  2. עורכים את הסעיף VALUES של ההצהרה 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,
        BirthDate)
    VALUES
      (1, -- type: INT64
        'Marc', -- type: STRING(1024)
        'Richards', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      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,
        birthdate)
    VALUES
      (1, -- type: bigint
        'Marc', -- type: character varying
        'Richards', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    

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

  3. לוחצים על Run.

    ‫Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב ‎1 row inserted והנתונים של השורה שנוספה.

  4. בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Insert data.

  5. עורכים את הסעיף 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,
        FirstName,
        LastName,
        BirthDate)
    VALUES
      (2, -- type: INT64
        'Catalina', -- type: STRING(1024)
        'Smith', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      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,
        birthdate)
    VALUES
      (2, -- type: bigint
        'Catalina', -- type: character varying
        'Smith', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  6. לוחצים על Run.

    ‫Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב ‎1 row inserted והנתונים של השורה שנוספה.

  7. בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Preview data.

  8. לוחצים על Run. בכרטיסייה Results מוצגות שתי השורות בטבלה Singers.

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

  1. בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Insert data.

    ב-Spanner נפתחת כרטיסיית שאילתה חדשה ב-Spanner Studio, שמכילה את הצהרת INSERT של התבנית.

  2. עורכים את הסעיף 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,
        FirstName,
        LastName,
        BirthDate)
    VALUES
      (3, -- type: INT64
        'Kena', -- type: STRING(1024)
        '', -- type: STRING(1024)
        NULL -- type: DATE
        )
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      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,
        birthdate)
    VALUES
      (3, -- type: bigint
        'Kena', -- type: character varying
        '', -- type: character varying
        NULL -- type: timestamp with time zone
        )
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  3. לוחצים על Run.

    ‫Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results מוצג הכיתוב ‎1 row inserted והנתונים של השורה שנוספה.

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

  4. בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Preview data.

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

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

  1. לוחצים על New tab כדי ליצור כרטיסיית שאילתה חדשה, ואז מזינים את הצהרת ה-UPDATE הבאה כדי לעדכן את תאריך הלידה בשורה עם ערך המפתח הראשי 3:

    GoogleSQL

    UPDATE
      Singers
    SET
      BirthDate='1961-04-01'
    WHERE
      SingerId=3
    THEN RETURN
      SingerId,
      FirstName,
      LastName,
      BirthDate;
    

    PostgreSQL

    UPDATE
      singers
    SET
      birthdate='1961-04-01 00:00:00 -8:00'
    WHERE
      singerid=3
    RETURNING
      singerid,
      firstname,
      lastname,
      birthdate;
    
  2. לוחצים על הפעלה.

    ‫Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב ‎1 row updated והנתונים של השורה שעודכנה.

  3. בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Preview data.

  4. לוחצים על Run. בכרטיסייה Results מוצגות השורות בטבלה Singers, שבהן לשורה המעודכנת יש עכשיו ערך של תאריך לידה.

מחיקת נתונים

  1. לוחצים על New tab כדי ליצור כרטיסיית שאילתה חדשה, ואז מזינים את הצהרת ה-DELETE הבאה כדי למחוק את השורה עם ערך המפתח הראשי 2:

    GoogleSQL

    DELETE FROM Singers
    WHERE SingerId = 2;
    

    PostgreSQL

    DELETE FROM singers
    WHERE singerid = 2;
    
  2. לוחצים על הפעלה.

    ‫Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב ‎1 row deleted. בטבלה Singers יש עכשיו שתי שורות.

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

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

    GoogleSQL

    SELECT * FROM Singers;
    

    PostgreSQL

    SELECT * FROM singers;
    
  2. לוחצים על Run.

    ‫Spanner מריץ את השאילתה. בסיום, התוצאה של השאילתה מוצגת בכרטיסייה Results.

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

הסרת המשאבים

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

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

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

    כניסה לדף Spanner instances

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

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

  4. בדף Database details, לוחצים על Delete database.

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

מחיקת המכונה

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

    כניסה לדף Spanner instances

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

  3. לוחצים על Delete instance.

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

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