Firestore הוא מסד נתונים מסוג NoSQL לאחסון מסמכים שמיועד להתאמה לעומס (automatic scaling), לביצועים גבוהים ולפיתוח אפליקציות בקלות. זו הגרסה החדשה ביותר של Datastore, והיא כוללת כמה שיפורים לעומת Datastore.
Firestore במצב Datastore (Datastore) מותאם לתרחישי שימוש בשרתים ול-App Engine, ולכן מומלץ להשתמש במצב Datastore במסדי נתונים שישמשו בעיקר אפליקציות App Engine. מצב Native ב-Firestore שימושי במיוחד לתרחישי שימוש בנייד ובהתראות בזמן אמת. מידע נוסף על מצבי Firestore זמין במאמר בחירה בין מצב Native למצב 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, מומלץ להעביר את אפליקציית 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 במצב 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.