Explore Azure Database for PostgreSQL
Azure Database for PostgreSQL הוא שירות מסד נתונים מנוהל במלואו עבור PostgreSQL workloads על Azure. הבנת ארכיטקטורת השירות, שכבות המחשוב והיכולות המנוהלות עוזרת לך לקבל החלטות מושכלות לגבי תצורה ותכנון קיבולת עבור יישומי הבינה המלאכותית שלך.
מהו Azure Database for PostgreSQL?
Azure Database for PostgreSQL הוא שירות מסדי נתונים רלציוניים מנוהל במלואו המבוסס על מנוע מסדי הנתונים PostgreSQL בקוד פתוח. השירות מפעיל את מהדורת הקהילה של PostgreSQL, ומספק תאימות מלאה ליישומי וכלים קיימים של PostgreSQL. Microsoft מנהלת את התשתית הבסיסית, כולל הקצאת חומרה, תיקוני תוכנה, ניהול גיבוי ותצורת זמינות גבוהה.
השירות מספק שליטה מפורטת על תצורת מסדי הנתונים תוך שמירה על היתרונות של פלטפורמה מנוהלת. ניתן להתאים את חלונות התחזוקה, להגדיר אפשרויות זמינות גבוהה, ולהתאים משאבי חישוב לדרישות עומס העבודה שלכם.
עבור יישומי בינה מלאכותית הזקוקים לאחסון נתונים רלציוני לצד פעולות וקטוריות, PostgreSQL מציעה שילוב משכנע של אמינות עסקאותית, מידול נתונים גמיש עם JSONB ואקוסיסטם הרחבה הכולל יכולות חיפוש דמיון וקטורי.
ארכיטקטורה ואפשרויות פריסה
Azure Database for PostgreSQL מפריד את המחשוב והאחסון לרכיבים עצמאיים. מנוע מסד הנתונים פועל על מכונה וירטואלית של לינוקס, בעוד שקבצי הנתונים נמצאים באחסון מנוהל של Azure. הפרדה זו מאפשרת הרחבה עצמאית של משאבי מחשוב ואחסון ומספקת עמידות נתונים מובנית באמצעות שכפולים מקומיים של אחסון.
השירות מציע שלוש רמות חישוב כדי להתאים למאפייני עומס עבודה שונים. כל אחת מהן מספקת תצורות שונות למעבד ולזיכרון:
פיצוץ: מספק ביצועי מעבד בסיסיים עם יכולת לפרוץ מעל קו הבסיס בעת הצורך. מתאים במיוחד לסביבות פיתוח, יישומים קטנים ועומסי עבודה שאינם דורשים קיבולת CPU מלאה רציפה. מכונות וירטואליות מסדרת B מציעות אפשרות חסכונית לעומסי עבודה לסירוגין.
מטרה כללית: מספק משאבי מחשוב וזיכרון מאוזנים לעומסי עבודה בייצור. מכונות וירטואליות מסדרת D מספקות ביצועים עקביים ליישומים הדורשים זמני תגובה צפויים. בחר ב-General Purpose עבור יישומי ווב ושירותי backend טיפוסיים.
אופטימיזציה לזיכרון: מציע יחסי זיכרון למעבד vCPU גבוהים לעומסי עבודה שנהנים ממאגרי נתונים גדולים בזיכרון. מכונות הווירטואליות של סדרת E מצטיינות בעומסי עבודה כבדים במטמון, שאילתות אנליטיות מורכבות ויישומים שדורשים לשמור על מערכי עבודה גדולים בזיכרון. יישומי בינה מלאכותית המבצעים חישובים בזיכרון לעיתים קרובות נהנים משכבה זו.
אתה יכול לשנות את רמות החישוב לאחר הפריסה עם הפעלה מחדש קצרה, מה שמאפשר לך להתאים משאבים ככל שעומס העבודה שלך משתנה.
יכולות שירות מנוהל
Azure Database for PostgreSQL מטפל במשימות תפעוליות שהיו דורשות מאמץ ייעודי לניהול מסד נתונים.
השירות יוצר אוטומטית גיבויים של מסד הנתונים שלך ומאחסן אותם באחסון אזורי מיותרים באזורים שתומכים באזורי זמינות, או באחסון מיותר מקומית באזורים שלא. ברירת המחדל לשמירת גיבוי היא שבעה ימים, שניתן להאריך עד 35 ימים בהתאם לדרישות ההתאוששות שלך. הגיבויים כוללים גם תמונות מצב מלאות וגם יומני עסקאות, המאפשרים שחזור נקודתי בזמן לכל שנייה בתוך תקופת השימור. Azure מצפינה את כל הגיבויים באמצעות הצפנת AES 256 ביט, עם מפתחות מנוהלים על ידי פלטפורמה כברירת מחדל או מפתחות מנוהלים על ידי הלקוח לשליטה נוספת.
שחזור בנקודת זמן מאפשר לשחזר את מסד הנתונים שלך בכל רגע בתוך תקופת שמירת הגיבוי. פעולת השחזור יוצרת מופע שרת חדש עם נתונים ששוחזרו לפי חותמת הזמן שנקבעה, שימושי לשחזור משינויים מקריים בנתונים או לבדיקה מול מצב מסד נתונים היסטורי.
Azure Database for PostgreSQL כולל PgBouncer מובנה, מאגר חיבורים קל שמפחית את העומס של הקמת חיבורים חדשים על ידי שמירה על מאגר חיבורים רב-פעמיים. אתה יכול להפעיל את PgBouncer דרך הגדרות השרת ולהתחבר ליציאה 6432 במקום פורט PostgreSQL 5432 הסטנדרטי. בריכת חיבורים חשובה ליישומי בינה מלאכותית שמבצעים קריאות רבות קצרות מועד למסדי נתונים, כמו אחסון הודעות בודדות או שליפת הקשר לכל בקשת הסקה.
חשוב
PgBouncer זמין רק בשכבות חישוב כלליות ו-Memory Optimized. רמת Burstable לא תומכת בתכונת PgBouncer המובנית.
אסטרטגיות אופטימיזציה לחיבור מכוסות לעומק במודול "אופטימיזציה של ביצועים, אינדוקס וסקיילינג".
גרסאות ותוספות PostgreSQL נתמכות
Azure Database for PostgreSQL תומך במקביל במספר גרסאות PostgreSQL עיקריות. השירות בדרך כלל תומך בגרסה הראשית הנוכחית ובכמה גרסאות קודמות, בהתאם ללוח הזמנים של התמיכה הקהילתית של PostgreSQL. אפשר לבדוק גרסאות זמינות בעת יצירת שרת חדש או לשאול את server_version ההגדרה בשרת קיים.
מנגנון ההרחבה של PostgreSQL מאפשר להוסיף פונקציונליות מעבר למנוע מסד הנתונים המרכזי. הרחבות יכולות להוסיף סוגי נתונים, פונקציות, אופרטורים וסוגי אינדקס חדשים מבלי לשנות את קוד הליבה של PostgreSQL. מספר הרחבות רלוונטיות ליישומי בינה מלאכותית:
PGVECTOR: מאפשר סוגי נתונים וקטוריים ופעולות חיפוש דמיון. ניתן לאחסן הטבעות לצד נתונים יחסיים ולבצע חיפושים משוערים של השכנים הקרובים. מודול "מימוש חיפוש וקטורי עם Azure PostgreSQL" מכסה את pgvector בפירוט.
pg_trgm: מספק פונקציות דמיון טקסט מבוססות טריגרם. שימושי להתאמת טקסט מטושטשת, תכונות השלמה אוטומטית, ומציאת מחרוזות דומות ללא התאמות מדויקות.
hstore: מוסיף סוג נתונים מפתח-ערך לאחסון קבוצות זוגות מפתח-ערך בתוך ערך PostgreSQL יחיד. שימושי לנתונים חצי-מובנים שלא דורשים את הגמישות המלאה של JSONB.
אתה יכול להפעיל הרחבות באמצעות הפקודה אחרי CREATE EXTENSION שואישר שההרחבה זמינה במופע השרת שלך.
נקודות החלטה של מפתחים
בעת הגדרת Azure Database for PostgreSQL עבור היישום שלך, שקול את ההחלטות המרכזיות הבאות:
בחירת שכבת חישוב: בחר לפי דרישות המעבד והזיכרון של עומס העבודה שלך. התחילו עם Burstable לפיתוח, בדיקות ועבודות הוכחת היתכנות שבהן אופטימיזציה של עלות חשובה יותר מביצועים עקביים. השתמש ב-General Purpose לעומסי עבודה בייצור עם דרישות משאבים יציבות וצפויות. בחר ב-Memory Optimized כאשר היישום שלך נהנה ממטמונים גדולים בזיכרון או מבצע שאילתות אנליטיות מורכבות. אפשר לעקוב אחרי ניצול המעבד והזיכרון לאחר הפריסה ולהתאים את השכבה במידת הצורך.
הערכת הרחבות: בדוק את ההרחבות הזמינות כבר בתחילת עיצוב האפליקציה שלך. קבע אם האפליקציה שלך זקוקה לחיפוש דמיון וקטורי (pgvector), חיפוש טקסט מלא, או יכולות גאו-מרחביות (PostGIS). ודאו שההרחבות הנדרשות זמינות ב-Azure Database for PostgreSQL לפני שמתחייבים לעיצוב. תכנן שדרוגי הרחבה כחלק מאסטרטגיית תחזוקת מסד הנתונים שלך.