במדריך למתחילים הזה נסביר איך משתמשים במסוף Google Cloud כדי ליצור מסד נתונים ב-Spanner, להוסיף נתונים ולהריץ שאילתת SQL.
במדריך למתחילים תלמדו:
- יוצרים מכונה של Spanner.
- יוצרים מסד נתונים.
- יוצרים סכימה.
- להוסיף ולשנות נתונים.
- מריצים שאילתה.
למידע על עלות השימוש ב-Spanner, ראו תמחור.
לפני שמתחילים
- נכנסים לחשבון Google Cloud . אנחנו ממליצים למשתמשים חדשים ב- Google Cloudליצור חשבון כדי שיוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- אופציונלי: Spanner API אמור לפעול באופן אוטומטי. אם לא, מפעילים אותה באופן ידני: הפעלת Spanner API
-
כדי לקבל את ההרשאות שנדרשות ליצירת מכונות ומסדי נתונים, צריך לבקש מהאדמין להקצות לכם את התפקיד אדמין ב-Cloud Spanner (roles/spanner.admin) ב-IAM בפרויקט.
יצירת מכונה באמצעות מסוף Google Cloud
בפעם הראשונה שמשתמשים ב-Spanner, צריך ליצור מכונה – הקצאת משאבים שמשמשים את מסדי הנתונים של Spanner באותה מכונה.
נכנסים לדף Spanner במסוף Google Cloud .
בוחרים פרויקט ב- Google Cloud או יוצרים פרויקט חדש, אם עדיין לא עשיתם את זה.
בדף Spanner, לוחצים על Create a provisioned instance.
אם כבר השתמשתם ב-Spanner, יופיע הדף Instances של Spanner במקום דף המוצר. לוחצים על Create instance.
בקטע Select an edition, בוחרים באפשרות Standard ולוחצים על Continue.
בקטע Name your instance, מזינים Instance name, לדוגמה
Test Instance.מזהה המכונה מאוכלס באופן אוטומטי על סמך שם המכונה, לדוגמה,
test-instance. משנים אותו אם צריך ולוחצים על המשך.בקטע Configure your instance, באפשרות Choose a configuration, משאירים את אפשרות ברירת המחדל Regional ובוחרים מיקום להגדרה מהתפריט הנפתח.
הגדרת המכונה קובעת את המיקום הגיאוגרפי שבו המכונות מאוחסנות ומשוכפלות.
לוחצים על Continue.
בקטע Configure compute capacity, בשדה Select unit בוחרים באפשרות Processing units (PUs). בשדה Choose a scaling mode, משאירים את האפשרות Manual allocation ואת ערך ברירת המחדל של Quantity, שהוא
1000יחידות עיבוד.אופציונלי: בקטע Backups, מבטלים את הסימון של התיבה Enable default backup schedules אם לא רוצים ליצור לוחות זמנים לגיבוי כברירת מחדל למכונה לבדיקה.
לוחצים על יצירה.
במסוף Google Cloud מוצג הדף Overview של המכונה שיצרתם.
יצירת מסד נתונים
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על המכונה שיצרתם, לדוגמה Test Instance.
בדף Overview של המכונה שנפתח, לוחצים על Create database.
בשם מסד הנתונים, מזינים שם, למשל example-db.
בוחרים ניב של מסד נתונים.
למידע על התמיכה ב-PostgreSQL ולהנחיות לבחירת דיאלקט, קראו את המאמר ממשק PostgreSQL. משאירים את הקטע Define your schema (optional) (הגדרת הסכימה (אופציונלי)) ריק. בקטע הבא במדריך למתחילים תגדירו את הסכימה ב-Spanner Studio.
לוחצים על יצירה.
במסוף Google Cloud יוצג הדף Overview של מסד הנתונים שיצרתם.
יצירת סכימה למסד הנתונים
בתפריט הניווט, לוחצים על Spanner Studio.
בדף 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 );לוחצים על Run.
Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results מוצגת ההודעה Update completed.
הוספה ושינוי של נתונים
מסוף Google Cloud מספק ממשק להוספה, לעריכה ולמחיקה של נתונים.
הוספת נתונים
בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Insert data.
Spanner פותח כרטיסיית שאילתה חדשה ב-Spanner Studio שמכילה תבנית של הצהרת
INSERT.עורכים את הסעיף
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 ממיר את שמות העמודות לאותיות קטנות.
לוחצים על Run.
Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב 1 row inserted והנתונים של השורה שנוספה.
בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Insert data.
עורכים את הסעיף
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;לוחצים על Run.
Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב 1 row inserted והנתונים של השורה שנוספה.
בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Preview data.
לוחצים על Run. בכרטיסייה Results מוצגות שתי השורות בטבלה
Singers.
אתם יכולים גם להוסיף ערכי מחרוזת ריקים כשאתם מזינים נתונים.
בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Insert data.
ב-Spanner נפתחת כרטיסיית שאילתה חדשה ב-Spanner Studio, שמכילה את הצהרת
INSERTשל התבנית.עורכים את הסעיף
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;לוחצים על Run.
Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results מוצג הכיתוב 1 row inserted והנתונים של השורה שנוספה.
שימו לב שהערך שצוין בעמודת שם המשפחה הוא מחרוזת ריקה,
'', ולא ערךNULL.בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Preview data.
לוחצים על Run. בכרטיסייה Results מוצגות שלוש השורות בטבלה
Singers, ובשורה עם ערך המפתח הראשי3יש מחרוזת ריקה בעמודהLastName.
עריכת הנתונים
לוחצים על 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;לוחצים על הפעלה.
Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב 1 row updated והנתונים של השורה שעודכנה.
בחלונית Explorer, לוחצים על View actions בטבלה Singers ואז על Preview data.
לוחצים על Run. בכרטיסייה Results מוצגות השורות בטבלה
Singers, שבהן לשורה המעודכנת יש עכשיו ערך של תאריך לידה.
מחיקת נתונים
לוחצים על New tab כדי ליצור כרטיסיית שאילתה חדשה, ואז מזינים את הצהרת ה-
DELETEהבאה כדי למחוק את השורה עם ערך המפתח הראשי2:GoogleSQL
DELETE FROM Singers WHERE SingerId = 2;PostgreSQL
DELETE FROM singers WHERE singerid = 2;לוחצים על הפעלה.
Spanner מריץ את ההצהרה. בסיום, בכרטיסייה Results יוצג הכיתוב 1 row deleted. בטבלה
Singersיש עכשיו שתי שורות.
הרצת שאילתה במסוף Google Cloud
לוחצים על New tab כדי ליצור כרטיסיית שאילתה חדשה. אחר כך מזינים את השאילתה הבאה בעורך השאילתות:
GoogleSQL
SELECT * FROM Singers;PostgreSQL
SELECT * FROM singers;לוחצים על Run.
Spanner מריץ את השאילתה. בסיום, התוצאה של השאילתה מוצגת בכרטיסייה Results.
כל הכבוד! יצרתם מסד נתונים ב-Spanner והרצתם הצהרת SQL באמצעות עורך השאילתות.
הסרת המשאבים
כדי להימנע מחיובים נוספים בחשבון Google Cloud , צריך למחוק את מסד הנתונים ואת המכונה. השבתת Cloud Billing API לא מפסיקה את החיובים. כשמוחקים מכונה, כל מסדי הנתונים שבה נמחקים.
מחיקת מסד הנתונים
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על שם המכונה שבה נמצא מסד הנתונים שרוצים למחוק, לדוגמה Test Instance.
לוחצים על השם של מסד הנתונים שרוצים למחוק, לדוגמה example-db.
בדף Database details, לוחצים על delete Delete database.
מזינים את שם מסד הנתונים ולוחצים על Delete כדי לאשר את המחיקה.
מחיקת המכונה
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על השם של המכונה שרוצים למחוק, לדוגמה Test Instance.
לוחצים על delete Delete instance.
כדי לאשר שרוצים למחוק את המכונה, מזינים את שם המכונה ולוחצים על Delete.
המאמרים הבאים
- מידע על מכונות
- הסבר על הסכימה ומודל הנתונים של Spanner.
- מידע נוסף על שפת הגדרת הנתונים (DDL) של GoogleSQL
- מידע נוסף על תוכניות להרצת שאילתות
- איך משתמשים ב-Spanner עם C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST או gcloud.