ממשק PostgreSQL ל-Spanner מאפשר לכם ליהנות מהתשתית המנוהלת, הניתנת להתאמה לעומס ובעלת הזמינות הגבוהה של Spanner, באמצעות כלים ותחביר מוכרים של PostgreSQL. בדף הזה מוסברות היכולות והמגבלות של ממשק PostgreSQL.
היתרונות של ממשק PostgreSQL
- ניידות: הממשק של PostgreSQL מספק גישה למגוון התכונות של Spanner, באמצעות סכימות, שאילתות ולקוחות שתואמים ל-PostgreSQL בקוד פתוח. כך קל יותר להעביר אפליקציה שנבנתה ב-Spanner לסביבת PostgreSQL אחרת. הניידות הזו מאפשרת גמישות בפריסה ותומכת בתרחישי תוכנית התאוששות מאסון (DR), כמו יציאה מאולצת.
- מוכרות: אם אתם כבר משתמשים ב-PostgreSQL, תוכלו להתחיל להשתמש ב-Spanner במהירות באמצעות הרבה מההצהרות והכלים של PostgreSQL. שימוש ב-PostgreSQL בכל מסדי הנתונים שלכם יאפשר לכם לצמצם את ההבדלים בין מוצרים ספציפיים וליישם קבוצה משותפת של שיטות מומלצות.
- Spanner ללא פשרות: הממשק של PostgreSQL מבוסס על התשתית הקיימת של Spanner, ולכן הוא מספק את כל היתרונות הקיימים של Spanner מבחינת זמינות, עקביות ויחס עלות-ביצועים, בלי להתפשר על אף אחת מהיכולות שזמינות במערכת האקולוגית המשלימה של GoogleSQL.
תכונות של PostgreSQL שלא נתמכות ב-Spanner
חשוב להבין שממשק PostgreSQL מספק את היכולות של Spanner באמצעות סכימות, סוגים, שאילתות ולקוחות שתואמים ל-PostgreSQL. הוא לא תומך בכל התכונות של PostgreSQL. העברה של אפליקציית PostgreSQL קיימת אל Spanner, גם אם משתמשים בממשק PostgreSQL ל-Spanner, כנראה תדרוש שינויים כדי להתאים ליכולות של PostgreSQL שלא נתמכות או להבדלים בהתנהגות, כמו אופטימיזציה של שאילתות או עיצוב של מפתח ראשי. אבל אחרי ההעברה, עומסי העבודה יכולים ליהנות מהאמינות של Spanner ומהיכולות הייחודיות שלו לשימוש בכמה מודלים.
ברשימה הבאה מפורטות תכונות נתמכות ולא נתמכות של PostgreSQL:
- פונקציונליות נתמכת של PostgreSQL: הממשק של PostgreSQL תומך בהרבה מהתכונות הנפוצות ביותר של PostgreSQL. ההסבר כולל חלקים מרכזיים של הסכימה ומערכת הטיפוסים, הרבה צורות נפוצות של שאילתות, מגוון פונקציות ואופרטורים, והיבטים מרכזיים של קטלוג המערכת של PostgreSQL. אפליקציות יכולות להשתמש בהרבה לקוחות PostgreSQL על ידי התחברות להטמעה של Spanner בפרוטוקול PostgreSQL wire.
- חלק מהתכונות של שפת PostgreSQL לא נתמכות: תוספים, סוגי נתונים מוגדרים על ידי המשתמש, פרוצדורות מאוחסנות מוגדרות על ידי המשתמש ותכונות אחרות לא נתמכות. רשימה מלאה זמינה במאמר שפת PostgreSQL ב-Spanner. יש גם כמה תכונות ב-PostgreSQL שפועלות באופן שונה מ-PostgreSQL בקוד פתוח. מידע נוסף זמין במאמר בנושא בעיות מוכרות בממשק PostgreSQL ל-Spanner.
- מישור הבקרה של Spanner: מסדי נתונים עם ממשקי PostgreSQL משתמשים ב-Spanner ובכלי Google Cloudכדי להקצות, לאבטח, לנטר ולבצע אופטימיזציה של מופעים. Spanner לא תומך בכלים כמו pgAdmin לפעולות ניהול.
- תמיכה בפרוטוקול לקוח ופרוטוקול קווי: Spanner תומך ביכולות הליבה של שאילתות של פרוטוקול קווי של PostgreSQL באמצעות PGAdapter, פרוקסי קל משקל שפועל לצד האפליקציה שלכם. כך הרבה לקוחות של Spanner יכולים לעבוד כמו שהם עם מסד נתונים של ממשק Spanner PostgreSQL, תוך ניצול נקודת הקצה הגלובלית של Spanner, ניהול החיבורים והאימות של IAM. השוואות ביצועים פנימיות של Google מראות ש-PGAdapter לא מוסיף חביון נוסף משמעותי בהשוואה לחיבור ישיר לנקודות הקצה המובנות של Spanner.
ניהול ואדמיניסטרציה
ממשק PostgreSQL תומך בניהול של מסדי הנתונים שלכם ב-Spanner באמצעות התכונות הבאות:
- חוויה מאוחדת: הקצאה, ניהול ומעקב של מסדי נתונים עם ממשק PostgreSQL באמצעות המסוף, ממשקי ה-API וכלים קיימים של Spanner, כמו Google Cloud CLI.
- הגדרה גמישה: אפשר להגדיר את ממשק PostgreSQL לכל מסד נתונים בזמן היצירה. במכונת Spanner אחת אפשר להשתמש גם במסדי נתונים עם ממשק GoogleSQL וגם במסדי נתונים עם ממשק PostgreSQL.
- יתרונות משותפים: לשני ניבי מסדי הנתונים יש מנוע מסד נתונים מבוזר בסיסי משותף, שמבטיח מדרגיות, עקביות, ביצועים ואבטחה עקביים.
תכונות
ממשק PostgreSQL של Spanner מציע שתי תכונות עיקריות שמאפשרות שילוב עם המערכת האקולוגית של PostgreSQL:
תמיכה בניב PostgreSQL
Spanner מספק קבוצת משנה של ניב ה-SQL של PostgreSQL, כולל שפת שאילתות נתונים (DQL), שפת טיפול בנתונים (DML) ושפת הגדרת נתונים (DDL). בנוסף, הוא כולל תוספים לתמיכה בתכונות ספציפיות ל-Spanner כמו טבלאות משולבות, אורך חיים (TTL) ורמזים לשאילתות.
מידע מפורט על רכיבי השפה הנתמכים של PostgreSQL זמין במאמר שפת PostgreSQL ב-Spanner. כדי להבין איך משתמשים בתכונות של Spanner עם דיאלקט PostgreSQL, אפשר לעיין במאמרי העזרה של התכונה הספציפית.
תמיכה בלקוחות PostgreSQL
Spanner מאפשר להתחבר למסדי נתונים ממגוון לקוחות:
כלים במערכת האקולוגית של PostgreSQL: אתם יכולים להשתמש בכלים מוכרים כמו PostgreSQL JDBC driver ו-PostgreSQL pgx driver כדי לקשר את האפליקציות שלכם למסד נתונים של ממשק PostgreSQL. רשימה של מנהלי התקנים, ORM וכלים נתמכים מופיעה במאמר בנושא מנהלי התקנים ו-ORM של PostgreSQL.
כלי psql לשורת פקודה: נתמכת
psqlסביבה אינטראקטיבית פופולרית, שמאפשרת להריץ שאילתות, לבדוק מטא נתונים ולטעון נתונים ישירות מהטרמינל.PGAdapter: פרוקסי קל משקל שמפשט את ניהול החיבור והאימות. מידע נוסף זמין במאמר סקירה כללית על PGAdapter.
לקוחות Spanner: Spanner מספקת לקוחות Spanner בקוד פתוח לשפות תכנות שונות (Java, Go, Python, Node.js, Ruby, PHP, C#, C++), יחד עם מנהל התקן Spanner JDBC ומנהל התקן לחבילת ה-SQL של Go. לקוחות Spanner מתחברים ישירות לנקודת הקצה הגלובלית של Spanner ללא proxy. עם זאת, לקוחות Spanner לא מציעים תאימות ללקוחות, ל-ORM או לכלים קיימים של PostgreSQL.
שיטות מומלצות לשימוש בממשק PostgreSQL
כדאי לפעול לפי השיטות המומלצות הבאות כשמשתמשים בממשק PostgreSQL:
- חיבור האפליקציות: אפשר להשתמש בקבוצת הכלים הנתמכים של PostgreSQL כדי ליצור קישוריות יעילה.
אינטראקציה עם מסד הנתונים: כדי לעבוד באופן אינטראקטיבי, בוחרים באחת מהאפשרויות הבאות:
- כלי שורת הפקודה המוכר psql (באמצעות ה-proxy של PGAdapter)
- הדף האינטואיטיבי Spanner Studio במסוף Google Cloud
- סביבות פיתוח משולבות (IDE), כמו DBeaver, Visual Studio Code, JetBrains ו-IntelliJ
- האמולטור של Spanner שמאפשר להריץ אמולציה של Spanner במחשב המקומי. האפשרות הזו שימושית במהלך תהליך הפיתוח והבדיקה.
המאמרים הבאים
- איך בוחרים בין PostgreSQL לבין GoogleSQL
- כדי ליצור מסד נתונים של PostgreSQL ולבצע בו פעולות, אפשר להיעזר במדריך לתחילת העבודה.
- מידע נוסף על התמיכה בשפת PostgreSQL ב-Spanner
- PGAdapter
- מידע נוסף על מאגר PGAdapter ב-GitHub
- בודקים את הבעיות הידועות בממשק של PostgreSQL.