סקירה כללית של ממשקי API, ספריות לקוח ומנהלי התקנים של ORM

ממשקים זמינים

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

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

‫RPC לעומת API בארכיטקטורת REST

בטבלה הזו מוצגות השוואה בין התכונות של Spanner שזמינות דרך ממשקי ה-API של RPC ו-API בארכיטקטורת REST.

תכונה האם הוא נתמך ב-RPC API? האם יש תמיכה ב-API בארכיטקטורת REST?
ביטול בקשה כן לא
הגדרת מועד אחרון או זמן קצוב לתפוגה לבקשה כן לא
שליחת בקשה להזרמה כן. אפשר לעיין במאמרים בנושא ExecuteStreamingSQL וStreamingRead. חלקי. יש תמיכה בסטרימינג של HTTP, אבל לא בבקרה על זרימת נתונים ברמת האפליקציה.

תמיכה בתכונות של ספריות לקוח

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

לקוח Go Java Node.js Python Ruby C++‎ PHP C#‎
Batch DDL
Batch DML
אפשרות להגדרה של תו מוביל
שאילתות גרף
טבלאות משולבות
סוג JSON
מוטציות
Partitioned DML
קריאה מחולקת
ממשק PostgreSQL
עדיפות הבקשה
בקשה לתיוג
תוויות של סשנים
קריאה בעבר
הצעות לניסוח הצהרות
מדדי לקוח