我有 3500 万个高度结构化的 XML 文档,总大小为 500 GB。XSD 可用于此数据,最终目标是将数据转换为 RDB。所有字段都可以被认为是 varchar、number 或 date;除了一两个 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/开发人员工具(如 DB)表达...
如今,XML(唉?)无处不在。举个例子,你现在在用(就是用手机……)