Firestore הוא מסד נתונים מסוג NoSQL לאחסון מסמכים שמיועד להתאמה לעומס (automatic scaling), לביצועים גבוהים ולפיתוח אפליקציות בקלות. זו הגרסה החדשה ביותר של Datastore, והיא כוללת כמה שיפורים לעומת Datastore. מכיוון ש-Firestore במצב Datastore (Datastore) מותאם לתרחישי שימוש בשרתים ול-App Engine, מומלץ להשתמש ב-Datastore למסדי נתונים שישמשו בעיקר אפליקציות של App Engine. Firestore במצב Native שימושי במיוחד לתרחישי שימוש בנייד ולהתראות בזמן אמת. מידע נוסף על מצבי Firestore זמין במאמר בחירה בין מצב מקורי למצב Datastore.
במאמר הזה מוסבר איך להשתמש בספריות לקוח של Cloud כדי לאחסן ולאחזר נתונים במסד נתונים במצב Datastore.
אפשר להשתמש באפליקציה לדוגמה שבמדריך הזה בכל גרסה נתמכת של Python. לשם כך צריך לציין את גרסת זמן הריצה ואת מערכת ההפעלה בקובץ app.yaml.
דרישות מוקדמות והגדרה
- הגדרת הסביבה והפרויקט כדי להבין את המבנה של האפליקציות ב-App Engine. חשוב לרשום ולשמור את מזהה הפרויקט, כי תצטרכו אותו כדי להריץ את אפליקציית הדוגמה שמתוארת במסמך הזה.
שכפול המאגר
מורידים (משכפלים) את הדוגמה:
git clone https://github.com/GoogleCloudPlatform/python-docs-samples
cd python-docs-samples/appengine/flexible/datastore
עריכה של הגדרת הפרויקט והגדרת יחסי תלות
כוללים את ספריית google-cloud-datastore בקובץ requirements.txt. זו ספריית הלקוח למצב Datastore.
קוד אפליקציה
האפליקציה לדוגמה מתעדת את כתובות ה-IP של המבקרים, מאחזרת אותן ומציגה אותן. אפשר לראות שרשומה ביומן היא מחלקה עם שני שדות שמוקצית להם הסוג visit, והיא נשמרת במצב Datastore באמצעות הפקודה put. לאחר מכן, עשר הכניסות האחרונות מאוחזרות בסדר יורד באמצעות הפקודה query().
שימוש בקבצים ב-index.yaml
אפליקציית הדוגמה מבצעת שאילתות. שאילתות מורכבות יותר במצב Datastore דורשות אינדקס אחד או יותר, שצריך לציין בindex.yamlקובץ שמעלים יחד עם האפליקציה. אפשר ליצור את הקובץ הזה באופן ידני או ליצור אותו באופן אוטומטי במהלך בדיקת האפליקציה באופן מקומי.בדיקה מקומית
אם אתם צריכים לפתח ולבדוק את האפליקציה באופן מקומי, אתם יכולים להשתמש באמולטור של מצב Datastore.
למידע נוסף
מידע מלא על מצב Datastore, כולל אופטימיזציות ומושגים, זמין במאמרי העזרה בנושא Firestore במצב Datastore.