ממשקים זמינים
אתם יכולים להשתמש באחד מכמה ממשקים פרוגרמטיים כשאתם עובדים עם Spanner. אלה הממשקים הזמינים, לפי סדר השימוש המומלץ:
- ספריות לקוח: ספריות הלקוח של Spanner זמינות בכמה שפות ומבוססות על gRPC. ספריות הלקוח האלה מספקות שכבת הפשטה מעל gRPC, ומטפלות בפרטים של ניהול הסשנים, ביצוע הטרנזקציות, ניסיונות חוזרים ועוד.
- מנהלי התקנים של ORM ו-framework: תמיכה של Google תומכת במנהלי התקנים של Spanner בקוד פתוח לכמה ספריות ו-frameworks פופולריים של מיפוי אובייקטים יחסי (ORM), כמו JDBC. מנהלי ההתקנים האלה מאפשרים להשתמש במסדי נתונים של Spanner באמצעות ממשקי API שמוגדרים על ידי מסגרות אלה.
- RPC API: אם ספריית לקוח או מנהל התקן ORM לא זמינים לשפת התכנות שבחרתם, השתמשו ב-RPC API, שמבוסס על gRPC. ל-gRPC יש כמה יתרונות ביצועים בהשוואה לשימוש ב-API בארכיטקטורת REST, כולל ייצוג אובייקטים בפורמט של מאגר אחסון לפרוטוקולים (שמהיר יותר לייצר ולצרוך בהשוואה ל-JSON) וחיבורים מתמידים (שגורמים לפחות תקורה לכל בקשה). במאמר מושגים ב-gRPC תוכלו לקרוא מידע נוסף על היתרונות האלה ועל יתרונות אחרים.
- API בארכיטקטורת REST: אם אתם לא יכולים להשתמש בספריות הלקוח של Spanner או ב-API בארכיטקטורת RPC, אתם יכולים להשתמש ב-API בארכיטקטורת REST. שימו לב: חלק מהתכונות שזמינות ב-API ל-RPC לא נתמכות ב-API בארכיטקטורת REST, כפי שמתואר בהמשך.
RPC לעומת API בארכיטקטורת REST
בטבלה הבאה מוצגת השוואה בין התכונות של Spanner שזמינות דרך ממשקי ה-API של RPC ו-API בארכיטקטורת REST.
| תכונה | נתמך ב-API ל-RPC? | נתמך ב-API בארכיטקטורת REST? |
|---|---|---|
| ביטול בקשה | כן | לא |
| הגדרת מועד אחרון או זמן קצוב לתפוגה בבקשה | כן | לא |
| שליחת בקשת סטרימינג | כן. אפשר לעיין במאמרים ExecuteStreamingSQL ו-StreamingRead. |
באופן חלקי. יש תמיכה בסטרימינג ב-HTTP, אבל אין תמיכה בבקרת זרימה ברמת האפליקציה. |
תמיכה בתכונות של ספריות לקוח
בטבלה הבאה מפורטות ספריות הלקוח, ומצוינות התכונות העיקריות של Spanner שכל אחת מהן תומכת בהן.