הצפנה של תנועה ברשת
מומלץ להצפין את התנועה ברשת בין אפליקציית Looker לבין מסד הנתונים. כדאי לשקול אחת מהאפשרויות שמתוארות בדף התיעוד הפעלת גישה מאובטחת למסד נתונים.
אם אתם רוצים להשתמש בהצפנת SSL, עיינו במסמכי התיעוד של MySQL RDS.
אפשרויות
מסיבות שקשורות לביצועים, נהוג להשתמש במסדי נתונים של רפליקות לקריאה בלבד – שנקראים גם רפליקות לקריאה – עם Looker. כך מסד הנתונים של סביבת הייצור פנוי לבצע את הפונקציה העיקרית שלו, בלי ששאילתות יאטו אותו.
במאמר הזה מוסבר איך:
- שינוי של מסד נתונים קיים של רפליקה כדי שיעבוד עם Looker
- יצירת מסד נתונים חדש של רפליקת קריאה והגדרתו לעבודה עם Looker
שינוי של רפליקה קיימת
משתמשים ואבטחה
צריך לשנות את <some_password_here> לסיסמה ייחודית ומאובטחת:
CREATE USER looker;
SET PASSWORD FOR looker = PASSWORD ('<some_password_here>');
GRANT SELECT ON database_name.* TO 'looker'@'%';
טבלאות RDS וטבלאות זמניות
כברירת מחדל, ברפליקות לקריאה של RDS מופעל דגל לקריאה בלבד שמונע מ-Looker לכתוב בטבלאות זמניות. Looker אף פעם לא משנה נתונים קיימים, אבל MySQL עדיין דורש גישת כתיבה כדי להשתמש בטבלאות זמניות. כדי לפתור את הבעיה, צריך לשנות את הדגל ב-RDS. מתוך שאלות נפוצות בנושא RDS:
שאלה: האם הרפליקות לקריאה בלבד יכולות לקבל רק פעולות קריאה של מסד נתונים?
עותקים לקריאה בלבד נועדו לשרת תנועת קריאה. עם זאת, יכולים להיות תרחישים שבהם משתמשים מתקדמים ירצו להשלים הצהרות SQL של שפת הגדרת נתונים (DDL) מול רפליקה לקריאה בלבד. לדוגמה, אפשר להוסיף אינדקס למסד נתונים לעותק לקריאה שמשמש לדיווח עסקי, בלי להוסיף את אותו אינדקס למופע מסד הנתונים המקביל של המקור.
אפשר להגדיר את Amazon RDS ל-MySQL כך שיאפשר הצהרות DDL SQL לגבי העתק לקריאה. כדי להפעיל פעולות אחרות מלבד קריאה ברפליקה לקריאה בלבד, צריך לשנות את קבוצת הפרמטרים הפעילה של מסד הנתונים ברפליקה לקריאה בלבד, ולהגדיר את הפרמטר read_only לערך 0.
בשלב הזה, Amazon RDS ל-PostgreSQL לא תומך בהרצה של הצהרות DDL SQL מול עותק לקריאה.
אם משנים את קבוצת הפרמטרים של מסד הנתונים, צריך להפעיל מחדש את העותק לקריאה כדי שהשינויים ייכנסו לתוקף.
יצירת מסד נתונים והענקת הרשאות
יוצרים מסד נתונים זמני ומעניקים למשתמש looker הרשאות כתיבה בו. ההצהרה CREATE TEMPORARY ב-MySQL צריכה להיות משויכת למסד נתונים לצורכי הרשאות.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
יצירת רפליקה חדשה
שימו לב ש-AWS RDS יכול ליצור עותקים לקריאה בלבד רק עם מכונות של מסדי נתונים שמופעלת בהן שמירת גיבוי.
שלבים מקדימים ב-AWS
שלב 1
mysql למסד הנתונים שיהיה המכונה הראשית של מסד הנתונים:
mysql -h hostname.uid.region.rds.amazonaws.com -P 3306 -u root -p
שלב 2
יוצרים משתמש בשם looker (מחליפים את <some_password_here> בסיסמה ייחודית ומאובטחת):
CREATE USER looker IDENTIFIED BY '<some_password_here>';
שלב 3
יוצרים מסד נתונים זמני ומעניקים ל-Looker הרשאות קריאה למסדי נתונים ולטבלאות אחרים. בדרך כלל, Looker לא כותב לתוך מסד הנתונים looker_tmp, אלא משתמש בו כדי להריץ פקודות CREATE TEMPORARY TABLE.
CREATE SCHEMA looker_tmp;
GRANT
SELECT,
INDEX,
INSERT,
UPDATE,
DELETE,
CREATE,
DROP,
ALTER,
CREATE TEMPORARY TABLES
ON looker_tmp.* TO 'looker'@'%';
GRANT
SELECT,
SHOW DATABASES
ON *.* TO 'looker'@'%';
שלב 4
Flush privileges:
FLUSH PRIVILEGES;
שלבים ב-AWS
שלב 1
מתחברים ועוברים ללוח הבקרה של AWS. בקטע Database, בוחרים באפשרות RDS.

