跨數據庫查詢資料 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

跨數據庫查詢資料

通過使用跨數據庫查詢,您可以跨 Amazon Redshift 集羣中的數據庫進行查詢。通過跨數據庫查詢,您可以從 Amazon Redshift 集羣中的任何數據庫中查詢數據,而不管您連接到哪個數據庫。跨數據庫查詢可消除數據副本並簡化數據組織,從而支持同一數據倉庫中的多個業務組。

使用跨資料庫查詢,您可以執行下列動作:

  • 跨 Amazon Redshift 集羣中的數據庫查詢數據

    您不僅可以從連接到的數據庫進行查詢,還可以從您擁有權限的任何其他數據庫中讀取。

    查詢任何其他未連接的數據庫上的數據庫對象時,您只具有對這些數據庫對象的讀取訪問權限。您可以使用跨數據庫查詢訪問 Amazon Redshift 集羣上任何數據庫中的數據,而無需連接到該特定數據庫。這樣做可以幫助您快速輕鬆地查詢和加入分佈在 Amazon Redshift 集羣中多個數據庫中的數據。

    您還可以在單個查詢中連接來自多個數據庫的數據集,並使用商業智能 (BI) 或分析工具分析數據。您可以使用標準的 Amazon Redshift SQL 命令繼續為用户設置精細的表或列級訪問控制。通過這樣做,您可以幫助確保用户只看到他們擁有權限的數據的相關子集。

  • 查詢物件

    您可以使用以三部分表示法表示的完全限定對象名來查詢其他數據庫對象。任何數據庫對象的完整路徑由三個組件組成:數據庫名稱、方案和對象的名稱。您可以使用完整路徑表示法從任何其他數據庫訪問任何對象,database_name.schema_name.object_name。要訪問特定列,請使用database_name.schema_name.object_name.column_name

    還可以使用外部模式表示法為另一個數據庫中的模式創建別名。此外部模式引用另一個數據庫和模式對。查詢可以使用外部模式表示法訪問其他數據庫對象,external_schema_name.object_name

    在同一隻讀查詢中,您可以查詢各種數據庫對象,如用户表、常規視圖、實例化視圖和其他數據庫的後期綁定視圖。

  • 管理許可

    對 Amazon Redshift 羣集中任何數據庫中的對象具有訪問權限的用户可以查詢這些對象。將權限授予用户和用户組使用GRANT命令。您也可以使用REVOKE命令,當用户不再需要訪問特定數據庫對象時。

  • 使用元數據和 BI 工具。

    您可以創建一個外部架構來引用同一 Amazon Redshift 集羣內另一個 Amazon Redshift 數據庫中的架構。如需相關資訊,請參閱「」。CREATE EXTERNAL SCHEMA命令。

    創建外部架構引用後,Amazon Redshift 會在SVV_EXTERNAL_TABLESSVV_EXTERNAL_COLUMNS的工具來瀏覽元數據。

    要將跨數據庫查詢與 BI 工具集成,可以使用以下系統視圖。這些功能可幫助您查看有關 Amazon Redshift 羣集上連接數據庫和其他數據庫中對象元數據元數據的信息。

    以下是顯示 Amazon Redshift 集羣中所有數據庫的所有 Amazon Redshift 對象和外部對象的系統視圖:

    以下是顯示 Amazon Redshift 集羣中所有數據庫的所有 Amazon Redshift 對象的系統視圖: