數據源分析的制作方法
【專利摘要】提供用于提供數據源分析的系統(tǒng)及方法。合并非結構化數據源的查詢的結果和結構化數據源的查詢的結果。被合并的結果存儲在位于分析組件本地的內存數據庫處。運行分析組件,以從內存數據庫中訪問被合并的結果并且提供與結構化數據源的內容和非結構化數據源的內容對應的輸出。
【專利說明】數據源分析
【技術領域】
[0001]本發(fā)明涉及信息處理,并且更具體地涉及分析。
【背景技術】
[0002]分析是統(tǒng)計和數學建模的應用,以生成關于歷史數據的報告或對現(xiàn)有數據進行建模來預測未來。分析橫跨計算機科學學科、統(tǒng)計學學科以及數學學科。
【專利附圖】
【附圖說明】
[0003]圖1圖示用于對組織中的數據源提供分析的示例方法。
[0004]圖2圖示用于提供分析的系統(tǒng)的一個示例。
[0005]圖3圖示用于提供分析的系統(tǒng)的另一示例。
[0006]圖4圖示用于對組織中的數據源提供分析的示例方法。
[0007]圖5圖示能夠用于實現(xiàn)圖1-圖4中圖示的系統(tǒng)及方法的計算機系統(tǒng)的示例。
[0008]圖6圖示能夠與圖1-圖4中圖示的系統(tǒng)和方法結合使用的集群化計算機系統(tǒng)的示例。
【具體實施方式】
[0009]企業(yè)中的信息管理是研究中的新趨勢,以通過非結構化數據的添加值使該企業(yè)中的結構化數據的值充實。在本發(fā)明中,我們提出一種用于對企業(yè)中的結構化數據和非結構化數據執(zhí)行實時分析的模型。在以下描述中,將關系數據庫系統(tǒng)(RDBMS)中的結構化查詢語言(SQL)數據描述為結構化數據,并且術語“非結構化數據”意在擴展至未根據與結構化數據源關聯(lián)的組織規(guī)劃(schema)被結構化的任何數據,并且應當被解讀為包括傳統(tǒng)的非結構化數據以及半結構化數據。將理解,全文描述應當被解讀為包括性的,因此,對特定元素的記載應當被解讀為包括包含該元素之一或不止該元素之一的實現(xiàn)。通常,能夠將本文描述的系統(tǒng)表現(xiàn)為多個功能組件,能夠將每個功能組件實現(xiàn)為被配置為執(zhí)行其關聯(lián)功能的硬件和編程的任何合適組合。在所圖示的示例中,將每個功能組件描述為存儲在非瞬態(tài)計算機可讀介質上且由關聯(lián)處理器運行的軟件模塊,但是將理解,能夠使用功能組件的其它實現(xiàn),例如作為專用硬件或硬件和機器可讀指令的結合。
[0010]圖1圖示用于對組織中的數據源提供實時分析的示例方法10。在12處,生成結構化數據源的查詢。例如,在分析函數的運行期間能夠生成查詢,以從關聯(lián)的企業(yè)數據倉庫中檢索相關數據。在14處,響應于結構化數據源的查詢,在聯(lián)邦(federation)組件處生成非結構化數據源的查詢。在一個示例中,聯(lián)邦組件能夠包括位于分析函數本地的統(tǒng)一信息訪問層,該統(tǒng)一信息訪問層直接從分析函數接收查詢。在另一示例中,聯(lián)邦組件能夠包括位于結構化數據源處的表值用戶定義函數,并且生成非結構化數據源的查詢包括調用表值用戶定義函數作為結構化數據源的查詢的一部分。在該示例中,表值用戶定義函數能夠將非結構化數據源的查詢的結果映射到虛擬SQL表,以促進將結果返回至分析函數。為進一步簡化結果的處理,對表值用戶定義函數的調用能夠包括與結構化數據源的查詢關聯(lián)的任何謂詞(predicate),使得非結構化數據源的查詢包括該謂詞,并且由該謂詞限制所返回的數據。
[0011]在16處,合并非結構化數據源的查詢的結果和結構化數據源的查詢的結果。在一個示例中,統(tǒng)一信息訪問層能夠簡單地將非結構化數據源的查詢的結果和結構化數據源的查詢的結果合并到單個SQL查詢內,以提供至分析函數。在另一示例中,在將這些結果返回至分析函數以前,能夠在結構化數據源處經由SQL連接操作將代表結構化數據的查詢的結果的SQL表聯(lián)接至包含非結構化數據源的查詢的結果的虛擬SQL表。
[0012]在18處,將所合并的結果存儲在對于分析函數本地的內存數據庫中。該內存數據庫維持被標識為與由分析函數執(zhí)行的分析相關的數據,該數據包括歷史數據、結構化數據的增量更新以及從上面描述的聯(lián)邦組件中提供的實時數據。在20處,運行分析函數,以根據存儲在內存數據庫中的數據提供代表結構化數據源的內容和非結構化數據源的內容的實時分析輸出。在22處,將該實時分析輸出顯示給用戶。
[0013]圖2圖示用于提供實時分析的系統(tǒng)30的一個示例。系統(tǒng)30包括與包括結構化數據源32和非結構化數據源34的一組數據源互連的計算機系統(tǒng)31。計算機系統(tǒng)31包括處理器36以及存儲器模塊38,并且能夠經由通信接口 39連接至結構化數據源32和非結構化數據源34。將理解,存儲器38能夠是可移除的存儲器,能夠通過諸如光學驅動器、USB端口或其它適合接口之類的合適的端口或驅動器連接至處理器36以及通信接口 39。存儲器38能夠遠離處理器36,此時存儲在該存儲器上的機器可讀指令經由通信鏈接提供至處理器。通信接口 36能夠包括任何合適的硬件,以與企業(yè)中不同的數據源32和34通信。進一步,將理解,被描述作為計算機系統(tǒng)的不局限于單個計算機系統(tǒng),而是為可擴展目的還能夠包括集群化系統(tǒng)。下面提供這樣的系統(tǒng)的示例作為圖7。
[0014]存儲器34存儲虛擬緩存(VC)組件42,虛擬緩存組件42包括內存數據庫(MDB)44以及統(tǒng)一信息訪問層(UIAL) 46。將分析軟件組件48配置為在虛擬緩存42之上運行。UIAL46是軟件組件,其提供對企業(yè)中的全部數據源的統(tǒng)一接口,使得結構化數據和非結構化數據之間的區(qū)別在分析組件48處不明顯。分析組件48對VC42的WAL組件46發(fā)出查詢并且從企業(yè)中的不同的數據源32和34接收呈結構化格式的且存儲在MDB44中的應答。分析組件48使用來自虛擬緩存42的數據,以提供來自不同數據源的相關內容的報告或創(chuàng)建數學模型來基于過去的或當前的數據預測未來行為。將理解,本文使用的術語“內存數據庫-MDB”既能夠包括真實的內存數據庫(MDB)又能夠包括大型集群化緩存,例如Hadoop集群。MDB44維持(I)被標識為與在分析組件48處執(zhí)行的分析相關的來自組織中各數據源的歷史數據以及(2)來自各個源的動態(tài)數據的不頻繁增量更新,以及最終(3)響應于由分析組件48發(fā)出的任何查詢由WAL46提供的任何相關實時數據。
[0015]此架構與傳統(tǒng)提取工具(例如對RDBMS的提取、轉換和加載(ETL))的顯著不同之處在于:用傳統(tǒng)ETL方法,我們從企業(yè)中的不同數據源提取呈增量(delta)形式的更新數據(包括數據倉庫中的那些數據),并且將更新數據傳送至目的地(MDB),并且這使得利用與手邊的分析函數可能相關或可能不相關的企業(yè)中不同數據源的全部改變實時更新MDB變得困難。作為替代,在圖示的系統(tǒng)中,更新來自不同數據源的增量,但這不頻繁發(fā)生。作為替代,經要求,從上次增量更新起對不同數據源發(fā)出SQL查詢和搜索查詢,以僅將相關數據實時返回給分析查詢。此方法在將相關數據實時地使輸送至分析組件48時具有更好機會。
[0016]在所圖示的系統(tǒng)30中,MDB44起到對分析組件48的本地緩存的作用,聚集來自組織中的全部數據源的相關數據。MDB44被實現(xiàn)為具有將表充溢到磁盤上以及定期(例如每數分鐘)從相關數據源獲取增量數據的能力。IMDB能夠支持SQL OLAP窗能力以及表值用戶定義函數(TVUDF)和SQL OLAP窗之間的緊密集成,以使用分析組件48。
[0017]由HAL46對來自分析組件的實時查詢進行服務,UIAL46搜集相關數據給來自企業(yè)數據源的分析查詢。WAL46擔當聯(lián)邦引擎,以查詢結構化數據源32和非結構化數據源34并且向MDB提供呈SQL表形式的結果作為單個查詢響應,以供分析組件48使用。例如,UIAL層46能夠為結構化數據源32和非結構化數據源34構造反向索引,或對非結構化數據源使用反向索引并且對結構化數據源使用Java數據庫連接(JDBC)且對被返回的結果集建立反向索引。在實踐中,分析組件48基于用戶查詢生成合適的查詢,并且指示WAL46對由UIAL維持的反向索引運行該合適的查詢。接著,UIAL46將結構化數據源和非結構化數據源的查詢的結果返回至MDB44,并且分析組件48基于MDB44中的數據執(zhí)行多維分析。
[0018]虛擬緩存42允許在對分析組件48透明的公共接口下將相關數據聚集在一起。進一步,由WAL46執(zhí)行的聯(lián)邦允許考慮實時數據。通常,白天正在進行的企業(yè)中全部數據源中結構化數據源32的頻繁更新(例如可以在數據倉庫中發(fā)現(xiàn)的)能夠大大影響數據倉庫對查詢處理的性能,這是數據倉庫的主要用途。相應地如今,數據倉庫夜間更新,此時使用較少,但是這樣更新的結果是數據源32中的信息在更新期間變得越來越過時。通過對位于WAL46本地的數據進行聯(lián)邦,能夠向MDB44提供實時數據,以供分析組件48進行分析。相應地,虛擬緩存42提供可擴展的方法,以通過維持相關數據在MDB44中的本地存儲以及通過憑借由UIAL46提供的統(tǒng)一接口提供直接來自結構化數據源和非結構化數據源的新數據,允許分析組件48對實時數據進行操作。對實時數據的訪問能夠提供在分析組件48處做出的預測的精度方面的顯著增加。
[0019]圖3圖示用于提供實時分析的系統(tǒng)50的另一示例。系統(tǒng)50包括計算機系統(tǒng)51,計算機系統(tǒng)51包括處理器52及存儲器54。計算機系統(tǒng)51進一步包括分析組件56,將分析組件56配置為從存儲在虛擬緩存60中的數據中產生分析輸出。分析組件56能夠包括硬件或軟件組件,該硬件或軟件組件執(zhí)行對存儲在虛擬緩存60中的數據的分析,以提供人類操作者可理解的輸出。在一個示例中,將分析組件56實現(xiàn)為存儲器54上的軟件程序。虛擬緩存60包括內存數據庫(MDB) 62,內存數據庫(MDB) 62擔當用于分析組件56的本地緩存,并且統(tǒng)一接口訪問層64是向企業(yè)中的全部數據源提供統(tǒng)一接口的軟件組件,使得結構化數據和非結構化數據之間的差異在分析組件56處不明顯。
[0020]計算機系統(tǒng)51使用通信接口 66來與第二計算機系統(tǒng)67通信,通信接口 66能夠包括任何合適的硬件,第二計算機系統(tǒng)67包括處理器68及存儲器69。第二計算機系統(tǒng)67的存儲器69存儲數據倉庫70,數據倉庫70包括數據表72和數據庫引擎74,數據表72存儲與分析組件56相關的數據,將數據庫引擎74配置為提供代表對SQL查詢有響應的數據的SQL表。數據倉庫70可操作地與多個與企業(yè)相關的數據源連接,該與企業(yè)相關的數據源在本文被稱為非結構化數據源80。如本文所用的,術語“非結構化數據”旨在擴展至未根據與結構化數據源關聯(lián)的組織計劃而被結構化的任何數據,并且應被解讀為既包括傳統(tǒng)的非結構化數據還包括半結構化數據。例如,非結構化數據源能夠包括客戶關系管理(CRM)組件82、文檔藏庫84以及經由例如互聯(lián)網連接的實時饋給86,客戶關系管理組件82包含來自客戶的未分類反饋,文檔藏庫84包含原始文本文檔。進一步,將理解,被描述為計算機系統(tǒng)的不局限于單個計算機系統(tǒng),而是為了擴展目的還能夠包括集群化系統(tǒng)。
[0021]在圖3中,假設與分析相關的數據中絕大多數將位于結構化數據源中,如在數據倉庫中的數據表72中。相應地,所圖示的系統(tǒng)50執(zhí)行數據倉庫70中的聯(lián)邦,并且數據倉庫返回呈結構化格式的代表期望結果的表。為此,該系統(tǒng)允許在數據庫倉庫70中執(zhí)行來自結構化數據源(例如72)和非結構化數據源60的數據的集成(例如聯(lián)邦),特別地利用表值用戶定義函數(TVUDF)92執(zhí)行的集成。如在此使用的,表值用戶定義函數92是存儲在數據倉庫處的用戶定義函數,當調用該用戶定義函數作為數據倉庫的查詢的一部分時,該用戶定義函數以表的形式提供與查詢相關的輸出。
[0022]在操作期間,UIAL64間接喚起TVUDF92,傳遞足夠信息來使TVUDF能夠喚起對非結構化數據源80的遠程聯(lián)邦化查詢。TVUDF92在數據倉庫70中被喚起,接著其遠程地喚起網絡服務請求,該網絡服務請求執(zhí)行對非結構化數據源80的聯(lián)邦查詢。TVUDF92將來自非結構化數據源80的返回結果映射到虛擬表中并且指示數據庫引擎74將虛擬表與代表來自數據表72的相關數據的表聯(lián)接,這生成新的虛擬表,將該新的虛擬表返回至WAL64去存儲在IMDB62中。TVUDF92提供來自非結構化數據源80的查詢結果作為虛擬表,由于其成為SQL聯(lián)接操作,這允許數據倉庫70有效地執(zhí)行結構化數據和非結構化數據的查詢之間的聯(lián)邦。
[0023]在所圖示的系統(tǒng)50中,分析組件56生成具有對TVUDF92的嵌入調用的傳統(tǒng)SQL查詢。在所圖示的示例中,TVUDF92能夠查詢多個非結構化數據源,并且對TVUDF92的調用包括對非結構化數據源80的查詢,TVUDF充當數據倉庫70中的數據表72和非結構化數據源80之間的聯(lián)邦引擎94。被返回的虛擬表成為原始SQL查詢的一部分且得到運行,這有效地將來自非結構化數據源的虛擬表與來自數據倉庫70中的數據表72的相關表聯(lián)接。將所聯(lián)接的結果提供至分析組件56作為單個SQL表,以保存在與分析組件56關聯(lián)的虛擬緩存60內的IMDB62中。
[0024]在一個示例中,將SQL編譯器96配置為對由分析組件56提供的SQL查詢進行格式編排,以在數據表上的運行。在所圖示的系統(tǒng)中,將SQL編譯器配置為在運行時將SQL查詢中的任何謂詞傳遞至TVUDF函數92。TVUDF92僅將相關謂詞補充給對非結構化聯(lián)邦引擎94的搜索查詢。然后,這優(yōu)化通過網絡從非結構化聯(lián)邦引擎94返回給數據倉庫70的數據量。換句話說,SQL編譯器96向TVUDF92傳遞的謂詞將限制向表值UDF返回的無關數據。
[0025]因此,所圖示的系統(tǒng)50向分析組件56提供實時數據,同時提供多個優(yōu)勢。該系統(tǒng)簡化結構化數據和非結構化數據在特定查詢中的集成,并且對UIAL64隱藏復雜性,并且在聯(lián)接結構化數據以前消除來自非結構化數據源80的不相關數據。最終,系統(tǒng)50利用數據倉庫70處的現(xiàn)有SQL聯(lián)接能力來將SQL數據類型返回至MDB62,這放置適當形式的數據來供在分析組件56處使用。
[0026]鑒于上面在圖3中描述的前述結構特征和功能特征,將對照圖4更好地理解示例方法。雖然為簡化解釋目的,將圖4的方法示出和描述為順序地執(zhí)行,但是要理解和領會,本發(fā)明不受所圖示的順序限制,因為一些動作可能在其它示例中以不同的順序發(fā)生和/或與本文示出和描述的順序同時發(fā)生。
[0027]圖4圖示用于對企業(yè)內的數據源提供實時分析的示例方法100。在102處,分析組件構造對結構化數據源的SQL查詢,該SQL查詢在該SQL查詢中嵌有特殊的表值用戶定義函數(TVUDF)來處理非結構化數據。在104處,TVUDF生成對非結構化聯(lián)邦引擎的查詢,該非結構化聯(lián)邦引擎接著發(fā)出網絡服務請求。該聯(lián)邦引擎發(fā)出網絡服務請求作為對代表各種非結構化數據源的反向索引的查詢,并且將結果返回至TVUDF作為流。為進一步簡化來自非結構化數據源的結果的處理,上面討論的網絡服務請求能夠包括來自SQL查詢的任何相關謂詞,因此非結構化聯(lián)邦引擎在通過網絡將被返回的數據發(fā)送回至TVUDF以前會過濾被返回的數據。
[0028]在106處,TVUDF將被返回的流映射到虛擬表中。TVUDF指示與結構化數據源關聯(lián)的引擎運行相關結構化表和代表來自非結構化數據源的結果的虛擬表之間的JOIN操作。將SQL查詢結果(一種表)返回至統(tǒng)一信息訪問層(UIAL)組件。在108處,UIAL組件將被返回的查詢結果存儲到內存數據庫(MDB)中。該內存數據庫維持歷史數據、不頻繁的增量更新以及從聯(lián)邦的結構化數據源和非結構化數據源返回的在IMDB中的任何實時數據。在110處,分析組件處理MDB組件中的相關數據以提供輸出。該輸出能夠例如包括向用戶顯示由分析組件執(zhí)行的分析函數的結果。
[0029]圖5是圖示能夠實現(xiàn)圖1至圖4中公開的本發(fā)明示例的由硬件組件組成的示例性系統(tǒng)200 (如圖2和圖3中圖示的實時分析系統(tǒng))的示意性框圖。系統(tǒng)200能夠包括各種系統(tǒng)和子系統(tǒng)。系統(tǒng)200能夠是個人計算機、膝上型計算機、工作站、計算機系統(tǒng)、儀器、專用集成電路(ASIC)、服務器、刀片式服務器中心、服務器群等等。
[0030]系統(tǒng)200能夠包括系統(tǒng)總線202、處理單元204、系統(tǒng)存儲器206、存儲器設備208和210、通信接口 212 (例如網絡接口)、通信鏈接214、顯示器216 (例如顯示屏)以及輸入設備218 (例如鍵盤和/或鼠標)。系統(tǒng)總線202能夠與處理單元204和系統(tǒng)存儲器206通信。附加存儲器設備208和210,如硬盤驅動器、服務器、獨立數據庫或其它非易失性存儲器,也能夠與系統(tǒng)總線202通信。系統(tǒng)總線202與處理單元204,存儲器設備206-210、通信接口 212、顯示器216以及輸入設備218互連。在一些示例中,系統(tǒng)總線202還與附加端口(未示出)互連,如與通用串行總線(USB)端口互連。
[0031]處理單元204能夠是計算設備且能夠包括專用集成電路(ASIC)。處理單元204運行一組指令,以實現(xiàn)本文公開的示例的操作。處理單元能夠包括處理核。
[0032]附加存儲器設備206、208和210能夠存儲呈文本形式或呈編譯形式的數據、程序、指令、數據庫查詢以及操作計算機可能需要的任何其它信息。能夠將存儲器206、208及210實現(xiàn)為(集成的或可移除的)計算機可讀介質,如存儲卡、磁盤驅動器、光盤(CD)或可通過網絡訪問的服務器。在特定示例中,存儲器206、208和210能夠包括文本、圖像、視頻和/或音頻,文本、圖像、視頻和/或音頻的各部分能夠用于不同人。
[0033]另外,存儲器設備208和210能夠擔當數據庫或數據存儲,如圖2及圖3中圖示的內存數據庫46和62。另外或可替代地,系統(tǒng)200能夠通過通信接口 212訪問外部數據源或查詢源,通信接口 212能夠與系統(tǒng)總線202及通信鏈接214通信。
[0034]在操作中,系統(tǒng)200能夠用于實現(xiàn)實時分析系統(tǒng),該實時分析系統(tǒng)在結構化數據源和非結構化數據源的查詢基礎上產生報告。能夠根據包括SQL在內的各種查詢數據庫協(xié)議對查詢進行格式編排。根據特定示例,用于實現(xiàn)實時分析系統(tǒng)的計算機可運行邏輯駐留在系統(tǒng)存儲器206及存儲器設備208和210中的一個或多個上。處理單元204運行源于系統(tǒng)存儲器206及存儲器設備208和210的一個或多個計算機可運行指令。如本文使用的術語“計算機可讀介質”指參與向處理單元204提供用于運行的指令的介質。
[0035]圖6是圖示具有集群化的可擴展硬件組件的示例性系統(tǒng)300的示意框圖。系統(tǒng)300包括通過快速網絡310互連的多個集群化硬件組件301-303,多個集群化硬件組件301-303允許在這些節(jié)點上運行的軟件組件的合作,以用于實現(xiàn)可擴展的虛擬緩存和該虛擬緩存上的有效分析組件。在一個實現(xiàn)中,每個節(jié)點301-303能夠包括與圖5中圖示的計算機系統(tǒng)類似的計算機系統(tǒng)。
[0036]上面已描述的是本發(fā)明的示例。當然,不可能為描述本發(fā)明而描述組件和方法的每個可想得到的組合,但是本領域技術人員將認識到本發(fā)明的許多進一步組合和置換是可能的。相應地,本發(fā)明旨在包含落入所附權利要求范圍內的所有這樣的改變、修改及變化。
【權利要求】
1.一種用于提供數據源分析的方法,包括: 合并非結構化數據源的查詢的結果和結構化數據源的查詢的結果; 將被合并的結果存儲在內存數據庫處,所述內存數據庫位于分析組件本地;以及 運行所述分析組件,以從所述內存數據庫中訪問被合并的結果并且提供與所述結構化數據源的內容和所述非結構化數據源的內容對應的輸出。
2.根據權利要求1所述的方法,其中合并結果包括在包括表值用戶定義函數(TVUDF)的聯(lián)邦組件處合并結果,并且生成所述非結構化數據源的查詢包括調用所述TVUDF作為所述結構化數據源的查詢的一部分。
3.根據權利要求2所述的方法,進一步包括將與所述結構化數據源的查詢關聯(lián)的謂詞傳遞至所述TVUDF,使得所述非結構化數據源的查詢包括所述謂詞,以限制由所述非結構化數據源的查詢返回的一組結果。
4.根據權利要求2所述的方法,進一步包括將所述非結構化數據源的查詢的結果映射到虛擬SQL表。
5.根據權利要求4所述的方法,其中合并所述非結構化數據源的查詢的結果和所述結構化數據源的查詢的結果包括將所述虛擬SQL表與所述結構化數據源的查詢的結果聯(lián)接,以產生既代表所述結構化數據源又代表所述非結構化數據源的SQL表,使得結果的合并對所述分析組件透明地發(fā)生。
6.根據權利要求1所述的方法,其中合并包括在包括統(tǒng)一信息訪問層(UIAL)的聯(lián)邦組件處合并結果,所述統(tǒng)一信息訪問層(UIAL)位于所述內存數據庫和所述分析組件本地。
7.一種存儲可運行指令的非瞬態(tài)計算機可讀介質,包括: 虛擬緩存,包括統(tǒng)一信息訪問層(UIAL)以及內存數據庫,所述統(tǒng)一信息訪問層(UIAL)響應于分析請求而查詢結構化數據源和非結構化數據源,所述內存數據庫存儲從所述WAL返回的數據;以及 分析組件,向所述UIAL提供所述分析請求并且根據存儲在所述內存數據庫中的所述數據生成代表所述結構化數據源的內容和所述非結構化數據源的內容的分析輸出。
8.根據權利要求7所述的非瞬態(tài)計算機可讀介質,所述WAL包括代表所述結構化數據源和所述非結構化數據源中每個數據源的反向索引,并且所述WAL對由所述WAL管理的所述反向索引運行所述分析請求。
9.根據權利要求7所述的非瞬態(tài)計算機可讀介質,所述內存數據庫存儲來自所述結構化數據源的歷史數據、來自所述結構化數據源的動態(tài)數據的增量更新以及由所述統(tǒng)一信息訪問層從所述非結構化數據源中提供的實時數據。
10.一種分析系統(tǒng),包括: 非瞬態(tài)計算機可讀介質以及處理器,所述非易瞬態(tài)計算機可讀介質存儲機器可讀指令,所述處理器運行所述機器可讀指令以提供數據倉庫,所述數據倉庫包括: 數據表,存儲與分析過程相關的數據; 數據庫引擎,提供代表對SQL查詢有響應的數據的SQL表;以及 表值用戶定義函數(TVUDF),響應于所述SQL查詢對非結構化數據源進行查詢,并且將所述非結構化數據源的查詢的結果映射至虛擬SQL表,所述TVUDF生成所述虛擬SQL表。
11.根據權利要求10所述的系統(tǒng),所述TVUDF指示所述數據庫引擎將所述虛擬SQL表與所述SQL表聯(lián)接并將生成的新SQL表返回至分析組件。
12.根據權利要求10所述的系統(tǒng),進一步包括UIAL,所述WAL利用對嵌入在所述SQL查詢中的所述TVUDF的調用喚起對所述數據倉庫的所述SQL查詢,所述SQL查詢包括與用于所述虛擬表的期望規(guī)劃對應的TVUDF參數。
13.根據權利要求12所述的系統(tǒng),所述數據倉庫進一步包括SQL編譯器,所述SQL編譯器在調用所述TVUDF時將所述SQL查詢中待被包含作為網絡服務調用一部分的任何相關謂詞從所述TVUDF傳遞至非結構化聯(lián)邦引擎。
14.根據權利要求12所述的系統(tǒng),所述TVUDF參數包括與所述虛擬表關聯(lián)的屬性名稱。
15.根據權利要求14所述的系統(tǒng),所述TVUDF參數包括與用于所述虛擬表的所述屬性名稱關聯(lián)的數據 類型。
【文檔編號】G06F9/44GK103430144SQ201180069276
【公開日】2013年12月4日 申請日期:2011年3月17日 優(yōu)先權日:2011年3月17日
【發(fā)明者】艾哈邁德·伊扎特 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)