Spanner Omni היא גרסה של Spanner שאפשר להוריד, והיא מאפשרת לכם לפרוס את טכנולוגיית מסד הנתונים המבוזר של Google במרכזי נתונים מקומיים, בעננים ציבוריים ובמחשב הנייד שלכם. הוא מספק יכולות ליבה של Spanner, כולל יכולת הרחבה אופקית, זמינות גבוהה, תאימות ל-ACID ועקביות חיצונית חזקה, באמצעות שכפול מבוסס Paxos, חלוקה אוטומטית למקטעים וממשק ה-API של TrueTime מוגדר התוכנה.
Spanner Omni משלב מודלים של נתונים יחסיים, גרפים, וקטורים וזוגות של מפתח-ערך עם יכולות של ניתוח טקסט מלא וניתוח תפעולי. בדומה ל-Spanner, Spanner Omni תומך ב-GoogleSQL, PostgreSQL וב-Spanner Graph Language. אתם יכולים להשיג עמידות בין סביבות, ניידות של אפליקציות וערימת פיתוח עקבית בסביבות שונות. Spanner Omni תומך באפשרויות פריסה שכוללות:
- מכונות וירטואליות
- קונטיינרים של Linux
- אשכולות Kubernetes
מגבלות של גרסת Spanner Omni Preview
גרסת התצוגה המקדימה של Spanner Omni כוללת את הפונקציונליות הבסיסית ב-Spanner, עם החריגים הבאים:
אין תמיכה בתכונות אבטחה לארגונים ובהצפנת TLS.
Spanner Omni מפסיק לכתוב נתונים 90 יום אחרי שיוצרים פריסה.
כדי לקבל גישה מוקדמת למהדורה עם כל התכונות, אפשר לפנות אל Google.
תכונות עיקריות
Spanner Omni כולל את התכונות הבאות:
גמישות בפריסה: אפשר להריץ את Spanner Omni ב-Linux או ב-macOS. Spanner Omni תומך בסביבות ענן ציבורי, כמו Google Cloud (Google Kubernetes Engine (GKE) ו-Cloud Storage) ו-Amazon Elastic Kubernetes Service (Amazon EKS) ו-Amazon Elastic Compute Cloud (Amazon EC2), בסביבות מקומיות ובמחשבים ניידים.
יכולת הרחבה גבוהה: Spanner Omni יכול לפצל את הנתונים באופן אוטומטי ולבצע איזון בין החלקים כדי להשיג הרחבה גמישה לקריאה ולכתיבה.
זמינות גבוהה: Spanner Omni מציע טופולוגיות פריסה מרובות. Spanner Omni מציע פריסה של כמה אזורים וכמה אשכולות כדי לספק זמינות גבוהה במקרה של כשלים באזור או באשכול.
עקביות חיצונית חזקה: Spanner Omni מספק עקביות טרנזקציונלית גלובלית באמצעות TrueTime מבוסס-תוכנה, שאפשר לפרוס בכל סביבה.
מערכת רב-מודלית עם יכולת פעולה הדדית: Spanner Omni תומך בכמה מודלים של נתונים (רלציוני, זוגות של מפתח-ערך, גרף, וקטור) וביכולות (חיפוש טקסט מלא, עיבוד אנליטי), ומספק שאילתות בין מודלים ועסקאות תואמות ACID בין מודלים שונים של נתונים.
ממשק מוכר: אתם יכולים ליצור אינטראקציה עם הנתונים באמצעות Spanner CLI, שכולל מעטפת SQL לשאילתות אינטראקטיביות. Spanner Omni תומך ב-GoogleSQL, בניבי שפה של PostgreSQL וב-GQL, ומאפשר להעביר אפליקציות קיימות.
טופולוגיות של פריסה
ב-Spanner Omni נעשה שימוש בהיררכיה של אזורים, אזורים ושרתים כדי להגדיר את פריסת המערכת. אלה הגדרות הפריסה שזמינות ב-Spanner Omni:
שרת יחיד – Spanner Omni פועל במכונה אחת. הטופולוגיה הזו היא אפשרות טובה לפיתוח מקומי כי היא פועלת במכונה אחת. שדרוגים לטופולוגיה הזו גורמים להשבתה.
תחום אחד – כל השרתים של Spanner Omni הם חלק מתחום אחד. משתמשים לפחות בשלושה שרתים להגדרת הפריסה הזו. כדי להשיג זמן פעולה אופטימלי, טופולוגיה כזו כוללת יעדי זמינות נמוכים יותר, כי כשל באזור יחיד עלול לגרום להשבתה.
כמה תחומים (או אזורי) – Spanner Omni מפזר את השרתים על פני כמה תחומים. כל האזורים נמצאים במיקום אחד. בפריסות מרובות אזורים, צריך להשתמש בשלושה אזורים לפחות. בכל אזור צריך להיות לפחות שרת אחד. מומלץ להשתמש בשלושה שרתים בכל אזור. הגדרת הפריסה הזו מציעה זמינות גבוהה יותר מאשר פריסה באזור יחיד.
מרובה אשכולות (או מרובה אזורים) – שרתי Spanner Omni נמצאים במספר אזורים במספר אשכולות. כדי להשיג זמינות גבוהה, צריך להשתמש בשלושה אזורים בשני אשכולות או יותר, ולהגדיר כל אזור עם שלושה שרתים או יותר.
דרישות מערכת
כדי לשפר את הביצועים, מומלץ להשתמש בדרישות המינימליות הבאות לפריסות שרת:
| סביבה | מערכת הפעלה או פלטפורמה | המלצה לגבי חומרה |
|---|---|---|
| מקומי | Linux (RHEL 9, Ubuntu 22) | 4 GB RAM לכל vCPU, נפח אחסון של 20 GB ומעלה |
| Cloud (Google Cloud and AWS) | מכונות וירטואליות או pods של Kubernetes | 4 vCPU, 16 GB RAM לכל מכונה וירטואלית או לכל pod של Kubernetes |
| למפתחים (מחשבים ניידים ושולחניים) | macOS (M1, M2, M3) | זיכרון RAM בנפח 4GB, שטח דיסק בנפח 10GB |
מומלץ להשתמש בכונן SSD ייעודי לאחסון עם מערכת קבצים מסוג ext4.
קישוריות ופיתוח
כדי להתחבר ל-Spanner Omni ולפתח אפליקציות, אפשר להשתמש בכלים הבאים:
ספריות לקוח: אפשר להשתמש בספריות לקוח קיימות של Spanner ל-Java ול-Go על ידי ציון נקודת הקצה של Spanner Omni. לדוגמה, ב-Java, מגדירים את הערך set
setExperimentalHost("http://localhost:15000").PGAdapter: פרוקסי שמאפשר לאפליקציות קיימות של PostgreSQL להתחבר למסדי נתונים של Spanner Omni עם ניב PostgreSQL באמצעות פרוטוקול התקשורת הסטנדרטי של PostgreSQL.
אבחון: פקודה ייעודית
spanner admin diagnostics createאוספת יומנים, עקבות ומצבי מחסנית של שרשורים לצורך פתרון בעיות.