NineData DSQL 是針對多個同異構資料庫系統進行跨庫查詢的功能,當前支持對錶和視圖進行 SELECT 操作。您可以在一個查詢中訪問多個資料庫,獲取分散在各個資料庫中的有用信息,並且將這些信息聚合為一份查詢結果返回,輕鬆實現跨多個庫、多個數據源,乃至跨多個異構數據源的數據查詢。 ...
隨著企業數據量呈現出爆炸式增長,跨部門、跨應用、跨平臺的數據交互需求越來越頻繁,傳統的數據查詢方式已經難以滿足這些需求。同時,不同資料庫系統之間的數據格式、查詢語言等都存在差異,直接進行跨庫查詢十分困難。
原生跨庫查詢的局限性
雖然 MySQL、Oracle、PostgreSQL 等資料庫系統都提供了自身的跨庫查詢功能,但是存在諸多局限性:
- 資料庫類型限制:MySQL 的 Federated、Oracle 的 Database Links 功能均要求目標資料庫也必須是相同類型的資料庫,這限制了跨庫查詢功能的適用範圍,不適用於異構資料庫的跨庫查詢。
- 額外性能損耗:自帶的跨庫查詢功能可能會有 JOIN 操作帶來的額外性能損耗,特別是在大規模數據查詢或數據傳輸時,會增加系統負擔,影響其他查詢的效率。
這些局限性意味著資料庫系統自帶的跨庫查詢功能可能無法滿足複雜多樣的數據分析需求,特別是在異構資料庫、大規模數據查詢、有高性能高安全性方面需求等場景。
為解決這些問題,NineData DSQL 應運而生。
什麼是 NineData DSQL ?
NineData DSQL 是針對多個同異構資料庫系統進行跨庫查詢的功能,當前支持對錶和視圖進行 SELECT 操作。您可以在一個查詢中訪問多個資料庫,獲取分散在各個資料庫中的有用信息,並且將這些信息聚合為一份查詢結果返回,輕鬆實現跨多個庫、多個數據源,乃至跨多個異構數據源的數據查詢。
NineData DSQL 具有如下特性:
- 連接多個資料庫系統:支持連接多個資料庫系統,並確保這些資料庫系統之間的相容性。這些資料庫系統可以來自不同的廠商或平臺,且數據格式、存儲方式、查詢語言等可以存在差異。
- 統一的查詢語法:DSQL 提供了統一的查詢語法,您僅需使用一種語法即可跨多個異構或同構資料庫進行查詢,系統會自動將該語法解析並轉換成不同類型數據源的查詢語法進行下發查詢。
- 結果整合和輸出:整合同異構資料庫系統的查詢結果,並統一輸出格式,方便您獲取所需信息。您無需關心數據存儲在哪個資料庫中,只需通過一個查詢就可以獲得所需的結果。
- 數據隱私和安全保護:基於 NineData 的許可權管控功能,支持對敏感數據進行脫敏處理、對訪問許可權進行控制等,保護數據的隱私和安全,防止數據泄露和非法訪問。
- 圖形化界面支持:提供一目瞭然的圖形化界面,方便您進行可視化的查詢和管理,提高您的工作效率。
易於記憶的 DSQL 查詢語法
在 DSQL 中,無論是執行聯表(視圖)查詢還是單表(視圖)查詢,指定來源數據源時都需要採用三段式語法,即<DBLINK 名稱>.<庫名|Schema 名>.<表名(視圖名)>。
示例 1:跨異構源查詢,從 DBLINK1(MySQL) 和 DBLINK2(Oracle) 中查詢數據。
SELECT * FROM DBLINK1.database_name.table_name a, DBLINK2.schema_name.table_name b WHERE a.id=b.id;
示例 2:單表(視圖)查詢,從 DBLINK1 中查詢數據。
SELECT * FROM DBLINK1.database.table_name WHERE id=1;
如果您的庫名或表(視圖)名以數字開頭,或使用了預留欄位,則需要使用雙引號("")包裹該名稱,否則查詢失敗。例如:
SELECT * FROM dblink_mysql_3451."9zdbtest3".sbtest1;
什麼情況下需要使用 DSQL?
- 企業級數據整合:企業經常需要從多個部門或系統中整合數據,以提供更全面的視角。通過 DSQL ,企業可以在一個查詢中訪問多個資料庫,獲取分散在各個資料庫中的有用信息,然後將其整合在一起,方便數據分析和決策。
- 數據挖掘與分析:數據挖掘和分析需要大量的數據支持。通過 DSQL ,您可以在多個資料庫中檢索需要的數據,然後使用挖掘和分析工具對數據進行深入的研究和分析。
- 數據倉庫:數據倉庫是用於存儲和管理大量數據的系統。通過 DSQL ,您無需搭建數據倉庫,即可實現數據倉庫的功能。
操作示例
5.1 查看需要查詢的庫表列信息
您可以在左側導航欄查看需要查詢的 DBLink 名、庫名|Schema 名、表名、視圖名、列名等信息,無需摸黑操作。
查看需要查詢的庫表列信息
5.2 編寫跨庫查詢語句並執行
通過簡單的查詢 SQL 即可對多個同、異構數據源進行查詢,支持對查詢結果中的敏感欄位進行脫敏。
編寫跨庫查詢語句並執行
5.3 整合多表查詢結果並導出
執行跨庫查詢後,系統會整合查詢結果到一張表中,您可以對結果集執行導出操作。同時,還支持對結果集進行搜索。
整合多表查詢結果並導出
5.4 收藏常用 DBLink
如果 DBLink 很多,您可以收藏常用的幾個 DBLink,方便查找。
綜上所述,NineData DSQL 提供了全局視角審視您的數據,在減少了數據處理的複雜性的同時,提高了數據利用率,為企業提供了更靈活、高效和安全的方式來處理數據,可促進數據驅動的決策和業務發展,助力企業降本增效。