מעבר מ-MongoBI ל-MongoSQL
מעכשיו יש ב-Looker תמיכה ב-MongoSQL, ומומלץ לבצע מיגרציה ל-MongoSQL מ-MongoDB Connector for BI.
בגלל ההבדלים בתחביר SQL בין MongoDB Connector for BI (MongoBI) לבין MongoSQL, יכול להיות שיהיה צורך לבצע שינויים בתחביר של מודלים קיימים של LookML שמשתמשים בבלוקים מותאמים אישית של SQL, בעיצוב תאריכים או בפונקציות של מסד נתונים. אל תעבירו חיבור קיים של סביבת ייצור ישירות ל-MongoSQL בלי לאמת קודם את קוד ה-LookML, כי זה עלול לשבור לוחות בקרה, תצוגות ותזמונים או התראות.
כדי לבצע מיגרציה בטוחה מ-MongoBI ל-MongoSQL, צריך לבצע את השלבים הבאים:
- אפשר לעיין בהבדלים בתחביר SQL בין MongoBI לבין MongoSQL במסמכי התיעוד של MongoDB מעבר מ-Atlas BI Connector ל-MongoSQL.
- יוצרים חיבור חדש ל-MongoSQL ב-Looker כחיבור משני.
- בסניף פיתוח חדש בפרויקט של LookML, מעדכנים את הפרמטר
connectionבקובץ המודל כך שיצביע על החיבור החדש ל-MongoSQL. - ב-SQL Runner, בודקים ומריצים שאילתות לדוגמה מ-Explores כדי לאמת את התחביר והתוצאות של השאילתות.
- מאמתים את הפרויקט והתוכן:
- אפשר להשתמש בכלי לאימות התוכן כדי לסרוק את כל לוחות הבקרה וה-Looks ולחפש שדות או הפניות פגומים.
- אפשר להשתמש בכלי לאימות SQL של Looker CI כדי לאמת את המאפיינים ב-Explores מול מסד הנתונים.
- אחרי שפותרים את כל שגיאות האימות, פורסים את השינויים בסביבת הייצור.
שימוש ב-MongoDB Connector for BI (MongoBI)
ל-Looker יש גישה ל-MongoDB באמצעות MongoDB Connector for BI בשתי דרכים:
- שימוש ב-MongoDB Connector for BI ב-MongoDB Atlas.
- שימוש ב-MongoDB Connector for BI שמותקן באותו שרת שבו מותקן מסד הנתונים של MongoDB.
MongoDB Atlas
ב-MongoDB Atlas צריך להשתמש באשכול M10 ואילך. כדי ש-Looker יוכל להשתמש במסד נתונים של MongoDB שפועל ב-MongoDB Atlas, צריך להשתמש ב-MongoDB Connector for BI (MongoBI). כדי להפעיל את BI Connector ל-Atlas, צריך להשתמש באשכול M10+ ב-MongoDB Atlas.
אתם צריכים גם ליצור חשבון משתמש עם הרשאות קריאה למסד הנתונים שבחרתם.
הגדרת MongoDB Connector for BI
לפני שיוצרים חיבור ב-Looker, האדמין של MongoDB או Atlas צריך להגדיר את MongoDB Connector for BI לפי השלבים הבאים, שמוסברים בדף הזה:
- הוספת שרת Looker לרשימת הגישה של כתובות ה-IP ב-Atlas
- הפעלת MongoDB Connector for BI
- התרת שימוש בטבלאות נגזרות רגילות (מומלץ)
הוספת השרת של Looker לרשימת הגישה של כתובות ה-IP ב-Atlas
ב-Atlas, אפשר להתחבר ללקוחות רק מרשומות ברשימת הגישה של כתובות ה-IP של הפרויקט. מוסיפים את כתובת ה-IP של Looker לרשימת הגישה של פרויקט Atlas:
- משיגים את כתובת ה-IP של Looker.
- פועלים לפי ההוראות להגדרת רשימת גישה ל-IP ב-Atlas כדי להוסיף את כתובת ה-IP של Looker לרשימת גישה ל-IP ב-Atlas.
הפעלת MongoDB Connector for BI
מפעילים את MongoDB Connector for BI:
- מוודאים שאתם נמצאים באשכול M10+.
- ב-Atlas, פותחים את הדף Connect של האשכול. רושמים את שם המארח, היציאה והמשתמש. תצטרכו להשתמש במידע הזה כשמגדירים את הקישור ב-Looker.
MongoDB באותו שרת
לפני שיוצרים חיבור ב-Looker, האדמין של MongoDB צריך להגדיר את MongoDB ואת Mongo Connector for BI לפי השלבים הבאים, שמוסברים בדף הזה:
- התקנת Mongo Connector for BI
- הצפנת תנועה ברשת
- הגדרה של משתמש והרשאות ב-Looker
- אישור שימוש בטבלאות נגזרות רגילות (מומלץ)
התקנת Mongo Connector for BI
מתקינים את MongoDB Connector for BI באותו שרת שבו נמצא מסד הנתונים של MongoDB, כמו שמוסבר בדף התיעוד של MongoDB בנושא Install BI Connector On Premises .
הצפנת התנועה ברשת
המחבר של MongoDB ל-BI דורש שימוש בהצפנת SSL בין השרת של MongoDB לבין אפליקציית Looker. פועלים לפי ההוראות להגדרת SSL בדף התיעוד של MongoDB בנושא הגדרת SSL ל-BI Connector.
הגדרת המשתמש וההרשאות ב-Looker
ב-MongoDB shell, מזינים את הפקודה use כדי לעבור למסד הנתונים שאליו Looker יתחבר. אחר כך יוצרים משתמש ל-Looker באמצעות db.createUser() עם התפקיד readWrite:
use looker_database
db.createUser({ user: looker,
pwd: `some_password_here`,
roles: [ "readWrite" ]
})
התקנת קובצי מנהל ההתקן של MongoBI JDBC
בשתי האפשרויות של MongoDB Connector for BI, צריך להגדיר קובצי מנהל התקן של JDBC ב-Looker. כדי לעשות את זה:
מורידים את שני קובצי ה-JAR האלה:
פועלים לפי השלבים בדף התיעוד Unpackaged JDBC drivers באמצעות הערכים הבאים:
סמל הנהג: mongobi
רשומת נהג:
- name: mongobi
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
אם אתם משתמשים ב-Looker בגרסה 6.2 או בגרסה קודמת:
- name: maria15x
dir_name: mongobi
module_path: com.mysql.jdbc.Driver
override_jdbc_url_subprotocol: mysql
בשלב שבו מעבירים את הדרייבר לספרייה של הניב, הנתיבים לקבצים האלה ייראו כך:
looker/custom_jdbc_drivers/mongobi/mongosql-auth-1.0.0-rc0.jarlooker/custom_jdbc_drivers/mongobi/mysql-connector-java-5.1.47.jar
מתן הרשאה לשימוש בטבלאות נגזרות רגילות (מומלץ)
טבלאות נגזרות הן כלים חשובים ב-Looker שמאפשרים לכם להרחיב את מורכבות הניתוחים. הם גם יכולים לשפר את ביצועי השאילתות. באופן כללי, היכולת של Looker ליצור טבלאות נגזרות מאפשרת ליצור טבלאות חדשות שלא קיימות כבר במסד הנתונים.
המחבר של MongoDB ל-BI תומך בטבלאות נגזרות רגילות זמניות, אבל לא תומך בטבלאות נגזרות מתמידות (PDT).
מכיוון שטבלאות נגזרות רגילות הן זמניות, אין צורך לאחסן אותן. לכן, לא צריך ליצור סכימה בשבילם. עם זאת, צריך להקצות את התפקיד dbOwner לסכימה looker_tmp, גם אם הסכימה הזו לא קיימת.
כדי להוסיף את התפקיד dbOwner ב-looker_tmp למשתמש ש-Looker ישתמש בו כדי להתחבר, פועלים לפי ההוראות שבקטע Modify MongoDB Users (שינוי משתמשי MongoDB) בדף התיעוד הזה של MongoDB בנושא הגדרת משתמשי מסד נתונים.
db.grantRolesToUser("looker", [ {role: "dbOwner", db: "looker_tmp"} ])
יצירת חיבור Looker למסד הנתונים
כדי ליצור את החיבור בין Looker למסד הנתונים:
- בקטע ניהול ב-Looker, בוחרים באפשרות חיבורים ואז לוחצים על הוספת חיבור.
בתפריט הנפתח ניב, בוחרים באפשרות MongoBI.
ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים.
כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על הלחצן בדיקת החיבור בקטע פרטי הסטטוס בחלק התחתון של הדף הגדרות החיבורים.
אם ב-Looker מוצגת ההודעה Can Connect, לוחצים על Connect כדי ליצור את החיבור.
החיבור למסד הנתונים יתווסף לרשימה בדף Connections Admin ב-Looker.
שימוש בפונקציות ובאופרטורים של SQL עם MongoDB Connector for BI
כשמפתחים באמצעות חיבור של MongoDB Connector for BI, אפשר להשתמש בפונקציות ובאופרטורים של SQL שמפורטים במסמכי התיעוד של MongoDB.
פרמטרים נתמכים של JDBC
ב-MongoDB Connector for BI, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במסמכי התיעוד של מסד הנתונים.
allowMultiQueriesappNameauthSourceautoReconnectcachePrepStmtscharacterEncodingconnectTimeoutconnectTimeoutMSelideSetAutoCommitsenabledSslProtocolSuitesenabledTLSProtocolsexplainSlowQueriesmaxAllowedPacketpasswordqueryInterceptorsqueryTimeoutKillsConnectionreplicaSetrewriteBatchedStatementssocketTimeoutsslsslModetcpKeepAliveuseCompressionuseCursorFetchuseLocalSessionStateuseruseServerPrepStmtsuseSSLverifyServerCertificatezeroDateTimeBehavior
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.
החל מגרסה 26.20 של Looker, MongoBI תומך בתכונות הבאות:
| תכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות (case-sensitive) | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| מאון ייחודי | |
| הצגת תהליכים ב-SQL Runner | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר המשתמשים ב-SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| מאגר חיבורים (connection pooling) | |
| HLL sketches | |
| מודעות מצטברת | |
| טבלאות PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |
בנוסף:
- ב-MongoDB אין תמיכה במסגרות זמן של אלפיות השנייה ומיקרו-שניות לקבוצות של מאפיינים.
- ב-MongoDB אין תמיכה בסוגי מילי-שנייה, millisecondX ומיקרו-שנייה למאפיינים.
- Looker מתייחס לכל חותמות הזמן שאליהן ניגשים מ-MongoBI כאילו הן באזור הזמן האוניברסלי המתואם (UTC).