שימוש ב-Firestore

‫Firestore הוא מסד נתונים מסוג NoSQL לאחסון מסמכים שמיועד להתאמה לעומס (automatic scaling), לביצועים גבוהים ולפיתוח אפליקציות בקלות. ‫Firestore הוא מסד נתונים מסוג NoSQL לאחסון מסמכים שמיועד להתאמה לעומס (automatic scaling), לביצועים גבוהים ולפיתוח אפליקציות בקלות. ‫Firestore הוא מסד הנתונים המומלץ לכל האפליקציות החדשות, והוא מחליף את Datastore. ‫Firestore מציע ממשקים רבים, כולל API שתואם ל-Datastore, כדי לתמוך בקוד מדור קודם שנבנה על Datastore.

שימוש במצב Datastore עם App Engine

כדי להשתמש במצב Datastore עם App Engine:

  1. אם עדיין לא עשיתם זאת, צרו מסד נתונים ובחרו באפשרות Firestore במצב Datastore.

    אפשר להשתמש במסדי נתונים קיימים של Datastore עם אפליקציות של App Engine. מסדי הנתונים הקיימים האלה ישודרגו אוטומטית ל-Firestore במצב Datastore.

    1. אם יש לכם אפליקציות חדשות ב-Python 3, אתם צריכים להשתמש בספריית הלקוח במצב Datastore כדי ליצור אינטראקציה עם מצב Datastore:

      1. באפליקציה, מוסיפים את google-cloud-datastore לקובץ requirements.txt של האפליקציה כדי להצהיר על Datastore כתלות. מידע נוסף על ציון תלות

      2. אפשר להשתמש בספריית הלקוח של Google Cloud כדי לקרוא ולכתוב ישויות וגם כדי לשאול שאילתות על נתונים.

    2. אם אתם מתכננים לשדרג את אפליקציית 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.