בדף הזה מפורטים הדרייברים שנתמכים במסדי נתונים של Spanner עם ניב GoogleSQL ובמסדי נתונים עם ניב PostgreSQL.
Google תומכת במנהלי התקנים של Spanner בקוד פתוח עבור כמה ספריות וסביבות פופולריות של מיפוי יחסי אובייקטים (ORM). הדרייברים האלה מאפשרים שימוש במסדי נתונים של Spanner באמצעות ממשקי API שמוגדרים על ידי המסגרות האלה.
בטבלאות הבאות מפורטים כל ה-ORM והדרייברים בקוד פתוח שנתמכים ב-Spanner, והתכונות שכל אחד מהם תומך בהן. יש טבלה אחת לכל דיאלקט SQL נתמך.
אפשר גם להשתמש בספריות הלקוח של Spanner כדי לגשת אל Spanner API. מידע נוסף זמין במאמר ספריות לקוח של Spanner.
מנהלי התקנים ו-ORM של GoogleSQL
| תכונה | database/sql | GORM | Spanner JDBC | תרדמת | Spring Data | R2DBC* | ADO.NET | Entity Framework | Active Record | SQLAlchemy | Django |
|---|---|---|---|---|---|---|---|---|---|---|---|
| שפה | המשך | המשך | Java | Java | Java | Java | C# | C# | Ruby | Python | Python |
| הצעות לניסוח הצהרות | † | ||||||||||
| מוטציות | |||||||||||
| Batch DML | |||||||||||
| Batch DDL | |||||||||||
| קריאה בעבר | |||||||||||
| טבלאות משולבות | |||||||||||
| Partitioned DML | |||||||||||
| תוויות של סשנים | |||||||||||
| עדיפות הבקשה | |||||||||||
| סוג JSON | |||||||||||
| בקשה לתיוג | |||||||||||
| ניב Google SQL | |||||||||||
| ניב PostgreSQL | |||||||||||
| מגבלות | לא רלוונטי | תצוגה | לא רלוונטי | תצוגה | לא רלוונטי | לא רלוונטי | לא רלוונטי | תצוגה | תצוגה | תצוגה | תצוגה |
* העמודה הזו מתארת את R2DBC כשמשתמשים בו באופן ספציפי עם Spring Data.
† זמין רק כששולחים שאילתות SQL מילוליות, באמצעות ההערה Spring Data@Query.
מנהלי התקנים ו-ORM של PostgreSQL
כל מנהלי ההתקנים של PostgreSQL דורשים הפעלה של PGAdapter proxy. מידע נוסף זמין במאמר מידע על PGAdapter.
נהגים נתמכים
| תכונה | Spanner JDBC | PostgreSQL JDBC | pgx | psycopg2 | psycopg3 | node-postgres | Npgsql | R2DBC | ADBC |
|---|---|---|---|---|---|---|---|---|---|
| שפה | Java | Java | Go | Python | Python | Node.js | .NET | Java | Python |
| הצעות לניסוח הצהרות | |||||||||
| מוטציות | |||||||||
| Batch DML | |||||||||
| Batch DDL | |||||||||
| קריאה בעבר | |||||||||
| טבלאות משולבות | |||||||||
| Partitioned DML | |||||||||
| תוויות של סשנים | |||||||||
| עדיפות הבקשה | |||||||||
| בקשה לתיוג | |||||||||
| מגבלות | לא רלוונטי | תצוגה | תצוגה | תצוגה | תצוגה | תצוגה | לא רלוונטי | לא רלוונטי | תצוגה |
מערכות ORM נתמכות
| תכונה | תרדמת | Spring Data | GORM | SQLAlchemy 2 |
|---|---|---|---|---|
| שפה | Java | Java | Go | Python |
| הצעות לניסוח הצהרות | ||||
| מוטציות | ||||
| Batch DML | ||||
| Batch DDL | ||||
| קריאה בעבר | ||||
| טבלאות משולבות | ||||
| Partitioned DML | ||||
| תוויות של סשנים | ||||
| עדיפות הבקשה | ||||
| בקשה לתיוג | ||||
| מגבלות | תצוגה | תצוגה | תצוגה | תצוגה |
סביבות פיתוח משולבות (IDE) ולקוחות SQL נתמכים
אפשר לקשר את הכלים הבאים למסדי נתונים של ניב PostgreSQL באמצעות PGAdapter.
| כלי | מדריך | הערות |
|---|---|---|
| IntelliJ / DataGrip | מדריך ההגדרה | נדרש PGAdapter. |
| DBeaver | מדריך ההגדרה | נדרש PGAdapter. |
| psql | מדריך ההגדרה | כלי שורת הפקודה הרגיל של PostgreSQL. |
שילובים אחרים
| כלי | שפה | מדריך | הערות |
|---|---|---|---|
| postgres_fdw | C / Extension | דוגמה | Foreign Data Wrapper ל-PostgreSQL. |
| connectorx | Python / Rust | דוגמה | ספרייה לטעינת נתונים עם ביצועים גבוהים. |
| Liquibase | Java | דוגמה | ניהול שינויים בסכימת מסד הנתונים. |