How SQLfX® Fixes Current SQL/XML Integration Problems
SQL for XML SQLfX®
SQLfX® fixes the main problems retarding the acceptance and growth of SQL native XML integration today by exploiting its existing technologies and capabilities. These SQL native XML integration problem areas are: difficult and error prone to use; not based solidly on any principled hierarchical or other technology; all solutions are proprietary; not very efficient in processing or storage; can not be used interactively because of its procedural requirements; and totally ignores hierarchical processing of hierarchical data. This can often produce invalid hierarchical results. Even correct data value results represented hierarchically incorrect are wrong. Full hierarchical processing will continue to increase in importance as XML matures and hierarchical database structures are utilized more.
These SQL native XML integration problem areas are a direct result of the XML industry's relational mindset which limits XML's access and processing to a flat relational linear level. SQLfX®'s nonlinear (multi-leg) processing removes these limitations and even adds many advanced capabilities. Exploring these problem areas below we can see how the SQLfX® solution makes it the Holy Grail of SQL native XML integration that the industry has been waiting for.
Customers will not and should not invest time and money in a database product whose software language is not standardized or based on a proven technology. SQLfX® is based solidly on ANSI SQL utilizing its inherent ability to support nonlinear hierarchical processing. Nonlinear hierarchical processing was used heavily and proved its advanced capabilities before the advent of relational databases. Now with the reintroduction of hierarchical structures with XML ubiquitous use and ANSI SQL's inherent nonlinear processing capability, the time is right for transparent ANSI SQL native XML hierarchical integration. SQLfX® naturally and seamlessly extends this ANSI SQL hierarchical capability to XML through its patented technology.
Since SQLfX® is ANSI SQL standard and includes none of the newer XML centric syntax functions, it also naturally makes an excellent platform-neutral generic solution that can run seamless over different vendor SQL processors with or without their own XML support. This also offers an SQL native XML solution that can run across multiple SQL vendor's processors to process a given query using standard SQL requiring no native XML or vendor specific XML training. This removes all customer risks while offering high ROI.
Ease of Use
Hierarchical XML is difficult to access and process. XML query products have tried to ease processing, but still use procedural coding and navigation which require specific knowledge of the XML structure. SQLfX® is easier to use then the current SQL native XML integration products because its operation is ANSI SQL standard and its XML support is transparent because of its seamless use of SQL inherent nonlinear hierarchical processing. This means the user does not need to know: the hierarchical structure being processed, how to procedurally navigate it, or learn and use proprietary procedure-like XML centric syntax or functions. The customer can be productive with SQLfX® immediately by using standard nonprocedural SQL syntax. This ANSI standard syntax is performing powerful nonlinear hierarchical processing automatically and correctly with the customers' underlying standard SQL processor. This equates to a significant increases in ROI for the customer.
This powerful nonlinear hierarchical processing also allows standard SQL to operate automatically at a very high conceptual hierarchical level on the entire multi-leg derived structure. This allows multiple hierarchical structures to be dynamically joined easily into a combined hierarchical unified structure. All of the structures' semantics are preserved along with the new semantics generated from the ANSI SQL hierarchical joins. This enables the most complex multi-leg queries to be performed automatically that would otherwise not justify the significant time and effort to specify and test using current SQL native XML integration procedural solutions.
Many SQL vendors are also incorporating an XQuery processor into their SQL processors as a secondary XML processor to supplement XML processing. This is accomplished at the cost of introducing a new procedural language and coding requiring more complicated logic to program. This is a new direction for the SQL/XML vendors and their XML centric additions that will keep changing SQL's operation more and more away from the user friendly SQL of today. SQLfX® nonlinear hierarchical processing is another way to accomplish this level of XML hierarchical processing without procedural coding or use of a secondary processor. This is performed by SQL automatically utilizing the semantics in the data structure to perform hierarchical processing nonprocedurally. This also makes the result more accurate.
Hierarchically Correct Results
The XML specification defines the XML language for defining data in a hierarchical manner. It does not say one word about how this hierarchical data is to be processed. For this reason, every SQL native XML integration solution so far has used its own proprietary XML support code outside the mathematically sound ANSI SQL box. This has lead to each SQL vendor supporting native XML integration by making its own rules for processing XML hierarchical data. In addition, when the processing has gone out of the SQL box, the SQL result may not be relationally controlled and therefore not mathematically sound either.
SQLfX® utilizes ANSI SQL's inherent nonlinear hierarchical processing to enable transparent integration of XML at a full nonlinear hierarchical level. This means that SQLfX® results are both hierarchically valid and relationally mathematically sound.
XQuery operates internally using a relational processing engine with flat tuple processing similar to SQL. In addition it allows non hierarchical operations. For these reasons, it is also subject to non-hierarchical results just like SQL standard relational processors.
Greater Hierarchical Efficiency
Current SQL vendor's native XML integration solutions are not efficient. This is because of the significant impedance mismatch between SQL's flat data and XML's hierarchical data and their processing. SQLfX®'s processing eliminates this mismatch using SQL's natural nonlinear hierarchical processing which is common to both XML and SQL operating hierarchically. In addition, SQLfX® applies a powerful hierarchical processing optimization that is applied equally to relational and native XML access and processing. This is also possible because both are operating hierarchically and have a common bond.
This powerful hierarchical optimization dynamically eliminates access to hierarchical paths (in XML and relational data ) that are not necessary for hierarchical processing of the current query as determined by hierarchical principles. This results in less data storage and data access without sacrificing hierarchical semantics. Since XQuery uses relational processing that also includes non hierarchical processing, this powerful semantic hierarchical optimization can not be used by it.
Current SQL native XML integration solutions include SQL relational mapping of hierarchical XML data structures. This usually requires the simulating of joins with XML access to achieve the correct relational rowset semantics. This join processing is very inefficient. Since SQLfX® is performing hierarchically, it does not need to simulate joins to access XML, it can access XML directly in the most efficient hierarchical manner.
Retains Interactive Capability
SQL's use of procedural XML centric ANSI SQL/XML functions for XML support, makes SQL interactive use not practical even if it is permitted. This is also true for XQuery's lack of a data selection parameter list which has been replaced by direct embedding of output variables into an XML output template. SQLfX®'s transparent support of XML does not affect or hinder SQL's ability to process native XML dynamically. This means that hierarchical structures can be hierarchically joined into a single larger hierarchical structure interactively for extremely powerful decision support.
Besides SQLfX®'s decision support capability for hierarchical XML, its interactive support is also extremely useful for the ever important and time consuming design, testing, and maintenance. This can reduce time to market and increase programming accuracy further increasing customer ROI.
This web page has explained the main problem areas with the current SQL native XML integration solutions and discussed how SQLfX® naturally solves these problems. SQLfX® also goes on to naturally support many other breakthrough related capabilities and benefits such as XML ETL hierarchical Integration and naturally distributed hierarchical processing. More information on these and other advanced capabilities and benefits are accessible from the list below.
It is also important to realize that the XML database industry outside of the SQL native XML integration segment also operates with a relational mindset. This has resulted in most XML underlying processing engines being relationally based. Their operation is limited basically to single path linearly restricted queries. This means the XML database industry can also benefit from SQLfX® nonlinear multi-leg hierarchical processing.