[發明專利]一種并行化SQL自動生成方法有效
| 申請號: | 202010054821.9 | 申請日: | 2020-01-17 |
| 公開(公告)號: | CN111259046B | 公開(公告)日: | 2023-02-28 |
| 發明(設計)人: | 柴磊;許靖;溫征 | 申請(專利權)人: | 深圳市魔數智擎人工智能有限公司 |
| 主分類號: | G06F16/2453 | 分類號: | G06F16/2453;G06F16/28;G06F16/2455 |
| 代理公司: | 深圳市神州聯合知識產權代理事務所(普通合伙) 44324 | 代理人: | 周松強 |
| 地址: | 518000 廣東省深圳市前海深港合作區前*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 并行 sql 自動 生成 方法 | ||
本發明是一種并行化SQL自動生成方法,該方法依據一個以上的數據表,獲取各表之間的關聯信息的關系樹,并進行廣度優先遍歷,預解析出表關系樹中每層樹狀結構的結構信息;每個輸入的數據源表均對應一個虛擬表,針對每個虛擬表對應的結構信息,生成能夠表達兩兩單表之間的關聯關系的關聯index表,所有關聯index表上均針對關聯關系字段建立索引,關聯index表廣播到不同類型的數據倉庫中實現不同庫中單表之間約束和關聯關系的傳遞,每個其它子表對應的虛擬表均可通過該關聯index表直接與主表對應的虛擬表進行關聯。通過表于表之間的依賴關系的解耦,有效的提高了執行效率,突破了數據倉庫自身限制,并在兼容主流類型數據倉庫的同時還具有簡潔易用的特點。
技術領域
本發明屬于數據處理及數據抽取技術領域,特別涉及一種并行化SQL自動生成方法。
背景技術
數據庫這種形式的數據存儲在諸多應用中已經成為必不可少的方式,常用數據庫包括Oracle、Mysql、GreenPlum、Hive等,是主流的數據集來源。對常見主流數據庫的操作基本都涉及到結構化SQL語言,SQL在執行數據抽取中由于更貼合數據庫底層的交互因此有高效性能,同時也具有簡潔、易用的特點。
數據抽取作為數據處理和為后續建模的前置數據集工作,通常需要數據人員去手動書寫大量的SQL,即便SQL已經具備了簡潔易用的特點,但是SQL書寫和糾正語法錯誤的過程還是會耗費大量的時間和精力,而且重復的工作也很難復用,同時還需要處理不同數據庫SQL語言之間的細微差異達到語法兼容的目的。
目前現有的SQL生成系統能夠實現語法生成和糾錯的內容,并能夠從語法的角度對執行效率進行優化,并通過搭建數據庫集群能在性能上提高SQL的執行速度,但是傳統的表與表的聚合還是存在表與表之間執行先后順序的依賴,因此無法做到真正的并行化,并且也無法突破數據庫對于單表列數的上限數量限制;另外,目前常規的多表數據聚合方式,僅支持同源數據庫的多表聚合,倘若要對多種類型的數據庫的表進行匯聚則需要進行數據的搬移,這種形式對于大數據量的表操作是非常費時的。
發明內容
為解決上述問題,本發明的目的在于提供一種實現表與表之間的解耦并以此來達到SQL的解耦、突破數據聚合中的最大列限制問題的一種并行化SQL自動生成方法。
本發明的另一個目的在于提供一種SQL執行效率更高、數據處理的結果準確、高效的一種并行化SQL自動生成方法。
為實現上述目的,本發明的技術方案如下。
本發明一種并行化SQL自動生成方法,其特征在于,該方法的具體步驟如下:
S1:依據一個以上的數據集的單表,并完成表與表之間樹形關系結構的配置,獲取表關系樹,所述單表包括一個主表和一個以上的子表,所述表關系樹包括上級表和下級表,上級表和下級表相對設置;
S2:在邏輯層面中每個單表對應一個虛擬表,每個虛擬表的實際物理存儲包括一個以上的單表;在邏輯層面,虛擬表的設計可以認定為突破數據庫的最大列數量限制,理論上無列數上限限制;
S3:將已配置的表關系樹進行廣度優先遍歷,預解析出表關系樹中每層樹狀結構的結構信息;
S4:生成總虛擬表中的單表對應的數據集的主ID臨時index表,所述主ID臨時index表包括主表的ID形成的ID列;此表將作為虛擬表底層單表最終結果數據行對齊的參考基準;
S5:針對每個虛擬表與其他虛擬表的關聯關系信息,生成能夠表達兩兩單表之間的關聯關系的關聯index表,所有關聯index表上均針對關聯關系字段建立索引;通過關聯index表的建立,確定了兩兩單表之間的關聯關系,上級表的約束條件通過篩選后的關聯關系字段的自上而下的進行傳遞,并對每個關聯index表與下一級虛擬表的關聯字段建立索引提高后面環節的JOIN操作速度;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市魔數智擎人工智能有限公司,未經深圳市魔數智擎人工智能有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010054821.9/2.html,轉載請聲明來源鉆瓜專利網。





