פיתוח באמצעות Spanner Omni

פיתוח אפליקציות עם 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. למידע נוסף, קראו את המאמרים הבאים:

GORM

שילוב של Spanner Omni עם GORM, כלי למיפוי יחסי של אובייקטים (ORM) לשפת התכנות Go. כדי להשתמש ביכולות של מיפוי יחסי אובייקטים של GORM באפליקציות Go. מידע נוסף:

עסקאות ופעולות בו-זמניות

‫Spanner Omni תומך בתכונות הבאות לניהול טרנזקציות:

רמות בידוד

הסבר על רמות הבידוד השונות שנתמכות ב-Spanner Omni כדי להבטיח עקביות של הנתונים.

אופטימיזציה

אפשר להשתמש בטכניקות האלה כדי לשפר את ביצועי העסקאות ואת קצב העברת הנתונים.

נעילה

כאן מוסבר איך משתמשים בנעילה מפורשת כדי לנהל גישה בו-זמנית לנתונים.

גישה לנתונים ושינוי שלהם

לגשת לנתונים ולשנות אותם באמצעות שיטות סטנדרטיות של Spanner, כולל ספריות לקוח, CLI ו-DML.

מידע על ניהול סשנים באמצעות ספריות לקוח מופיע במאמר בנושא סשנים. מושגי הסשן הבסיסיים חלים על Spanner Omni, אבל הוא תומך רק בסשנים מרובי-ערוצים.

נתוני הקריאה

קריאת נתונים מ-Spanner Omni באמצעות שיטות שונות, כולל קריאות בעבר וקריאות ישירות.

שינוי נתונים

לשנות את הנתונים באמצעות DML, מוטציות או ה-CLI.

סוגי הנתונים

‫Spanner Omni תומך בסוגי הנתונים הבאים לייצוג הנתונים של האפליקציה:

פיתוח ובדיקה

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

העברת שינויים בנתונים בזמן אמת

סנכרון שינויים בזרמי נתונים ב-Spanner עוקבים אחרי שינויים במסד הנתונים, כמו הוספות, עדכונים ומחיקות, כמעט בזמן אמת. הם מנוהלים באמצעות DDL, ומתעדים פרטים כמו מפתחות ראשיים וחותמות זמן של ביצוע פעולות (commit) עבור מסדי נתונים שלמים או טבלאות ספציפיות. הפונקציונליות כמעט זהה בין Spanner לבין Spanner Omni, אבל אין תמיכה ב-Dataflow ב-Spanner Omni.

מידע נוסף זמין במאמרים הבאים:

אפשר להשתמש בחיפוש טקסט מלא (FTS) ב-Spanner כדי לחפש מילים, ביטויים או מספרים בטבלאות. ה-FTS קורא את הנתונים האחרונים שהועברו.

התכונות העיקריות של FTS כוללות:

כדי להשתמש ב-FTS, צריך ליצור אינדקסים של חיפוש בעמודות שרוצים לחפש. ‫Spanner מפרק את הנתונים בעמודות האלה למילים נפרדות. הוא מעדכן את האינדקס באופן מיידי כשמוסיפים נתונים חדשים.

חיפושי FTS מציעים יכולות מתקדמות מעבר להתאמה רגילה של טקסט, כמו:

הפונקציונליות של FTS זהה ב-Spanner וב-Spanner Omni.

הבדלים בטקסט מלא ב-Spanner

‫Spanner תומך בפונקציונליות הליבה של FTS שקיימת ב-Spanner, עם ההבדלים הבאים:

המאמרים הבאים