Looker מתחזק זיכרון מטמון כחלק מכל מופע. מטמון ברירת המחדל של Looker הוא פתרון מטמון מותאם אישית שמבוסס על כמה שכבות: בזיכרון, בכונן מקומי ובכונן מרוחק. מסד הנתונים הפנימי של Looker משמש כאינדקס שמזהה את המיקום של אובייקטים שנשמרו במטמון במערכת.
אם אתם מארחים את מופע Looker שלכם, אתם יכולים להגדיר את Looker כך שישתמש במטמון Redis שמתארח בנפרד. לשימוש במטמון Redis יש כמה יתרונות:
- שליפה משופרת של נתונים מהמטמון – השיפור העיקרי יהיה בזמני שליפה עקביים של נתונים מהמטמון. ככל שמספר הצמתים באשכול Looker גדל, התקשורת בין הצמתים עלולה לפגוע בביצועי המטמון. ארכיטקטורת המטמון החדשה של Redis מאחדת את המטמון, וכתוצאה מכך זמני השליפה מהמטמון עקביים, לא משנה מה הגודל של אשכול Looker.
- פחות עומס – בנוסף, המטמון נמצא בשכבה נפרדת מהמכונה של Looker, מה שמוביל לפחות עומס על המכונה של Looker.
- מדרגיות – שימוש במטמון Redis מאפשר גם להגדיל את המטמון באופן עצמאי ממופע Looker.
דרישות
Looker תומך בגרסאות Redis 4.0.x, 5.0.x ו-7.2.x. כדי להשתמש במטמון Redis עם Looker, מכונת Redis צריכה לעמוד בדרישות הבאות:
- צריכה להיות גישה למכונת Redis מהמכונה של Looker.
- מכונת Redis לא יכולה להיות אשכול. עם זאת, אפשר להשתמש במופע משוכפל כדי להשיג זמינות גבוהה.
- הגודל של מטמון Redis צריך להיות שווה בערך לגודל של מטמון Looker. כברירת מחדל, המטמון של Looker הוא 2GB לכל צומת. לכן, אם יש לכם אשכול Looker עם שלושה צמתים, מומלץ להשתמש במטמון Redis של 6GB.
- ההגדרה של Redis
maxmemory-policyצריכה להיותvolatile-lru. - תצטרכו להשבית את האימות של Redis. כל הנתונים שמאוחסנים ב-Redis מוצפנים במופע Looker לפני שהם נשלחים לשרת Redis.
- אתם יכולים להשתמש באפשרות Redis שמארחת ב-AWS ElastiCache או ב-Google Memorystore, כל עוד זו לא הגדרה של Redis cluster.
בנוסף, כדי להשתמש ב-Redis ב-Looker, צריך להשתמש במערכת ההצפנה של GCM ב-Looker. לפני שמפעילים את Redis, צריך לעדכן את ההצפנה במופעים שבהם נעשה שימוש בהצפנה מדור קודם. אם מנסים להפעיל את Redis בלי הצפנה של GCM, הפעלת Looker תיכשל ותוצג הודעת שגיאה שדומה להודעה הבאה:
2020-01-23 10:28:44.253 -0800 [ERROR|007e4|cache] :: Must enable GCM encryption to use Redis caching
הוראות לשדרוג מהצפנה מדור קודם להצפנת GCM זמינות בדף התיעוד מעבר להצפנת AES-256 GCM.
הגדרת משתנה סביבה כדי להפעיל את מטמון Redis
כדי להפעיל את מטמון Redis, צריך להגדיר את משתנה הסביבה LOOKER_REDIS_CACHE_DISCOVERY כך שיצביע על כתובת ה-URL של חיבור Redis, ואז לבצע הפעלה מחדש מלאה של מכונת Looker, כולל כל הצמתים באשכול. מומלץ לכבות את השרת לחלוטין, לשנות את הסקריפטים של הסביבה וההפעלה לפי הצורך כדי לכלול את משתנה הסביבה, ואז להפעיל את כל הצמתים.
כדי להשבית את Looker, מריצים את הפקודות הבאות בכל צומת:
cd looker
./looker stop
לדוגמה, אם יש לכם מכונת Redis מקומית באותו מארח ביציאת ברירת המחדל, מגדירים את משתנה הסביבה LOOKER_REDIS_CACHE_DISCOVERY כך:
export LOOKER_REDIS_CACHE_DISCOVERY=redis://localhost:6379
לאחר מכן מפעילים מחדש את Looker:
./looker start
בדיקה שמטמון Redis מופעל
כדי לבדוק אם מטמון Redis מופעל, מחפשים רשומות ביומן Looker. צריכות להיות רשומות ביומן שדומות לרשומות הבאות:
2021-06-11 16:54:41.532 +0000 [INFO|007e4|RedissonClientPool] :: Creating client for redis://localhost:6379/
...
2021-06-11 16:54:42.802 +0000 [INFO|007e4|cache] :: Creating render_cache DataShelf: redis