הצפנה של תנועה ברשת
מומלץ להצפין את תעבורת הנתונים ברשת בין אפליקציית 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) מול עותק לקריאה. לדוגמה, אפשר להוסיף אינדקס של מסד נתונים ל-read replica שמשמש לדיווח עסקי, בלי להוסיף את אותו אינדקס למופע מסד הנתונים המקביל של המקור.
אפשר להגדיר את 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;
שלבים ב-AWS
שלב 1
מתחברים ועוברים למרכז השליטה של AWS. בקטע Database, בוחרים באפשרות RDS.

שלב 2
במרכז הבקרה של RDS, בוחרים את מופע מסד הנתונים שרוצים לציין כמסד הנתונים הראשי. בוחרים באפשרות פעולות על מופע ואז באפשרות יצירת עותק לקריאה.

שלב 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
לוחצים על סמל זכוכית המגדלת בשורה שמכילה את קבוצת הפרמטרים של מסד הנתונים של העותק לקריאה, או בוחרים את השורה הזו ולוחצים על Edit Parameters (עריכת פרמטרים).
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 למסד הנתונים.
כדי לוודא שהחיבור בוצע בהצלחה, לוחצים על בדיקה. מידע לפתרון בעיות זמין בדף בנושא בדיקת הקישוריות למסד הנתונים.
כדי לשמור את ההגדרות האלה, לוחצים על Connect (חיבור).
פרמטרים נתמכים של JDBC
ב-Amazon RDS for MySQL, Looker תומך בפרמטרים הבאים של JDBC בשדה Additional JDBC parameters (פרמטרים נוספים של JDBC) בחיבור. מידע על הפרמטרים האלה זמין במסמכי התיעוד של מסד הנתונים.
allowMultiQueriesautocommitcharacterSetResultsclientCertificateKeyStorePasswordclientCertificateKeyStoreUrlconnectionAttributesconnectionCollationconnectionTimeZoneconnectTimeoutdefaultAuthenticationPlugindisableSslHostnameVerificationdisconnectOnExpiredPasswordsenabledSslCipherSuitesfailOverReadOnlyfallbackToSystemTrustStoreforceConnectionTimeZoneToSessioninteractiveClientlookerFailovermaxIdleTimemaxQuerySizeToLogoldModeNoPrecisionTimestamppasswordpasswordCharacterEncodingpermitMysqlSchemepinGlobalTxToPhysicalConnectionpreserveInstantsqueryInterceptorsrestrictedAuthrewriteBatchedStatementssocketTimeoutsslModetcpKeepAlivetrustCertificateKeyStorePasswordtrustCertificateKeyStoreUrluseCompressionusePipelineAuthuseruseServerPrepStmtsverifyServerCertificateyearIsDateType
תמיכה בתכונות
כדי ש-Looker יתמוך בתכונות מסוימות, הדיאלקט של מסד הנתונים שלכם צריך לתמוך בהן גם כן.
התכונות הבאות נתמכות ב-MySQL החל מ-Looker 26.10:
| תכונה | האם יש תמיכה? |
|---|---|
| Looker (Google Cloud core) | |
| צבירה סימטרית | |
| טבלאות נגזרות | |
| טבלאות נגזרות מתמידות שמבוססות על SQL | |
| טבלאות נגזרות מתמידות מבוססות LookML | |
| תצוגות יציבות | |
| ביטול שאילתה | |
| טבלאות ציר שמבוססות על SQL | |
| אזורי זמן | |
| SSL | |
| סכומי ביניים | |
| פרמטרים נוספים של JDBC | |
| תלוי אותיות רישיות | |
| סוג מיקום | |
| סוג הרשימה | |
| מאון | |
| אחוזון נפרד | |
| SQL Runner Show Processes | |
| SQL Runner Describe Table | |
| SQL Runner Show Indexes | |
| SQL Runner Select 10 | |
| מספר הפעמים שהופעל SQL Runner | |
| SQL Explain | |
| פרטי כניסה של OAuth 2.0 | |
| תגובות להוספת הקשר | |
| איגום חיבורים | |
| רישומים מסוג HLL | |
| מודעות מצטברת | |
| המרות מצטברות של PDT | |
| אלפיות שנייה | |
| מיקרו-שניות | |
| תצוגות מהותיות | |
| מדדים של השוואה בין תקופות שונות | |
| ספירה משוערת של ערכים ייחודיים | |
| מודלים אנליטיים בתוך מסד הנתונים | |
| יומנים בהתאמה אישית |