載入、註冊、索引和查詢大型 XMLDB 的最佳方式
我有 3500 萬個高度結構化的 XML 文件,總大小為 500 GB。XSD 可用於此數據,最終目標是將數據轉換為 RDB。所有欄位都可以被認為是 varchar、數字或日期;除了一兩個 CLOB 欄位。XSD 結構包含大量的 1-n 關係和子嵌套結構,因此相當複雜。
數據必須載入一次,然後一次轉換為 RDB,因此更新/插入查詢的速度無關緊要。載入/索引創建的速度也不是那麼重要,因為它只需要執行一次。只要它在一兩個星期內完成,我就很高興。
目前,我通過將 XSD 註冊為對象關係來設置 XMLDB,並將創建對象和創建表設置為 true。目前,我還沒有向 XSD 添加任何其他重要的註釋,我只載入了大約 50MB 的數據作為測試。我正在使用一整套 XMLTable/flwor 查詢將 XML 數據轉換為 RDB 表。我擔心將其擴展到 500 GB 會導致查詢永遠執行。
由於我對 XMLDB 很陌生,並且在 XMLDB 文件中有很多可能的調整和設置,我想知道是否有一些關鍵的特性/註釋/優化……我應該注意這可能會影響最終查詢或流程其他部分的整體速度。
這是一個非常廣泛的問題,但是,歡迎任何提示,如果有更多可能相關的資訊,請提出!
希望 Wouter 在這裡得到有用的答案:
https://community.oracle.com/message/12608939
也就是說,作為這項技術的 Oracle ACE 總監。Oracle XMLDB 功能如今與 Oracle 數據庫交織在一起,以至於這是 Oracle 12c 及更高版本的強制(安裝)功能。它是 ACL 安全、數據庫安全、Database Vault、Oracle APEX、多租戶功能、導入和導出、DBMS_packages(如 DBMS_METADATA)、Oracle 性能實現(AWR XMLtype 列等)、DBA/Developer 工具(如 DB)的基礎表示…
XML 現在(唉?)無處不在。舉一個例子,你現在使用它(即如果你使用手機……)