שלב 2
בלוח הבקרה של RDS, בוחרים את המכונה של מסד הנתונים שרוצים להגדיר כמסד הנתונים הראשי. בוחרים באפשרות Instance Actions ואז באפשרות Create Read Replica.

שלב 3
בחלון הקופץ Create Read Replica DB Instance, מגדירים את מסד הנתונים של הרפליקה לקריאה בלבד ובוחרים באפשרות Yes, Create Read Replica.

שלב 4
בזמן שאתם ממתינים ליצירת מסד הנתונים של הרפליקה לקריאה בלבד, אתם יכולים להגדיר את קבוצת הפרמטרים של מסד הנתונים, שתכיל את ערכי ההגדרות של המנוע שחלים על המכונה של מסד הנתונים של הרפליקה לקריאה בלבד. בסרגל הצד, בוחרים בדף DB Parameter Groups ולוחצים על הכפתור Create DB Parameter Group.

שלב 5
בוחרים באפשרות DB Parameter Group Family (משפחה של קבוצות פרמטרים של מסד נתונים) ובאפשרות DB Parameter Group Name (שם של קבוצת פרמטרים של מסד נתונים), ומזינים DB Parameter Group Description (תיאור של קבוצת פרמטרים של מסד נתונים). ואז לוחצים על כן, אני רוצה ליצור.
שלב 6
לוחצים על סמל זכוכית המגדלת בשורה שמכילה את קבוצת הפרמטרים של מסד הנתונים של העותק לקריאה, או בוחרים את השורה הזו ולוחצים על עריכת פרמטרים.
Step 7
בשדה Filters בקטע Parameters, מחפשים את הערך read_only. משנים את ערך הפרמטר ל-0. ואז לוחצים על שמירת השינויים.
שלב 8
אחרי שנוצר העותק לקריאה, בוחרים אותו מרשימת מופעי מסד הנתונים, לוחצים על הלחצן Instance Action (פעולת מופע) ובוחרים באפשרות Modify (שינוי) בפעולת המופע.
שלב 9
בחלון הקופץ Modify DB Instance, משנים את Parameter Group של מופע מסד הנתונים לקבוצת הפרמטרים החדשה של העותק לקריאה. מסמנים את התיבה Apply Immediately, לוחצים על Continue ואז על Modify DB Instance.
שלב 10
באמצעות לקוח MySQL, מתחברים למכונה של מסד הנתונים של הרפליקה לקריאה בלבד בתור looker ובודקים אם הנתונים נגישים.
יצירת החיבור של Looker למסד הנתונים
בקטע Admin ב-Looker, בוחרים באפשרות Connections ולוחצים על Add Connection.
ממלאים את פרטי החיבור. רוב ההגדרות משותפות לרוב הניבים של מסדי הנתונים. מידע נוסף זמין בדף התיעוד קישור Looker למסד הנתונים.
כדי לוודא שהחיבור הצליח, לוחצים על הכפתור בדיקת החיבור בקטע פרטי הסטטוס בתחתית הדף הגדרות החיבור.
אם ב-Looker מוצגת האפשרות Can Connect (אפשר להתחבר), לוחצים על Connect (התחברות) כדי ליצור את החיבור.
החיבור למסד הנתונים יתווסף לרשימה בדף Admin (ניהול) בקטע Connections (חיבורים) ב-Looker.
פרמטרים נתמכים של JDBC
ב-Amazon RDS for MySQL, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters של החיבור. מידע על הפרמטרים האלה מופיע במסמכי התיעוד של מסד הנתונים.
allowMultiQueriesautocommitcharacterSetResultsclientCertificateKeyStorePasswordclientCertificateKeyStoreUrlconnectionAttributesconnectionCollationconnectionTimeZoneconnectTimeoutdefaultAuthenticationPlugindisableSslHostnameVerificationdisconnectOnExpiredPasswordsenabledSslCipherSuitesfailOverReadOnlyfallbackToSystemTrustStoreforceConnectionTimeZoneToSessioninteractiveClientlookerFailovermaxIdleTimemaxQuerySizeToLogoldModeNoPrecisionTimestamppasswordpasswordCharacterEncodingpermitMysqlSchemepinGlobalTxToPhysicalConnectionpreserveInstantsqueryInterceptorsrestrictedAuthrewriteBatchedStatementssocketTimeoutsslModetcpKeepAlivetrustCertificateKeyStorePasswordtrustCertificateKeyStoreUrluseCompressionusePipelineAuthuseruseServerPrepStmtsverifyServerCertificateyearIsDateType
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, גם הניב של מסד הנתונים צריך לתמוך בהן.
החל מגרסה 26.20 של Looker, MySQL תומך בתכונות הבאות:
| תכונה | נתמך? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| סגירת שאילתות | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סיכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון ייחודי | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| הצגת אינדקסים ב-SQL Runner | |
| SQL Runner Select 10 | |
| ספירת SQL Runner | |
| הסבר על SQL | |
| פרטי כניסה של OAuth 2.0 | |
| הערות להוספת הקשר | |
| איגום חיבורים | |
| סקיצות HLL | |
| מודעות מצטברת | |
| טבלאות PDT מצטברות | |
| אלפיות השנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים להשוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים של ניתוח נתונים במסד הנתונים | |
| יומנים בהתאמה אישית |