במדריך למתחילים הזה נסביר איך להשתמש במסוף 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
-
כדי לקבל את ההרשאות שנדרשות ליצירת מופעים ומסדי נתונים, צריך לבקש מהאדמין להקצות לכם את התפקיד ב-IAM Cloud Spanner Admin (roles/spanner.admin) בפרויקט.
יצירת מכונה באמצעות מסוף Google Cloud
בפעם הראשונה שמשתמשים ב-Spanner, צריך ליצור מופע. מופע הוא הקצאה של משאבים שמשמשים מסדי נתונים של Spanner באותו מופע.
נכנסים לדף Spanner במסוף Google Cloud .
בוחרים או יוצרים Google Cloud פרויקט אם עוד לא עשיתם את זה.
בדף Spanner, לוחצים על Create a provisioned instance.
אם השתמשתם ב-Spanner בעבר, תועברו לדף Instances של Spanner במקום לדף המוצר. לוחצים על Create instance.
בדף Name your instance (מתן שם למכונה), מזינים שם למכונה, כמו Test Instance (מכונת בדיקה).
מזהה המכונה מוזן אוטומטית על סמך שם המכונה, לדוגמה, test-instance. משנים את החשבון לפי הצורך. לוחצים על המשך.
בדף Configure your instance (הגדרת המופע), משאירים את אפשרות ברירת המחדל Regional (אזורי) ובוחרים הגדרה מהתפריט הנפתח.
ההגדרה של המופע קובעת את המיקום הגיאוגרפי שבו המופעים מאוחסנים ומשוכפלים.
לוחצים על Continue.
בדף הקצאת קיבולת מחשוב, בוחרים באפשרות יחידות עיבוד (PU) ומשאירים את ערך ברירת המחדל של 1,000 יחידות עיבוד.
לוחצים על יצירה.
במסוף Google Cloud מוצג הדף Overview של המופע שיצרתם.
יצירת מסד נתונים
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על המופע שיצרתם, למשל Test Instance.
בדף 'סקירה כללית' של המופע שנפתח, לוחצים על יצירת מסד נתונים.
בשדה של שם מסד הנתונים, מזינים שם, למשל example-db.
בוחרים ניב של מסד נתונים.
מידע על תמיכה ב-PostgreSQL והנחיות לבחירת ניב זמין במאמר ממשק PostgreSQL. אם בחרתם ב-GoogleSQL, תצטרכו להגדיר את הסכימה בשדה הטקסט Define your schema בקטע הבא של המדריך הזה.
עכשיו הדף ליצירת מסד הנתונים נראה כך:
לוחצים על יצירה.
בדף Overview במסוף Google Cloud מוצג מסד הנתונים שיצרתם.
יצירת סכימה למסד הנתונים
בתפריט הניווט, לוחצים על Spanner Studio.
בדף Spanner Studio, לוחצים על New tab או משתמשים בכרטיסיית העריכה הריקה.
צריך להזין את הפרטים הבאים:
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 );לוחצים על הפעלה.
המסוף Google Cloud חוזר לדף Overview של מסד הנתונים ומוצג בו שהעדכונים של Schema מתבצעים. כשהעדכון מסתיים, הדף נראה כך:
GoogleSQL
PostgreSQL
שימו לב ש-PostgreSQL ממיר את שם הטבלה לאותיות קטנות.
הוספה ושינוי של נתונים
Google Cloud המסוף מספק ממשק להוספה, לעריכה ולמחיקה של נתונים.
הוספת נתונים
ברשימת הטבלאות בדף Overview של מסד הנתונים, לוחצים על הטבלה Singers.
בדף Schema של הטבלה Singers במסוף Google Cloud .
בתפריט הניווט, לוחצים על נתונים כדי להציג את הדף נתונים של הטבלה Singers.
לוחצים על הוספה.
במסוף 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 ממיר את שמות העמודות לאותיות קטנות.
עורכים את סעיף
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;לוחצים על הפעלה.
Spanner מריץ את ההצהרות. בסיום, בכרטיסייה Results (תוצאות) מוצג שההצהרה הוסיפה שורה אחת:
GoogleSQL
PostgreSQL
ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Insert data (הוספת נתונים).
עורכים את סעיף
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;לוחצים על הפעלה.
אחרי ש-Spanner מריץ את ההצהרות, בכרטיסייה Results מוצג שההצהרה הוסיפה שורה אחת.
ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Preview Data (תצוגה מקדימה של הנתונים).
לוחצים על הפעלה. בטבלה Singers יש עכשיו שתי שורות:
GoogleSQL
PostgreSQL
אפשר גם להוסיף ערכים של מחרוזת ריקה כשמזינים נתונים.
לוחצים על הוספה כדי להוסיף שורה.
שוב מוצג בדף Spanner Studio של טבלת Singers ב-Spanner כרטיסיית שאילתה חדשה שמכילה את אותן פקודות
INSERTו-SELECT.עורכים את סעיף
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.לוחצים על הפעלה.
אחרי ש-Spanner מריץ את ההצהרות, בכרטיסייה Results מוצג שההצהרה הוסיפה שורה אחת.
ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Preview Data (תצוגה מקדימה של הנתונים).
לוחצים על הפעלה. בטבלה
Singersיש עכשיו שלוש שורות, ובשורה עם ערך המפתח הראשי3יש מחרוזת ריקה בעמודהLastName:GoogleSQL
PostgreSQL
עריכת הנתונים
בדף 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';עורכים את סעיף
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';לוחצים על הפעלה.
Spanner מריץ את ההצהרות. בסיום, בכרטיסייה תוצאות מוצג שההצהרה הראשונה עדכנה שורה אחת.
ב-Explorer, לוחצים על View actions (הצגת פעולות) לצד הטבלה Singers (זמרים), ואז לוחצים על Preview Data (תצוגה מקדימה של הנתונים).
לוחצים על הפעלה. עכשיו יש ערך לתאריך הלידה בשורה המעודכנת.
GoogleSQL
PostgreSQL
מחיקת נתונים
- בטבלה Singers (זמרים), בדף Data (נתונים), מסמנים את תיבת הסימון בשורה עם
2בעמודה הראשונה, ואז לוחצים על Delete (מחיקה). בתיבת הדו-שיח שמופיעה, לוחצים על Confirm.
בטבלה Singers יש עכשיו שתי שורות:
GoogleSQL
PostgreSQL
הרצת שאילתה במסוף Google Cloud
בדף סקירה כללית של מסד הנתונים, לוחצים על Spanner Studio בתפריט הניווט.
לוחצים על New tab (כרטיסייה חדשה) כדי ליצור כרטיסייה חדשה של שאילתה. לאחר מכן, מזינים את השאילתה הבאה בעורך השאילתות:
GoogleSQL
SELECT * FROM Singers;PostgreSQL
SELECT * FROM singers;לוחצים על הפעלה.
מערכת Spanner מריצה את השאילתה. בסיום, התוצאה של השאילתה תוצג בכרטיסייה תוצאות:
GoogleSQL
PostgreSQL
כל הכבוד! יצרתם בהצלחה מסד נתונים ב-Spanner והרצתם הצהרת SQL באמצעות כלי עריכת השאילתות.
הסרת המשאבים
כדי להימנע מחיובים נוספים בחשבון Google Cloud , צריך למחוק את מסד הנתונים ואת המופע. השבתה של Cloud Billing API לא מפסיקה את החיובים. כשמוחקים מופע, כל מסדי הנתונים במופע נמחקים.
מחיקת מסד הנתונים
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על שם המכונה שכוללת את מסד הנתונים שרוצים למחוק, למשל Test Instance.
לוחצים על השם של מסד הנתונים שרוצים למחוק, לדוגמה, example-db.
בדף פרטי מסד הנתונים, לוחצים על delete מחיקת מסד הנתונים.
מאשרים שרוצים למחוק את מסד הנתונים על ידי הזנת השם שלו ולחיצה על מחיקה.
מחיקת המכונה
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על השם של המכונה שרוצים למחוק, למשל Test Instance.
לוחצים על delete מחיקת המופע.
כדי לאשר שרוצים למחוק את המופע, מזינים את שם המופע ולוחצים על מחיקה.
המאמרים הבאים
- מידע נוסף על מופעים
- הסבר על סכימת הנתונים ומודל הנתונים ב-Spanner.
- מידע נוסף על שפת הגדרת נתונים (DDL) ב-GoogleSQL
- מידע נוסף על תוכניות להרצת שאילתות
- כאן אפשר לקרוא איך להשתמש ב-Spanner עם C++, C#, Go, Java, Node.js, PHP, Python, Ruby, REST או gcloud.