摘要:
A method and apparatus for estimating the cost of streaming evaluation of XPaths is provided. Aggregate statistics are maintained by the database server upon initiation of a database function by the database administrator about the nodes of the XML document. Based upon these statistics and the complexity of the particular XPath query, an estimate of the cost of the query, in time and computing resources required, is computed.
摘要:
Systems, methods, and other embodiments associated with providing query modes for translation-enabled XML documents are described. One method embodiment includes receiving an XPath query to an XML document that may store a translation for a data element. The method embodiment may also include automatically selecting a query mode for the XPath query. The method embodiment may also include querying the XML document using the XPath query and the selected query mode. The query mode may control, at least in part, the operation of an XML database logic.
摘要:
Techniques are provided for encoding/decoding binary XML data in a client program before sending/receiving the XML to/from a database server. By encoding the binary XML at the client, the overhead of parsing the XML text is avoided by the database server, thus improving database server scalability. Also, the XML data is sent by the server to the client in the binary form, and the binary format is decoded by the client program to perform the necessary operations.
摘要:
A method and apparatus for loading an XML document into memory is provided. A client loads one or more array elements into a first partition of an array that is maintained in memory. Each array element represents an XML element of an XML document. Upon determining that an amount of data maintained in the first partition exceeds a first threshold, the client subsequently loads array elements into a new partition of the array. Upon determining that an amount of data maintained in the memory of the client exceeds a second threshold, the array elements of the least recently used partition are persistently stored in a database without persistently storing the entire XML document. When the last XML element of the XML document is loaded into a partition of the array, that partition is persistently stored in the database, thereby causing the entire XML document to be stored in the database.
摘要:
A compact binary encoding technique for information that is logically hierarchically structured, such as XML data, maintains all of the features of XML data in a useable form, such as the hierarchical structure underlying the data. Hence, data encoded in this format can undergo XML-based processing on-the-fly as it is being received or fetched, as if the data was being processed linearly in its textual character-based format. Processing of data encoded in this format can begin without having to wait for and decode the entire data set. The overhead due to XML tags is significantly minimized. The encoded data can be processed more efficiently because the data is pre-parsed. Values may be stored in their native type formats and, therefore, processing of the encoded data avoids costly type conversions. Further, any available structural constraint information can be effectively exploited.
摘要:
A compact binary encoding technique for information that is logically hierarchically structured, such as XML data, maintains all of the features of XML data in a useable form, such as the hierarchical structure underlying the data. Hence, data encoded in this format can undergo XML-based processing on-the-fly as it is being received or fetched, as if the data was being processed linearly in its textual character-based format. Processing of data encoded in this format can begin without having to wait for and decode the entire data set. The overhead due to XML tags is significantly minimized. The encoded data can be processed more efficiently because the data is pre-parsed. Values may be stored in their native type formats and, therefore, processing of the encoded data avoids costly type conversions. Further, any available structural constraint information can be effectively exploited.
摘要:
A database server exploits the power of compression and a form of storing relational data referred to as column-major format, to store XML documents in shredded form. The column values that are to be stored for shredded XML documents are separately analyzed for a XML document to determine whether to store a particular column in column-major format or row-major format, and what compression technique to use, if any.
摘要:
Techniques are provided for incrementally maintaining an XML index built to access XML data that is encoded in binary XML form. Rather than delete and reinsert index entries of all the nodes of a modified XML document, only the index entries of the affected nodes are modified. Consequently, the order key values stored in the index may become inconsistent with the current hierarchical locations of the nodes to which the order key values correspond. Techniques are described for resolving the inconsistencies, and for addressing additional problems that result when the XML index is path-subsetted.
摘要:
A method is provided to efficiently evaluate an expression to determine the partition key for an XML document stored in a database without the entire XML document first being stored in temporary memory storage. The partition key is determined using streaming evaluation or incrementally using a DOM node tree as a portion of the document is read and stored in the buffer. The XML document is stored in the partition using the read portion of the document stored in the buffer and the remaining portion from the original source.
摘要:
The approaches described herein provide an efficient way to process certain kinds of queries that retrieve XML data stored in an object-relational database. An XML query may include a predicate condition that joins two row sources. One or both of the row sources required for predicate evaluation may be path-based; that is, consume and produce rows of XMLType data. Such a path-based row source may be modified to use the predicate condition to filter the rows it generates so that only rows satisfying the predicate condition need to be further processed. A small cache structure introduced into the path-based row source may be used to optimize the evaluation of the predicate row. Once populated with row data, the cache structure may be reorganized to optimize the performance of predicate evaluation.