欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

涉及多個數據庫和執(zhí)行引擎的查詢的制作方法

文檔序號:8947464閱讀:803來源:國知局
涉及多個數據庫和執(zhí)行引擎的查詢的制作方法
【專利說明】涉及多個數據庫和執(zhí)行引擎的查詢
【背景技術】
[0001] 數據庫管理系統(DBMS)可用于存儲、管理和查詢數據。聯機事務處理(OLTP)系 統和聯機分析處理(OLAP)是DBMS被企業(yè)用于管理在操作過程中產生的加載數據以及從該 加載數據中提取數值的示例。每個系統可包括數據庫和訪問該數據庫的執(zhí)行引擎。然而, 系統就其對某些操作適用性而言是不同的。
[0002] 通常,OLTP系統用于為企業(yè)維護詳細的數據和當前數據。OLTP系統通常處理大量 同時進行但簡短的讀/寫操作的查詢。OLTP系統的主要重點是多訪問環(huán)境中的快速查詢處 理和維護數據完整性。通常用每秒的事務處理量來測量系統的效率。電信企業(yè)或銀行每天 使用OLTP系統來維護客戶賬號和處理成千上萬的事務(例如,呼叫、計費)。
[0003] 另一方面,OLAP系統通常用于為企業(yè)存儲歷史和匯總數據。OLAP系統通常適合于 大型的、長期運行的只讀操作的分析查詢。運行在OLAP系統上查詢的可能會非常復雜。通 常用響應時間(例如,執(zhí)行查詢需要多長時間)來測量系統的效率。電信企業(yè)或銀行可以 使用OLAP系統分析OLTP系統生成的數據。這樣的分析的示例包括:商業(yè)情報、客戶行為描 述和欺詐檢測。
【附圖說明】
[0004] 如下詳細描述參照附圖,其中,
[0005] 圖1示出根據本發(fā)明示例的處理涉及多個數據源的查詢的方法。
[0006] 圖2示出根據本發(fā)明示例的處理涉及多個數據源的查詢的方法。
[0007] 圖3示出根據本發(fā)明示例的處理涉及多個數據源的查詢的計算系統。
[0008] 圖4示出根據本發(fā)明示例的處理涉及多個數據源的查詢的計算機可讀介質。
【具體實施方式】
[0009] 如此處所描述的,提供使OLTP系統和OLAP系統整合的數據處理平臺。OLTP系統 和OLAP系統的差別通常是結構的,因為OLTP系統通常強調更新中數據一致性,而OLAP系 統是讀優(yōu)化的。作為示例,Vertica DBMS作為OLAP系統是基于用于讀優(yōu)化的面向列的數 據模型,而PostgreSQL DBMS作為OLTP系統是基于用于寫優(yōu)化的面向行的數據模型。結構 對工作負荷特性的影響從而導致OLTP系統和OLAP系統的不同設計。由于不同的結構,配 置OLTP系統用于處理OLAP工作負荷或反之亦然,通常會產生不符合要求的性能。因此,配 置單個執(zhí)行引擎用于處理多種類型的工作負荷和訪問多種類型的數據庫是不符合要求的。 [0010] 如果反而在數據庫層上嘗試整合,由于OLTP系統和OLAP系統管理其數據的方式 不同,會產生問題。例如,OLTP數據庫通常將最近的數據存儲在緩沖池用于高吞吐量更新, 這樣如果緩沖池內容沒有與磁盤同步(例如,通過使用fsync操作),該磁盤上的數據可能 是"廢舊的"(即,不是最新的)。結果,數據完整性可能會受到損害。最終,因為需要決定 中間件引擎的優(yōu)化決策,通過中間件在OLTP系統和OLAP系統的上方增加引擎會降低處理 速度以及會產生OLTP和OLAP系統的結構問題。然而,許多企業(yè)在他們的操作中處理OLTP 以及在他們的數據倉庫應用中處理OLAP,因此整合這兩個系統將是有益的。
[0011] 為避免引擎級、數據庫級以及中間件級整合的一些缺點,此處公開的技術實現查 詢級的整合。例如,此處公開的技術可允許OLTP引擎將OLAP查詢結果視為數據源,允許 OLAP引擎將OLTP查詢結果視為數據源,并允許將這兩個引擎產生的查詢結果合并。相應 地,使用此方法可以使用發(fā)給OLTP引擎的查詢或發(fā)給OLAP引擎的查詢來查詢存儲在OLTP 數據庫和OLAP數據中的數據。對于發(fā)給OLTP引擎的查詢,可以將OLAP引擎生成的查詢結 果視為OLTP引擎的數據源,反之亦然。
[0012] 此外,為了避免將數據從一個數據庫拷貝或實體化到另外一個數據庫的開銷(在 處理大量數據時該拷貝或實體化會特別有用),在查詢中使用功能掃描而非表掃描用于以 流上下文的方式直接從其他數據庫中提取數據。該機制可以降低生成臨時表的內存要求, 減少磁盤訪問的成本,自然而然地利用了查詢引擎流處理能力。
[0013] 如上所述,根據本發(fā)明一實施例,執(zhí)行此處所述原理的技術可以包括:發(fā)起使用存 儲在第一數據庫中的第一數據和存儲在第二數據庫中的第二數據的查詢,第一執(zhí)行引擎與 第一數據庫相關聯,第二執(zhí)行引擎與第二數據庫相關聯。該第一數據庫和第一執(zhí)行引擎可 以是OLTP系統的一部分,該第二數據庫和第二執(zhí)行引擎可以是OLAP系統的一部分。該技 術進一步包括:將該查詢的子查詢發(fā)送給第二執(zhí)行引擎用于在該第二數據庫上執(zhí)行以提取 第二數據。該技術進一步包括:在該第一執(zhí)行引擎以流逐元組的格式從第二執(zhí)行引擎接收 第二數據,并執(zhí)行剩余的查詢??梢酝ㄟ^在第一執(zhí)行引擎直接從第二執(zhí)行引擎接收該第二 數據而非在該第二數據被該第一執(zhí)行引擎接收之前將該第二數據實體化在表中,來實現在 該第一執(zhí)行引擎以流逐元組的格式從該第二執(zhí)行引擎接收該第二數據。該技術可以避免與 整合OLTP系統和OLAP系統的其他技術相關的許多缺點。下面結合附圖對其他示例、優(yōu)點、 特征、改進等進行描述。
[0014] 圖1示出根據本發(fā)明實施例的處理涉及多個數據源的查詢的方法。可以由計算設 備、系統、或計算機,例如處理系統300或計算系統400來執(zhí)行方法100。可以在計算機可讀 存儲介質中存儲用于執(zhí)行方法100的計算機可讀指令。此處,這些存儲在介質中的指令被 稱為"模塊",并且可以被計算機執(zhí)行。
[0015] 此處描述與圖3示例處理系統300示例相關的方法100。系統300可以包括一個 或多個計算機和/或被一個或多個計算機實現。例如,計算機可以為:服務器計算機、工作 站計算機、桌面計算機、筆記本電腦、移動設備等,并且可以為分布式系統的一部分。計算機 可以包括:一個或多個控制器以及一個或多個機器可讀存儲介質。
[0016] 控制器可以包括:用于執(zhí)行機器可讀指令的處理器和存儲器。處理器可以包括: 適合于提取和執(zhí)行存儲在內存中的指令的至少一個中央處理單元(CPU)、至少一個以半導 體為基礎的微處理器、至少一個數字信號處理器(DSP),例如數字圖形處理單元、其他硬件 設備或處理元件,或者其組合。處理器可以包括:位于芯片上單個或多個核、跨多個芯片的 多個核、跨多個設備的多個核,或者其組合。處理器可以提取、解碼和執(zhí)行來自于內存的指 令以執(zhí)行多種功能。作為一種替代或者除了提取和執(zhí)行指令,處理器可以包括:包括一定數 量的用于執(zhí)行各種任務或功能的電子元件的至少一個集成電路(IC),其他控制邏輯、其他 電子電路,或者其組合。
[0017] 控制器可以包括:內存,例如機器可讀存儲介質。該機器可讀存儲介質可以為: 任何包括或存儲可執(zhí)行指令的電子存儲設備、磁性存儲設備、光學存儲設備或其他物理存 儲設備。因此,該機器可讀存儲介質可以包括,例如各種隨機存取存儲器(RAM)、只讀存儲 器(ROM)、閃存,以及其組合。例如,該機器可讀介質可以包括:非易失性隨機存取存儲器 (NVRAM)、電子可擦寫可編程只讀存儲器(EEPROM)、存儲驅動器、NAND閃存等。此外,該機器 可讀存儲介質可以是計算機可讀并且是非易失性的。此外,系統200可以包括:一個或多個 與一個或多個控制器分離的機器可讀存儲介質。
[0018] 方法100可開始于110,其中,可以發(fā)起查詢。該查詢可需要用到存儲在多個數據 庫中的數據。例如,為了充分執(zhí)行,該查詢可需要用到存儲在第一數據庫320中的第一數據 和存儲在第二數據庫340中的第二數據??梢岳玫谝粓?zhí)行引擎310訪問第一數據庫320, 利用第二執(zhí)行引擎330訪問第二數據庫340。第一執(zhí)行引擎310可以包括:根據上述公開 的技術執(zhí)行查詢的查詢執(zhí)行器312。
[0019] 在一些實施例中,可以通過第一執(zhí)行引擎310訪問第二數據庫340,通過第二執(zhí)行 引擎330訪問第一數據庫320。在其他實施例中,可以通過任一種執(zhí)行引擎訪問這些數據 庫,但是這種訪問會有缺點,例如處理或內存開銷、折衷的數據完整性等。
[0020] 第一數據庫320和第二數據庫340和各自的引擎310和330可以是基于不同結構 和存儲不同數據的。例如,該第一執(zhí)行引擎310和第一數據庫320可以是OLTP系統的一部 分,而第二執(zhí)行引擎330和第二數據庫340可以是OLAP系統的一部分,反之亦然。這些系 統一起可以構成企業(yè),例如電信企業(yè)的大型DBMS的一部分。例如,OLTP數據庫(例如
當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
长武县| 新巴尔虎右旗| 临潭县| 达拉特旗| 兴国县| 徐闻县| 马边| 伊吾县| 武邑县| 福建省| 呼图壁县| 巢湖市| 清丰县| 张家港市| 泗阳县| 荣成市| 沙湾县| 荣昌县| 遂昌县| 临高县| 叶城县| 荣成市| 鄂托克前旗| 桂林市| 蒙阴县| 唐河县| 新丰县| 罗平县| 贞丰县| 红原县| 沅江市| 岱山县| 陈巴尔虎旗| 富平县| 即墨市| 凤庆县| 北海市| 隆尧县| 芒康县| 湘乡市| 合山市|