本申請涉及計算機軟件,尤其涉及一種聯合數據查詢方法和裝置。
背景技術:
1、大數據應用場景當前已經進入到算力網絡時代,數據會存儲在跨異構的各種不同數據平臺上,包括hive、gbase、oracle、mysql、…。跨異構數據的聯合數據查詢已經越來越多的在生產中使用。相關技術中有各種不同的跨異構數據聯合數據查詢的平臺及方法,但是上述實例都只關注跨異構數據的聯合數據查詢方式,不關注聯合數據查詢性能,在生產運維中存在使用難度。
技術實現思路
1、本申請實施例提供一種聯合數據查詢方法和裝置,以解決相關技術中跨異構數據聯合數據查詢只關注查詢方式,使用存在一定難度的問題。
2、第一方面,提供了一種聯合數據查詢方法,包括:
3、將待查詢的查詢語句分解成可單獨執行的單表查詢語句;
4、根據所述單表查詢語句,獲取所述單表查詢語句對應的數據庫的元數據信息;
5、根據所述元數據信息和歷史查詢信息,確定多種查詢方式的耗時時長,并根據所述耗時時長最短確定目標查詢方式。
6、第二方面,提供了一種聯合數據查詢裝置,包括:
7、分解模塊,用于將待查詢的查詢語句分解成可單獨執行的單表查詢語句;
8、獲取模塊,用于根據所述單表查詢語句,獲取所述單表查詢語句對應的數據庫的元數據信息;
9、確定模塊,用于根據所述元數據信息和歷史查詢信息,確定多種查詢方式的耗時時長,并根據所述耗時時長最短確定目標查詢方式。
10、第三方面,提供了一種終端設備,包括:存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,所述計算機程序被所述處理器執行時實現如第一方面所述的方法的步驟。
11、第四方面,提供了一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲計算機程序,所述計算機程序被處理器執行時實現如第一方面所述的方法的步驟。
12、在本申請實施例中,首先將待查詢的查詢語句分解成可單獨執行的單表查詢語句,然后根據單表查詢語句,獲取單表查詢語句對應的數據庫的元數據信息,最后根據元數據信息和歷史查詢信息,確定多種查詢方式的耗時時長,并根據耗時時長最短確定目標查詢方式。本申請實施例基于異構數據庫聯合查詢時各個數據庫的元數據信息以及歷史查詢信息,通過綜合分析確定出耗時最短的查詢方式,提高查詢效率。
1.一種聯合數據查詢方法,其特征在于,包括:
2.根據權利要求1所述的方法,其特征在于,所述將待查詢的查詢語句分解成可單獨執行的單表查詢語句,包括:
3.根據權利要求2所述的方法,其特征在于,所述根據所述單表查詢語句,獲取所述單表查詢語句對應的數據庫的元數據信息,包括:
4.根據權利要求2所述的方法,其特征在于,所述根據所述元數據信息和歷史查詢信息,確定多種查詢方式的耗時時長,并根據所述耗時時長最短確定目標查詢方式,包括:
5.根據權利要求4所述的方法,其特征在于,在所述根據所述耗時時長最短確定目標查詢方式之后,所述方法還包括:
6.一種聯合數據查詢裝置,其特征在于,包括:
7.根據權利要求6所述的裝置,其特征在于,所述分解模塊,用于:
8.根據權利要求7所述的裝置,其特征在于,所述獲取模塊,用于:
9.根據權利要求7所述的裝置,其特征在于,所述確定模塊,用于:
10.根據權利要求9所述的裝置,其特征在于,所述裝置還包括: