טעינת נתונים באמצעות פעולות BigQuery Omni
בתור אדמינים או אנליסטים ב-BigQuery, אתם יכולים לטעון נתונים ממאגר Amazon Simple Storage Service (Amazon S3) או מ-Azure Blob Storage אל טבלאות BigQuery. אפשר לצרף את הנתונים שהועברו לנתונים שקיימים באזוריםCloud de Confiance by S3NS או להשתמש בתכונות של BigQuery כמו BigQuery ML. אפשר גם ליצור עותקים של תצוגות חומריות ממקורות חיצוניים מסוימים כדי שהנתונים האלה יהיו זמינים ב-BigQuery.
אפשר להעביר נתונים ל-BigQuery בדרכים הבאות:
העברת נתונים מקבצים ב-Amazon S3 וב-Azure Blob Storage לטבלאות BigQuery באמצעות ההצהרה
LOAD DATA.כדי לסנן נתונים מקבצים ב-Amazon S3 או ב-Blob Storage לפני העברת התוצאות לטבלאות ב-BigQuery, משתמשים בהצהרה
CREATE TABLE AS SELECT. כדי להוסיף נתונים לטבלת היעד, משתמשים בהצהרתINSERT INTO SELECT. השינוי בנתונים מתבצע בטבלאות החיצוניות שמפנות לנתונים מ-Amazon S3 או מ-Blob Storage.יוצרים עותקים של תצוגות חומריות של נתונים חיצוניים מ-Amazon S3, Apache Iceberg או Salesforce Data Cloud במערך נתונים ב-BigQuery, כדי שהנתונים יהיו זמינים באופן מקומי ב-BigQuery.
מכסות ומגבלות
מידע על מכסות ומגבלות זמין במאמר מכסות ומגבלות של עבודות שאילתה.
לפני שמתחילים
כדי לתת ל- Cloud de Confiance by S3NS הרשאת קריאה שנדרשת לטעינה או לסינון של נתונים בעננים אחרים, צריך לבקש מהאדמין ליצור חיבור ולשתף אותו איתכם. מידע על יצירת חיבורים זמין במאמרים חיבור ל-Amazon S3 או Blob Storage.
תפקיד נדרש
כדי לקבל את ההרשאות שדרושות לטעינת נתונים באמצעות העברות BigQuery Omni, צריך לבקש מהאדמין להעניק לכם את תפקיד ה-IAM BigQuery Data Editor (roles/bigquery.dataEditor) במערך הנתונים.
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
התפקיד המוגדר מראש הזה כולל את ההרשאות שנדרשות לטעינת נתונים באמצעות העברות של BigQuery Omni. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לטעון נתונים באמצעות העברות BigQuery Omni, נדרשות ההרשאות הבאות:
-
bigquery.tables.create -
bigquery.tables.get -
bigquery.tables.updateData -
bigquery.tables.update -
bigquery.jobs.create -
bigquery.connections.use
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף על תפקידי IAM ב-BigQuery זמין במאמר תפקידים והרשאות של IAM ב-BigQuery.
תמחור
החיוב על הבייטים שמועברים בין עננים מתבצע באמצעות הדוח LOAD. מידע על התמחור זמין בקטע 'העברת נתונים ב-Omni' במאמר תמחור ב-BigQuery Omni.
החיוב על בייטים שמועברים בין עננים מתבצע באמצעות CREATE TABLE AS SELECT statement או INSERT INTO SELECT statement, וגם על קיבולת מחשוב.
הצהרות LOAD ו-CREATE TABLE AS SELECT דורשות משבצות באזורי BigQuery Omni כדי לסרוק קבצים ב-Amazon S3 וב-Blob Storage ולטעון אותם. מידע נוסף על התמחור של BigQuery Omni
במקרה של רפליקות של תצוגות חומריות של מקורות נתונים חיצוניים, העלויות יכולות לכלול גם תמחור של תצוגות חומריות.
שיטות מומלצות לשימוש באפשרויות הטעינה והסינון
- לא מומלץ להעלות כמה קבצים שגודל כל אחד מהם קטן מ-5MB. במקום זאת, אפשר ליצור טבלה חיצונית לקובץ ולייצא את תוצאת השאילתה אל Amazon S3 או אל Blob Storage כדי ליצור קובץ גדול יותר. השיטה הזו עוזרת לקצר את זמן ההעברה של הנתונים. מידע על המגבלה של תוצאת שאילתה מקסימלית זמין במאמר גודל תוצאת שאילתה מקסימלית ב-BigQuery Omni.
- אם נתוני המקור נמצאים בקובץ דחוס ב-gzip, צריך להגדיר את האפשרות
external_table_options.compressionלערךGZIPכשיוצרים טבלאות חיצוניות.
טעינת נתונים
אפשר לטעון נתונים ל-BigQuery באמצעות ההצהרה LOAD DATA [INTO|OVERWRITE].
מגבלות
- החיבור ומערך נתוני היעד צריכים להיות שייכים לאותו פרויקט. אין תמיכה בטעינת נתונים בין פרויקטים.
-
LOAD DATAנתמך רק כשמעבירים נתונים מ-Amazon Simple Storage Service (Amazon S3) או מ-Azure Blob Storage לאזור BigQuery שממוקם באותו מקום. מידע נוסף זמין במאמר מיקומים.- אפשר להעביר נתונים מכל אזור
USלאזורUSמרובה אזורים. אפשר גם להעביר מכל אזורEUלאזורEUבמספר אזורים.
- אפשר להעביר נתונים מכל אזור
דוגמה
דוגמה 1
בדוגמה הבאה, קובץ parquet בשם sample.parquet נטען מקטגוריה של Amazon S3 לטבלה test_parquet עם סכימה שזוהתה אוטומטית:
LOAD DATA INTO mydataset.testparquet FROM FILES ( uris = ['s3://test-bucket/sample.parquet'], format = 'PARQUET' ) WITH CONNECTION `aws-us-east-1.test-connection`
דוגמה 2
בדוגמה הבאה נטען קובץ CSV עם הקידומת sampled* מ-Blob Storage לטבלה test_csv עם חלוקה מראש של העמודות לפי זמן:
LOAD DATA INTO mydataset.test_csv (Number INT64, Name STRING, Time DATE) PARTITION BY Time FROM FILES ( format = 'CSV', uris = ['azure://test.blob.core.windows.net/container/sampled*'], skip_leading_rows=1 ) WITH CONNECTION `azure-eastus2.test-connection`
דוגמה 3
בדוגמה הבאה, הטבלה הקיימת test_parquet נדרסת על ידי נתונים מקובץ בשם sample.parquet עם סכימה שזוהתה אוטומטית:
LOAD DATA OVERWRITE mydataset.testparquet FROM FILES ( uris = ['s3://test-bucket/sample.parquet'], format = 'PARQUET' ) WITH CONNECTION `aws-us-east-1.test-connection`
סינון נתונים
אפשר לסנן את הנתונים לפני שמעבירים אותם ל-BigQuery באמצעות ההצהרה CREATE TABLE AS SELECT וההצהרה INSERT INTO SELECT.
מגבלות
אם התוצאה של השאילתה
SELECTחורגת מ-60GiB בבייטים לוגיים, השאילתה נכשלת. הטבלה לא נוצרת והנתונים לא מועברים. במאמר איך לצמצם את כמות הנתונים שמעובדים בשאילתות מוסבר איך לצמצם את כמות הנתונים שנסרקים.אין תמיכה בטבלאות זמניות.
אין תמיכה בהעברת נתונים בפורמט Well-known binary (WKB) של נתונים גיאוספציאליים.
הצהרת
INSERT INTO SELECTלא תומכת בהעברת נתונים לטבלה מסודרת באשכולות.בהצהרת
INSERT INTO SELECT, אם טבלת היעד זהה לטבלת המקור בשאילתתSELECT, ההצהרהINSERT INTO SELECTלא משנה שורות בטבלת היעד. טבלת היעד לא משתנה כי BigQuery לא יכול לקרוא נתונים בין אזורים.הפרמטרים
CREATE TABLE AS SELECTו-INSERT INTO SELECTנתמכים רק כשמעבירים נתונים מ-Amazon S3 או מ-Blob Storage לאזור BigQuery שנמצא באותו מיקום. מידע נוסף זמין במאמר מיקומים.- אפשר להעביר נתונים מכל אזור
USלאזורUSמרובה אזורים. אפשר גם להעביר מכל אזורEUלאזורEUבמספר אזורים.
- אפשר להעביר נתונים מכל אזור
דוגמה
דוגמה 1
נניח שיש לכם טבלת BigLake בשם myawsdataset.orders שמפנה לנתונים מ-Amazon S3.
אתם רוצים להעביר נתונים מהטבלה הזו לטבלה ב-BigQuery myotherdataset.shipments באזור מרובה-אזורים בארה"ב.
קודם כל, מציגים מידע על הטבלה myawsdataset.orders:
bq show myawsdataset.orders;
הפלט אמור להיראות כך:
Last modified Schema Type Total URIs Expiration
----------------- -------------------------- ---------- ------------ -----------
31 Oct 17:40:28 |- l_orderkey: integer EXTERNAL 1
|- l_partkey: integer
|- l_suppkey: integer
|- l_linenumber: integer
|- l_returnflag: string
|- l_linestatus: string
|- l_commitdate: date
לאחר מכן, מציגים מידע על הטבלה myotherdataset.shipments:
bq show myotherdataset.shipments
הפלט אמור להיראות כך: חלק מהעמודות מושמטות כדי לפשט את הפלט.
Last modified Schema Total Rows Total Bytes Expiration Time Partitioning Clustered Fields Total Logical
----------------- --------------------------- ------------ ------------- ------------ ------------------- ------------------ ---------------
31 Oct 17:34:31 |- l_orderkey: integer 3086653 210767042 210767042
|- l_partkey: integer
|- l_suppkey: integer
|- l_commitdate: date
|- l_shipdate: date
|- l_receiptdate: date
|- l_shipinstruct: string
|- l_shipmode: string
עכשיו, באמצעות ההצהרה CREATE TABLE AS SELECT אפשר לטעון נתונים באופן סלקטיבי לטבלה myotherdataset.orders באזור רב-אזורי בארה"ב:
CREATE OR REPLACE TABLE myotherdataset.orders PARTITION BY DATE_TRUNC(l_commitdate, YEAR) AS SELECT * FROM myawsdataset.orders WHERE EXTRACT(YEAR FROM l_commitdate) = 1992;
לאחר מכן אפשר לבצע פעולת הצטרפות עם הטבלה החדשה שנוצרה:
SELECT orders.l_orderkey, orders.l_orderkey, orders.l_suppkey, orders.l_commitdate, orders.l_returnflag, shipments.l_shipmode, shipments.l_shipinstruct FROM myotherdataset.shipments JOIN `myotherdataset.orders` as orders ON orders.l_orderkey = shipments.l_orderkey AND orders.l_partkey = shipments.l_partkey AND orders.l_suppkey = shipments.l_suppkey WHERE orders.l_returnflag = 'R'; -- 'R' means refunded.
כשנתונים חדשים זמינים, מוסיפים את הנתונים של שנת 1993 לטבלת היעד באמצעות ההצהרה INSERT INTO SELECT:
INSERT INTO myotherdataset.orders SELECT * FROM myawsdataset.orders WHERE EXTRACT(YEAR FROM l_commitdate) = 1993;
דוגמה 2
בדוגמה הבאה מוצגת הוספת נתונים לטבלה מחולקת למחיצות (Partitions) לפי זמני כתיבת הנתונים:
CREATE TABLE mydataset.orders(id String, numeric_id INT64) PARTITION BY _PARTITIONDATE;
אחרי שיוצרים טבלה מחולקת למחיצות, אפשר להוסיף נתונים לטבלה מחולקת למחיצות לפי זמני כתיבת הנתונים:
INSERT INTO mydataset.orders( _PARTITIONTIME, id, numeric_id) SELECT TIMESTAMP("2023-01-01"), id, numeric_id, FROM mydataset.ordersof23 WHERE numeric_id > 4000000;
עותקים של תצוגות מהותיות
רפליקה של תצוגה חומרית היא שכפול של נתונים חיצוניים מ-Amazon Simple Storage Service (Amazon S3), Apache Iceberg או Salesforce Data Cloud במערך נתונים ב-BigQuery, כך שהנתונים יהיו זמינים באופן מקומי ב-BigQuery. כך תוכלו להימנע מעלויות של תעבורת נתונים יוצאת (egress) ולשפר את הביצועים של השאילתות. BigQuery מאפשר ליצור תצוגות חומריות בטבלאות עם מטמון מטא-נתונים של BigLake על נתונים מ-Amazon Simple Storage Service (Amazon S3), Apache Iceberg או Salesforce Data Cloud.
עותק של תצוגה חומרית מאפשר לכם להשתמש בנתונים של תצוגה חומרית ב-Amazon S3, ב-Iceberg או ב-Data Cloud בשאילתות, תוך הימנעות מעלויות של העברת נתונים ושיפור הביצועים של השאילתות. שכפול של תצוגה חומרית עושה זאת על ידי שכפול הנתונים מ-Amazon S3, מ-Iceberg או מ-Data Cloud למערך נתונים באזור נתמך ב-BigQuery, כך שהנתונים זמינים באופן מקומי ב-BigQuery.
לפני שמתחילים
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
- כדאי לוודא שיש לכם את ההרשאות הנדרשות לניהול זהויות והרשאות גישה (IAM) כדי לבצע את המשימות שמופיעות בקטע הזה.
התפקידים הנדרשים
כדי לקבל את ההרשאות שדרושות לביצוע המשימות שמתוארות בקטע הזה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקיד ה-IAM BigQuery Admin (roles/bigquery.admin).
כדי לקרוא הסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
זהו תפקיד שמוגדר מראש וכולל את ההרשאות שנדרשות לביצוע המשימות שמופיעות בקטע הזה. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
כדי לבצע את המשימות שמתוארות בקטע הזה, צריך את ההרשאות הבאות:
-
bigquery.tables.create -
bigquery.tables.get -
bigquery.tables.getData -
bigquery.tables.replicateData -
bigquery.jobs.create
יכול להיות שתקבלו את ההרשאות האלה באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש אחרים.
מידע נוסף על IAM ב-BigQuery זמין במאמר תפקידים והרשאות של IAM ב-BigQuery.
הכנת מערך נתונים לשכפולים של תצוגות מהותיות
לפני שיוצרים עותק של תצוגה חומרית, צריך לבצע את המשימות הבאות:
- יוצרים מערך נתונים באזור שתומך ב-Amazon S3
- יוצרים טבלת מקור במערך הנתונים שיצרתם בשלב הקודם. טבלת המקור יכולה להיות אחת מהסוגים הבאים:
- טבלת BigLake ב-Amazon S3 שמופעל בה מטמון מטא-נתונים ולא נעשה בה שימוש בפורמט קובץ Iceberg.
- טבלה חיצונית של Apache Iceberg.
- טבלה ב-Data Cloud.
יצירת עותקים של תצוגות מהותיות
בוחרים באחת מהאפשרויות הבאות:
המסוף
במסוף Cloud de Confiance , עוברים לדף BigQuery.
בחלונית הימנית, לוחצים על כלי הניתוחים:

