Firestore הוא מסד נתונים מסוג NoSQL לאחסון מסמכים שמיועד להתאמה לעומס (automatic scaling), לביצועים גבוהים ולפיתוח אפליקציות בקלות. Firestore הוא מסד נתונים מסוג NoSQL לאחסון מסמכים שמיועד להתאמה לעומס (automatic scaling), לביצועים גבוהים ולפיתוח אפליקציות בקלות. Firestore הוא מסד הנתונים המומלץ לכל האפליקציות החדשות, והוא מחליף את Datastore. Firestore מציע ממשקים רבים, כולל API שתואם ל-Datastore, כדי לתמוך בקוד מדור קודם שנבנה על Datastore.
שימוש במצב Datastore עם App Engine
כדי להשתמש במצב Datastore עם App Engine:
אם עדיין לא עשיתם זאת, צרו מסד נתונים ובחרו באפשרות Firestore במצב Datastore.
אפשר להשתמש במסדי נתונים קיימים של Datastore עם אפליקציות של App Engine. מסדי הנתונים הקיימים האלה ישודרגו אוטומטית ל-Firestore במצב Datastore.
אם יש לכם אפליקציות חדשות ב-Python 3, אתם צריכים להשתמש בספריית הלקוח במצב Datastore כדי ליצור אינטראקציה עם מצב Datastore:
באפליקציה, מוסיפים את
google-cloud-datastoreלקובץrequirements.txtשל האפליקציה כדי להצהיר על Datastore כתלות. מידע נוסף על ציון תלותאפשר להשתמש בספריית הלקוח של Google Cloud כדי לקרוא ולכתוב ישויות וגם כדי לשאול שאילתות על נתונים.
אם אתם מתכננים לשדרג את אפליקציית Python 2 ל-Python 3, Google ממליצה להעביר את אפליקציית Python 2 שמשתמשת ב-App Engine NDB ל-Python 3, ואחר כך להעביר אותה ל-Cloud NDB. מידע על גישה ל-App Engine NDB ב-Python 3 זמין במאמר גישה לשירותים הקודמים של App Engine בחבילה ל-Python 3.
למשאבים נוספים ולדוגמה להעברה מאפליקציית Python 2
webappבאמצעות App Engine NDB לאפליקציית Python 3 Flask מקבילה עם App Engine NDB מופעל, אפשר לעיין בשירותים בחבילה ל-Python 3.
הגדרת אינדקסים
במצב Datastore נעשה שימוש באינדקסים לכל שאילתה שהאפליקציה מבצעת. האינדקסים מתעדכנים בכל פעם שיש שינוי בישות, כך שהתוצאות יכולות לחזור במהירות כשהאפליקציה שולחת שאילתה.
במצב Datastore, המערכת יוצרת באופן אוטומטי אינדקסים של מאפיין יחיד לשימוש עם סוגים פשוטים של שאילתות. לשאילתות מורכבות שכוללות כמה מאפיינים, צריך להגדיר אינדקסים מורכבים בקובץ
index.yamlשל האפליקציה.שרת הפיתוח של App Engine יעודכן בקובץ
index.yamlעם האינדקסים המורכבים שנדרשים להרצת הבדיקות. באופן דומה, האמולטור של מצב Datastore יכול ליצור אינדקסים כשמריצים בדיקות.אפשר גם להוסיף את האינדקסים לקובץ
index.yamlשל האפליקציה באופן ידני אם אתם לא מריצים בדיקות מקומיות או שהבדיקות לא כוללות שאילתות מורכבות.הגדרת הרשאות למסד נתונים
כברירת מחדל, לאפליקציה יש את כל ההרשאות שנדרשות לקריאה וכתיבה במסד נתונים במצב Datastore וב-Firestore בGoogle Cloud פרויקט.
כדי לנהל את ההרשאות האלה, כל אפליקציית App Engine משתמשת בחשבון שירות שמוגדר כברירת מחדל, שמעניק גישת קריאה וכתיבה מלאה למסדי נתונים במצב Datastore ולמסדי נתונים של Firestore באותו פרויקט שבו נמצאת האפליקציה. אפשר לשנות את ההרשאות של חשבון השירות שמוגדר כברירת מחדל, אבל יכול להיות שהאפליקציה תאבד את הגישה אלא אם תקצו תפקיד IAM עם ההרשאות הנדרשות.
במאמר גישה למסד הנתונים מוסבר איך לאפשר למשתמשים, לאפליקציות או לפרויקטים אחרים לגשת למסד נתונים.
שימוש באמולטור במצב Datastore לבדיקות מקומיות
Google Cloud CLI כולל אמולטור מקומי של סביבת מצב הייצור של Datastore. אפשר להשתמש באמולטור כדי לפתח ולבדוק את האפליקציה באופן מקומי. בנוסף, האמולטור יכול לעזור לכם ליצור אינדקסים עבור מופע של מצב Datastore בסביבת הייצור ולמחוק אינדקסים לא נחוצים.
אם אתם משתמשים בשרת הפיתוח המקומי של App Engine כדי לבדוק את האפליקציה, אתם יכולים להגדיר את הדגל
--support_datastore_emulator=trueכשמפעילים את השרת כדי לוודא שהשרת ישתמש באמולטור של מצב Datastore.אם אתם משתמשים באמולטור של מצב Datastore, הפקודה dev_appserver תציג:
... Using Cloud Datastore Emulator.תמחור, מכסות ומגבלות
מצב Datastore מציע מכסת שימוש בחינם עם מגבלות יומיות. בחשבונות בתשלום יש אחסון ללא הגבלה ופעולות קריאה וכתיבה ללא הגבלה. מידע נוסף זמין בדף מכסות של Datastore.