Firestore הוא מסד נתונים מסוג NoSQL לאחסון מסמכים שמיועד להתאמה לעומס (automatic scaling), לביצועים גבוהים ולפיתוח אפליקציות בקלות. זו הגרסה החדשה ביותר של Datastore, והיא כוללת כמה שיפורים בהשוואה ל-Datastore.
מכיוון ש-Firestore במצב Datastore (Datastore) מותאם לתרחישי שימוש בשרתים ול-App Engine, מומלץ להשתמש במצב Datastore למסדי נתונים שישמשו בעיקר אפליקציות של App Engine. Firestore במצב Native הכי שימושי בתרחישים לדוגמה של ניידים והתראות בזמן אמת. מידע נוסף על מצבי Firestore זמין במאמר בחירה בין מצב מקורי למצב 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 לאפליקציית Flask מקבילה ב-Python 3 עם App Engine NDB מופעלים זמינים במאמר שירותים בחבילה ל-Python 3.
הגדרת אינדקסים
במצב Datastore נעשה שימוש באינדקסים לכל שאילתה שהאפליקציה שולחת. האינדקסים מתעדכנים בכל פעם שישות משתנה, כך שהתוצאות יכולות לחזור במהירות כשהאפליקציה מבצעת שאילתה.
במצב Datastore, המערכת יוצרת באופן אוטומטי אינדקסים של מאפיין יחיד לשימוש עם סוגים פשוטים של שאילתות. לשאילתות מורכבות שכוללות מספר נכסים, צריך להגדיר אינדקסים מורכבים בקובץ
index.yamlשל האפליקציה.שרת הפיתוח של App Engine יעודכן בקובץ
index.yamlעם האינדקסים המורכבים שנדרשים להרצת הבדיקות. באופן דומה, האמולטור של Datastore במצב Datastore יכול ליצור אינדקסים כשמריצים בדיקות.אפשר גם להוסיף את האינדקסים לקובץ
index.yamlשל האפליקציה באופן ידני אם לא מריצים בדיקות מקומיות או אם הבדיקות לא כוללות שאילתות מורכבות.הגדרת הרשאות למסד נתונים
כברירת מחדל, לאפליקציה יש את כל ההרשאות שנדרשות לקריאה ולכתיבה במסד נתונים במצב Datastore ובמסדי נתונים של Firestore בפרויקטGoogle Cloud .
כדי לנהל את ההרשאות האלה, כל אפליקציית App Engine משתמשת בחשבון שירות שמוגדר כברירת מחדל, שמעניק גישת קריאה וכתיבה מלאה למסדי נתונים במצב Datastore ולמסדי נתונים של Firestore באותו פרויקט שבו נמצאת האפליקציה. אפשר לשנות את ההרשאות של חשבון השירות שמוגדר כברירת מחדל, אבל יכול להיות שהאפליקציה תאבד את הגישה אלא אם תקצו תפקיד IAM עם ההרשאות הנדרשות.
במאמר גישה למסד הנתונים מוסבר איך מאפשרים למשתמשים, לאפליקציות או לפרויקטים אחרים לגשת למסד נתונים.
שימוש באמולטור במצב Datastore לבדיקות מקומיות
Google Cloud CLI כולל אמולטור מקומי של סביבת מצב Datastore של הייצור. אתם יכולים להשתמש באמולטור כדי לפתח ולבדוק את האפליקציה באופן מקומי. בנוסף, האמולטור יכול לעזור לכם ליצור אינדקסים עבור מופע של מצב Datastore בסביבת הייצור ולמחוק אינדקסים מיותרים.
אם אתם משתמשים בשרת הפיתוח המקומי של App Engine כדי לבדוק את האפליקציה, אתם יכולים לוודא שהשרת ישתמש באמולטור של מצב Datastore על ידי הגדרת הדגל
--support_datastore_emulator=trueכשמפעילים את השרת.אם אתם משתמשים באמולטור של מצב Datastore, הפקודה dev_appserver תציג:
... Using Cloud Datastore Emulator.תמחור, מכסות ומגבלות
מצב Datastore מציע מכסת שימוש בחינם עם מגבלות יומיות. בחשבונות בתשלום יש אחסון ללא הגבלה ופעולות קריאה וכתיבה ללא הגבלה. מידע נוסף זמין בדף מכסות של Datastore.