פיתוח אפליקציות עם Spanner Omni באמצעות תכונות נתמכות של Spanner. יש הרבה יכולות משותפות עם Spanner, אבל יש הבדלים בין Spanner Omni לבין Spanner בספריות הלקוח, בממשק שורת הפקודה (CLI) ובפונקציונליות של המסוף.
היכולות הנתמכות של פיתוח ב-Spanner כוללות:
תכונות כמו סנכרון שינויים בזרמי נתונים וחיפוש טקסט מלא.
ההבדלים העיקריים
למרות שחלק גדול מחוויית הפיתוח ב-Spanner רלוונטי גם ל-Spanner Omni, יש כמה הבדלים בתחומים הבאים:
ספריות לקוח נתמכות: Spanner Omni תומך בספריות הלקוח Java, Go ו-Python.
ממשק שורת הפקודה (CLI): Spanner Omni CLI הוא כלי ייעודי ששונה מ-Google Cloud CLI. למרות שהתחביר דומה, לא צריך לציין את הדגל
--instanceכשמריצים פקודות.מגבלות של המסוף: מסוף Spanner Omni הוא לקריאה בלבד, כך שאי אפשר להשתמש בו כדי לשנות פריסות או מסדי נתונים.
התכונות והשיטות המומלצות הבאות של Spanner רלוונטיות ל-Spanner Omni.
שיטות מומלצות ותרחישי שימוש
כדי לתכנן ולבצע אופטימיזציה של האפליקציות שלכם ל-Spanner Omni, כדאי לפעול לפי השיטות המומלצות והתרחישים לדוגמה שמופיעים בהמשך.
Spanner כמסד נתונים למשחקים: שימוש בסקיילביליות ובעקביות של Spanner עבור קצה העורפי של משחקים.
שיטות מומלצות ל-SQL: אופטימיזציה של השאילתות לביצועים ולשימוש יעיל במשאבים. רוב המושגים רלוונטיים ל-Spanner Omni. מכיוון ש-Spanner Omni לא תומך באחסון מדורג, יכול להיות שמושגים כמו העברת פרדיקט של חותמת זמן לא יחולו באופן מלא. בנוסף, ל-Spanner Omni אין יכולות להצגת תוכנית לביצוע שאילתה.
מסגרות ללימוד שפות
שילוב של Spanner Omni עם מסגרות שפה פופולריות:
Hibernate ORM
משתמשים ב-Hibernate Object-Relational Mapping (ORM) כדי למפות את אובייקטי ה-Java לטבלאות Spanner Omni. למידע נוסף, קראו את המאמרים הבאים:
שילוב עם Hibernate ORM (PostgreSQL) במסמכי התיעוד של Spanner.
כתיבת אפליקציית Hibernate שמתחברת ל-Spanner במסמכי התיעוד של Spanner.
GORM
שילוב של Spanner Omni עם GORM, כלי למיפוי יחסי של אובייקטים (ORM) לשפת התכנות Go. כדי להשתמש ביכולות של מיפוי יחסי אובייקטים של GORM באפליקציות Go. מידע נוסף:
שילוב עם GORM (GoogleSQL) במסמכי Spanner.
שילוב עם GORM (PostgreSQL) במסמכי התיעוד של Spanner.
עסקאות ופעולות בו-זמניות
Spanner Omni תומך בתכונות הבאות לניהול טרנזקציות:
סקירה כללית של עסקאות: מידע על עסקאות עם הרשאת קריאה וכתיבה ועסקאות עם הרשאת קריאה בלבד.
גבולות של חותמות זמן: שליטה במידת העדכניות של הקריאות. ב-Spanner Omni, אפשר להגדיר תקופת שמירת גרסאות (
version_retention_period) של עד 30 ימים. ב-Spanner, אפשר להגדיר את זה למשך של עד שבוע.הסבר על חותמות זמן של ביצוע פעולות (commit) במסדי נתונים של GoogleSQL ובמסדי נתונים של PostgreSQL.
TrueTime ועקביות חיצונית: הסבר על האופן שבו Spanner שומר על עקביות בפריסה.
רמות בידוד
הסבר על רמות הבידוד השונות שנתמכות ב-Spanner Omni כדי להבטיח עקביות של הנתונים.
אופטימיזציה
אפשר להשתמש בטכניקות האלה כדי לשפר את ביצועי העסקאות ואת קצב העברת הנתונים.
נעילה
כאן מוסבר איך משתמשים בנעילה מפורשת כדי לנהל גישה בו-זמנית לנתונים.
גישה לנתונים ושינוי שלהם
לגשת לנתונים ולשנות אותם באמצעות שיטות סטנדרטיות של Spanner, כולל ספריות לקוח, CLI ו-DML.
מידע על ניהול סשנים באמצעות ספריות לקוח מופיע במאמר בנושא סשנים. מושגי הסשן הבסיסיים חלים על Spanner Omni, אבל הוא תומך רק בסשנים מרובי-ערוצים.
נתוני הקריאה
קריאת נתונים מ-Spanner Omni באמצעות שיטות שונות, כולל קריאות בעבר וקריאות ישירות.
שינוי נתונים
לשנות את הנתונים באמצעות DML, מוטציות או ה-CLI.
סוגי הנתונים
Spanner Omni תומך בסוגי הנתונים הבאים לייצוג הנתונים של האפליקציה:
עבודה עם מערכים ב-GoogleSQL וב-PostgreSQL.
פיתוח ובדיקה
כדאי להגדיר את סביבת הפיתוח ואת התנהגות האפליקציה כדי להבטיח ביצועים אמינים וטיפול בשגיאות.
העברת שינויים בנתונים בזמן אמת
סנכרון שינויים בזרמי נתונים ב-Spanner עוקבים אחרי שינויים במסד הנתונים, כמו הוספות, עדכונים ומחיקות, כמעט בזמן אמת. הם מנוהלים באמצעות DDL, ומתעדים פרטים כמו מפתחות ראשיים וחותמות זמן של ביצוע פעולות (commit) עבור מסדי נתונים שלמים או טבלאות ספציפיות. הפונקציונליות כמעט זהה בין Spanner לבין Spanner Omni, אבל אין תמיכה ב-Dataflow ב-Spanner Omni.
מידע נוסף זמין במאמרים הבאים:
סקירה כללית של סנכרון שינויים בזרמי נתונים: מידע על סנכרון שינויים בזרמי נתונים ואיך הם פועלים.
יצירה וניהול של סנכרון שינויים בזרמי נתונים: במאמר הזה מוסבר איך להשתמש ב-DDL כדי ליצור, לשנות ולמחוק סנכרון שינויים בזרמי נתונים.
חיפוש בכל הטקסט
אפשר להשתמש בחיפוש טקסט מלא (FTS) ב-Spanner כדי לחפש מילים, ביטויים או מספרים בטבלאות. ה-FTS קורא את הנתונים האחרונים שהועברו.
התכונות העיקריות של FTS כוללות:
- תיקון אוטומטי של האיות.
- זיהוי שפה, כולל סינית, יפנית וקוריאנית.
כדי להשתמש ב-FTS, צריך ליצור אינדקסים של חיפוש בעמודות שרוצים לחפש. Spanner מפרק את הנתונים בעמודות האלה למילים נפרדות. הוא מעדכן את האינדקס באופן מיידי כשמוסיפים נתונים חדשים.
חיפושי FTS מציעים יכולות מתקדמות מעבר להתאמה רגילה של טקסט, כמו:
- חיפוש של מספרים מדויקים וטווחים של מספרים
- חיפוש חלקים של מילים (n-grams) בשמות ובשגיאות כתיב.
- חיפוש מילים שנשמעות דומה (Soundex).
- התעלמות ממילים נפוצות.
הפונקציונליות של FTS זהה ב-Spanner וב-Spanner Omni.
הבדלים בטקסט מלא ב-Spanner
Spanner תומך בפונקציונליות הליבה של FTS שקיימת ב-Spanner, עם ההבדלים הבאים:
אין תמיכה במצב שאילתות משופר ב-Spanner Omni.
מכונה ב-Spanner שווה לפריסה ב-Spanner Omni.