אם החלונית הימנית לא מוצגת, לוחצים על הרחבת החלונית הימנית כדי לפתוח אותה.
בחלונית Explorer, עוברים לפרויקט ולמערך הנתונים שבהם רוצים ליצור את העותק של התצוגה החומרית, ואז לוחצים על פעולות > יצירת טבלה.
בקטע מקור בתיבת הדו-שיח יצירת טבלה, מבצעים את הפעולות הבאות:
- באפשרות יצירת טבלה מ, בוחרים באפשרות טבלה או תצוגה קיימת.
- בשדה Project (פרויקט), מזינים את הפרויקט שבו נמצאים טבלת המקור או התצוגה.
- בשדה Dataset, מזינים את קבוצת הנתונים שבה נמצאת טבלת המקור או התצוגה.
- בשדה View, מזינים את טבלת המקור או התצוגה שמשכפלים. אם בוחרים תצוגה מפורטת, היא צריכה להיות תצוגה מפורטת מורשית. אם לא, כל הטבלאות שמשמשות ליצירת התצוגה המפורטת הזו צריכות להיות בערכת הנתונים של התצוגה המפורטת.
אופציונלי: בשדה Local materialized view max staleness (השהייה המקסימלית של תצוגה חומרית מקומית), מזינים ערך
max_stalenessלתצוגה החומרית המקומית.בקטע יעד בתיבת הדו-שיח יצירת טבלה, מבצעים את הפעולות הבאות:
- בשדה Project, מזינים את הפרויקט שבו רוצים ליצור את העותק של התצוגה החומרית.
- בשדה Dataset (מערך נתונים), מזינים את מערך הנתונים שבו רוצים ליצור את העותק של התצוגה החומרית.
- בשדה Replica materialized view name, מזינים שם לשכפול.
אופציונלי: מציינים תגים ואפשרויות מתקדמות עבור העותק של התצוגה החומרית. אם לא מציינים מערך נתונים עבור Local Materialized View Dataset, נוצר מערך נתונים באופן אוטומטי באותו פרויקט ואזור כמו נתוני המקור, והשם שלו הוא
bq_auto_generated_local_mv_dataset. אם לא מציינים שם לLocal Materialized View Name, נוצר שם באופן אוטומטי באותו פרויקט ואזור כמו נתוני המקור, והתוספת לשם היאbq_auto_generated_local_mv_.לוחצים על יצירת טבלה.
נוצרת תצוגה חומרית מקומית חדשה (אם היא לא צוינה) ומקבלת הרשאה במערך נתוני המקור. לאחר מכן, העותק של התצוגה החומרית נוצר במערך הנתונים של היעד.
SQL
- יוצרים תצוגה מהותית על טבלת הבסיס במערך הנתונים שיצרתם. אפשר גם ליצור את התצוגה החומרית במערך נתונים אחר שנמצא באזור Amazon S3.
- נותנים הרשאה לתצוגה החומרית במערכי הנתונים שמכילים את טבלאות המקור שמשמשות בשאילתה שיצרה את התצוגה החומרית.
- אם הגדרתם רענון ידני של מטמון המטא-נתונים עבור טבלת המקור, צריך להריץ את הפרוצדורה של המערכת
BQ.REFRESH_EXTERNAL_METADATA_CACHEכדי לרענן את מטמון המטא-נתונים. - מריצים את
BQ.REFRESH_MATERIALIZED_VIEWהפרוצדורה של המערכת כדי לרענן את התצוגה החומרית. יוצרים עותקים של תצוגות מהותיות באמצעות ההצהרה
CREATE MATERIALIZED VIEW AS REPLICA OF:CREATE MATERIALIZED VIEW PROJECT_ID.BQ_DATASET.REPLICA_NAME OPTIONS(replication_interval_seconds=REPLICATION_INTERVAL) AS REPLICA OF PROJECT_ID.S3_DATASET.MATERIALIZED_VIEW_NAME;
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: שם הפרויקט שבו רוצים ליצור את העותק של התצוגה החומרית – לדוגמה,myproject. -
BQ_DATASET: השם של מערך הנתונים ב-BigQuery שבו רוצים ליצור את העותק של התצוגה החומרית – למשל,bq_dataset. קבוצת הנתונים צריכה להיות באזור BigQuery שמופה לאזור של התצוגה המהותית של המקור. -
REPLICA_NAME: השם של העותק המשוכפל של התצוגה החומרית שרוצים ליצור, לדוגמהmy_mv_replica. -
REPLICATION_INTERVAL: מציין את תדירות השכפול של הנתונים מתצוגת המקור המגובשת אל העותק, בשניות. הערך חייב להיות בין 60 ל-3,600, כולל. ברירת המחדל היא 300 (5 דקות). -
S3_DATASET: השם של מערך הנתונים שמכיל את התצוגה החומרית של המקור, לדוגמהs3_dataset. -
MATERIALIZED_VIEW_NAME: השם של התצוגה החומרית לשכפול – לדוגמה,my_mv.
בדוגמה הבאה נוצרת רפליקה של תצוגה חומרית בשם
mv_replicaב-bq_dataset:CREATE MATERIALIZED VIEW `myproject.bq_dataset.mv_replica` OPTIONS( replication_interval_seconds=600 ) AS REPLICA OF `myproject.s3_dataset.my_s3_mv`
-
אחרי שיוצרים את העותק של התצוגה החומרית, תהליך השכפול בודק את התצוגה החומרית המקורית כדי לראות אם יש שינויים, ומשכפל את הנתונים לעותק של התצוגה החומרית. הנתונים מתעדכנים במרווח הזמן שצוין באפשרות replication_interval_seconds או max_staleness. אם תשלחו שאילתה לרפליקה לפני שהמילוי החוזר הראשון יסתיים, תקבלו שגיאה backfill in progress. אחרי שהשכפול הראשון מסתיים, אפשר להריץ שאילתות על הנתונים בעותק של התצוגה החומרית.
עדכניות הנתונים
אחרי שיוצרים את העותק של התצוגה החומרית, תהליך השכפול בודק את התצוגה החומרית המקורית כדי לראות אם יש בה שינויים, ומשכפל את הנתונים לעותק של התצוגה החומרית. הנתונים משוכפלים במרווח הזמן שצוין באפשרות replication_interval_seconds של המשפט CREATE MATERIALIZED VIEW AS REPLICA OF.
בנוסף למרווח השכפול, גם התדירות שבה תצוגת המקור החומרית מתרעננת והתדירות שבה מטמון המטא-נתונים של טבלת Amazon S3, Iceberg או Data Cloud שבה נעשה שימוש בתצוגה החומרית מתרעננים משפיעות על עדכניות הנתונים של העתק התצוגה החומרית.
כדי לבדוק את עדכניות הנתונים של העותק של התצוגה החומרית ושל המשאבים שהיא מבוססת עליהם, אפשר להשתמש במסוף Cloud de Confiance :
- כדי לראות את עדכניות העותק של התצוגה החומרית, בודקים את השדה Last modified בחלונית Details של העותק של התצוגה החומרית.
- כדי לראות את עדכניות התצוגה המגובשת של המקור, בודקים את השדה Last modified בחלונית Details של התצוגה המגובשת.
- כדי לראות את עדכניות המטמון של המטא-נתונים של טבלה במקור Amazon S3, Iceberg או Data Cloud, בודקים את השדה Max staleness בחלונית Details של התצוגה החומרית.
אזורים נתמכים של עותקים משוכפלים של תצוגות מהותיות
כשיוצרים עותקים של תצוגות חומריות, משתמשים במיפויים של המיקומים בטבלה הבאה:
| המיקום של תצוגת המקור המהותית | המיקום של העותק המשוכפל של התצוגה המהותית |
|---|---|
aws-us-east-1 |
האזור US
multi-region,
או אחד מהאזורים הבאים:
|
aws-us-west-2 |
האזור US
multi-region,
או אחד מהאזורים הבאים:
|
aws-eu-west-1 |
האזור EU
multi-region,
או אחד מהאזורים הבאים:
|
aws-ap-northeast-2 |
באחד מהאזורים הבאים:
|
aws-ap-southeast-2 |
באחד מהאזורים הבאים:
|
מגבלות של עותקים משוכפלים של תצוגות מהותיות
- אי אפשר ליצור עותקים של תצוגות חומריות לתצוגות חומריות שמבוססות על טבלאות שמשתמשות באבטחה ברמת השורה או באבטחה ברמת העמודה.
- אי אפשר להשתמש במפתחות הצפנה בניהול הלקוח (CMEK) עם תצוגה חומרית של מקור או עם העתק של תצוגה חומרית.
- אפשר ליצור עותקים של תצוגות מהותיות רק לתצוגות מהותיות שמבוססות על טבלאות שמשתמשות בשמירת מטא-נתונים במטמון.
- אפשר ליצור רק עותק אחד של תצוגה מהותית עבור תצוגה מהותית נתונה של מקור.
- אפשר ליצור עותקים של תצוגות מהותיות רק עבור תצוגות מהותיות מורשות.
תמחור של עותקים של תצוגות מהותיות
השימוש בעותקים של תצוגות חומריות כרוך בעלויות של מחשוב, העברת נתונים יוצאים ואחסון.