במאמר הזה מוסבר איך להפעיל ידנית דחיסה משמעותית במסד נתונים של Spanner.
כדי להפעיל באופן מלא כמה תכונות שקשורות לאחסון ב-Spanner, כמו אחסון מדורג או מנוע מבוסס-עמודות, צריך לבצע דחיסה ראשית של כל מסד הנתונים. כברירת מחדל, דחיסות משמעותיות מתרחשות באופן אוטומטי בכל הטבלאות לאורך תקופות של שבעה ימים. המשמעות היא שיכול להיות שתצטרכו לחכות עד שבעה ימים עד שתכונה חדשה תהיה זמינה באופן מלא. כדי שתכונות חדשות יהיו זמינות באופן מיידי, אתם יכולים להפעיל ידנית דחיסה משמעותית.
תהליך הדחיסה הוא פעולה ממושכת (LRO).
תמחור
הפעלה ידנית של דחיסה משמעותית מגדילה באופן זמני את ניצול המעבד (CPU) במכונה של Spanner. אם נדרשת קיבולת מחשוב נוספת כדי לקזז את העלייה הזו בניצול ה-CPU, העלויות יעלו.
ביצועים
פעולות דחיסה משמעותיות פועלות ברקע. עם זאת, אם יש שימוש כבד ועקבי ב-CPU במופע, יכול להיות שעומס העבודה של הדחיסה יפריע לפעולות קריטיות אחרות. במקרים כאלה, אפשר להגדיל זמנית את המכונה כדי להבטיח ביצועים יציבים במהלך הדחיסה.
הפעלת דחיסה משמעותית באופן ידני
מסוף Google Cloud
פותחים את מסוף Google Cloud ובוחרים את המכונה.
בוחרים מסד נתונים.
בתפריט הניווט, לוחצים על Spanner Studio.
פותחים כרטיסייה חדשה בלחיצה על New SQL editor tab או על New tab.
מריצים אחת מהפקודות הבאות כדי להתחיל את הדחיסה, בהתאם לדיאלקט של מסד הנתונים:
GoogleSQL
CALL compact_all();PostgreSQL
CALL spanner.compact_all();הפעולה הזו מחזירה מזהה של פעולה ממושכת (LRO) שאפשר להשתמש בו כדי למצוא את הפעולה ברשימה Operations.
כדי לעקוב אחרי התקדמות פעולת הדחיסה, לוחצים על Operations בתפריט הניווט.
C++
כדי להפעיל דחיסות באופן פרוגרמטי באמצעות ספריית הלקוח של C++:
void Compact(google::cloud::spanner::Client client) {
namespace spanner = ::google::cloud::spanner;
spanner::SqlStatement select("CALL compact_all()");
using RowType = std::tuple<std::string>;
auto rows = client.ExecuteQuery(std::move(select));
for (auto& row : spanner::StreamOf<RowType>(rows)) {
if (!row) throw std::move(row).status();
std::cout << "Long-running operation ID: " << std::get<0>(*row) << "\n";
}
}
אתם יכולים לבדוק את ההתקדמות של פעולה ממושכת במסד הנתונים. אתם יכולים גם לבטל את הבקשה המתמשכת לדחיסה משמעותית באמצעות מזהה ה-LRO. למידע נוסף, קראו את המאמר ביטול פעולה ממושכת במסד נתונים.