<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Tailor-Made Native XML Storage Structures</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Karsten</forename><surname>Schmidt</surname></persName>
						</author>
						<author>
							<persName><forename type="first">Theo</forename><surname>Härder</surname></persName>
						</author>
						<author>
							<affiliation key="aff0">
								<orgName type="department" key="dep1">AG DBIS</orgName>
								<orgName type="department" key="dep2">Department of Computer Science</orgName>
								<orgName type="institution">University of Kaiserslautern</orgName>
								<address>
									<country key="DE">Germany</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff1">
								<orgName type="institution">Technical University of Varna</orgName>
								<address>
									<postCode>2007</postCode>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Tailor-Made Native XML Storage Structures</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">162E941C54A6B8D2AFF1503E5A6F28E2</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-25T05:32+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Automatically choosing suitable native storage structures for XML documents arriving at the XML DBMS is a challenging task for its storage manager. While some of the critical parameters require pre-specification, others can be determined by pre-analysis or sampling of the incoming document or by just making experience-driven "educated guesses". In this paper, we discuss approaches to achieve an adaptive behavior of the storage manager to provide tailor-made native XML storage structures to the extent possible.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>The XML data model allows for a great deal of modeling flexibility with which order, optional and multi-valued concepts, as well as deeply nested relationships can be captured. Therefore, the resulting tree structures of natively represented XML documents exhibit large variations in breadth and depth. Furthermore, XML documents may be data-centric having relatively little 'content' stored as short text values or they may be document-centric where a single content node may contain huge portions of text, e.g., an entire book in a digital library.</p><p>For these reasons, it is highly advisable to equip the storage manager with the ability to select reasonable or even optimal storage structures for documents. Furthermore, two cases have to be considered: a document sent by a client arrives at a time-the so-called block mode, i.e., the document can be pre-parsed and analyzed before a storage structure is chosen-or it arrives at the DBMS interface in stream mode where fragments present, due to their size, have to be allocated in a suitable storage structure on disk before the entire "streamed" document is available for the DBMS. In the latter case, the storage manager must decide-based on imprecise structural information-on the storage structure to be chosen and, at best, can make some educated guesses based on context or sampling information.</p><p>To identify suitable XML storage structures, we describe the most important concepts and their critical issues in Section 2. In Section 3, we explore methods for content compression, before we show in Section 4 how to collect storage parameters in an analysis phase. These concepts and methods are applied and empirically evaluated on tailor-made storage structures for well-known sample documents in Section 5, before we wrap up with conclusions.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Essential Concepts for the Storage Manager</head><p>Currently, we upgrade XTC <ref type="bibr" target="#b4">[5]</ref>, our native XML DBMS (XDBMS for short), step by step towards enhanced adaptivity. As far as physical document handling is concerned, the abilities of our adaptive storage manager (ASM) primarily rest on a few important concepts.</p><p>First of all, when storing and processing XML documents in a native way, the node labeling scheme used plays a critical role for many XDBMS tasks. Internal evaluation of navigational (DOM) or declarative requests (XPath, XQuery) as well as concurrency control on large tree structures should be effectively supported to achieve efficient transactionprotected processing or cooperative use of XML documents under a variety of XML language models. Furthermore, indexed access can also take advantage of a suitable node labeling technique <ref type="bibr" target="#b7">[8]</ref>. When carefully optimized, storage consumption of documents and related index structures can be limited to an acceptable level. In summary, it is key for the flexibility and performance of the entire internal system behavior. These observations were confirmed by a systematic evaluation with many experiments and benchmark runs <ref type="bibr" target="#b3">[4,</ref><ref type="bibr" target="#b5">6]</ref>. As result of our learning process, we recommend prefix-based labeling schemes. Because any prefix-based scheme such as OrdPaths <ref type="bibr" target="#b11">[12]</ref>, DLNs <ref type="bibr" target="#b0">[1]</ref>, or DeweyIDs <ref type="bibr" target="#b3">[4]</ref> is appropriate for our document storage, we use SPLIDs (Stable Path Labeling IDentifiers) as synonym for all of them.</p><p>Together with prefix-based labels, a so-called path synopsis can provide substantial processing and compression support in an XDBMS. In an XML document, the structure part (element/attribute nodes) typically carries a large amount of redundancy due to the verbose structural description; this is also true when the element/attribute names are replaced by VocIDs used from a vocabulary. The often huge degree of path repetitions (e.g., /bib/book/ chapter/author) is not reduced by this standard format of XML document storage. Therefore, we try to get rid of this redundancy while preserving all operational properties of the document representation. All paths from the root to the leaves having the same sequence of element/attribute names form a path class. All path classes of an XML document can be captured in a typically small main-memory data structure called path synopsis <ref type="bibr" target="#b7">[8]</ref>. Besides keeping statistical data, it is used to detect path patterns, structure characteristics, or to recommend the creation of indexes. Moreover, a given synopsis can be compared to existing document synopses to find documents with similar structure.</p><p>An important use, the path synopsis enables the derivation of the entire leaf-to-root path of a content node. For example, when a value in a content index-whose unique position in the document is identified by its SPLID-is associated with a reference to its path class, it is easy to reconstruct the specific instance of the path class it belongs to. By numbering the path classes in the path synopsis, we achieve an effective path class reference (PCR) serving as a path class encoding. Even an index reference via a SPLID to a structure node (attribute/element) allows the reconstruction of the referenced node's ancestor path, when a PCR added to the index reference. This usage of the path synopsis indicates its central role in all structural references and operations <ref type="bibr" target="#b7">[8]</ref>.</p><p>Efficient processing of dynamic XML documents requires arbitrary node insertions without re-labeling, maintenance of document order, variable-length node representation, representation of long fields, and indexed access. As sketched in Figure <ref type="figure">1</ref>, the document index enables direct access of a node when its SPLID is given. Together with the document container, the document store represents a B*-tree which takes care of external storage mapping and dynamic reorganization of the document structure. Combined with SPLID use, it embodies our basic implementation framework to satisfy the above demands efficiently.</p><p>In XTC, this base structure comes with a variety of options <ref type="bibr" target="#b4">[5]</ref> concerning use of vocabularies, materialized or referenced storage of content (in leaf nodes), and, most important, prefix-compressed SPLIDs. As illustrated in Figure <ref type="figure">1</ref>, the sequence of SPLIDs in document order lends itself to prefix compression and, indeed, we received impressive results in numerous empirical experiments <ref type="bibr" target="#b3">[4]</ref>.</p><p>A final issue to be considered when storing XML documents is the benefit of saving storage space by applying suitable compression techniques. Two potential areas where compression can be successfully used are the XML structure itself and its content. In contrast to the relational world, where typically column-based compression is used, the storage representation of XML paths and their uncorrelated sequence of element/attribute names complicate "simple" path-based compression algorithms such as XMill <ref type="bibr" target="#b6">[7]</ref>. Furthermore, transactional modification applied to XML documents prevents block-based compression used by PPM algorithms <ref type="bibr" target="#b10">[11]</ref>. Note, it does not seem to be helpful to separate content and structure, only to enable the concatenation of smaller values to larger text blocks and, in this way, to achieve better compression results. Such an approach would involve a complete cycle of de-and re-compression when a specific node value is modified. Thus, to avoid undue limitations and overhead of XML processing, compression of single node values seems to be an appropriate and challenging choice. In our compression study, we exclusively focus on single nodes and their data stemming either from text content or attribute values and use character-based compression algorithms.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Empirical Results for XML Content Compression</head><p>To provide some indicative results for the storage of XML documents in various formats, we have applied a number of empirical tests in the context of our ASM where we usedto facilitate comparison-the frequently evaluated set of test documents taken from <ref type="bibr" target="#b9">[10]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Figure 1</head><p>Document store with a B-tree and container pages For a representative subset, Table <ref type="table" target="#tab_1">1</ref> assembles essential characteristics of the documents in the "gross" format, i.e., as they arrive at the DBMS.</p><p>Because content compression is orthogonal to the question how the overall document is stored, we explore the compression efficiency to be gained irrespective of how it is used by the ASM. Thus, we restrict ourselves to tests using four encoding methods:</p><p>• Fixed Huffman (M1): During a preanalysis run, the character frequencies were collected on a document basis, for which a Huffman tree was then constructed. To adjust for later document modifications, encoding was provided for all 256 possible characters. • Flexible Choice (M2): Depending on the characteristics of a content node, it is either encoded by a document-wide Fixed Huffman or a tailor-made node-wide Huffman. If chosen, the tailored Huffman tree (typically &lt;40 nodes) is stored together with the encoded node's content. • Selective Encoding (M3): This method optimizes the runtime of M2 by calculating and applying tailored Huffmans only to longer text/attribute values; smaller text values were encoded by the Fixed Huffman of the document. • Domain Encoding (M4): Especially applicable to small documents, an overall encoding constructed from a domain-related character distribution base is used to reduce space requirements and to speed up compression time. M1 uniformly encodes all content nodes of the document, even if compression leads to larger encoded equivalents, for example in case of short values. To have more flexible encoding options by selecting among different algorithms, one or more decision bits are needed for each record to indicate its compression state. However, the savings for multiple encodings may be compensated by such decision bits as shown by our experiments, because often byte alignment consumed additional space. Moreover, each compressed bit string had to be aligned to the next byte boundary to observe the record's byte format. With this increased flexibility, M2 computes a tailored Huffman for every content where applicable. However, this leads to increased computation time and one decision bit for every record to distinguish the type of compression (fixed or tailored). For this reason, M3 tries to reduce these extensive computation times by a threshold heuristically chosen to decide whether or not a tailored Huffman has to be derived. As expected, this leads to shorter  <ref type="table" target="#tab_2">2</ref>). Furthermore, they exhibit no or only tiny compression improvements on the kind of documents in our reference collection. For this reason, M1 is our recommended and preferred compression method for large documents.</p><p>Looking at the columns 'avg. value length per text/attribute/content node', most of the documents in Table <ref type="table" target="#tab_2">2</ref> can be classified as "data centric" where a cheap M1-type algorithm seems to be an adequate compression solution. In contrast, so-called "document-centric" XML structures would embody a greater potential for compression which could be exploited by the M2/M3-type algorithms, because larger portions of text fill the content nodes. In our collection of reference documents, only nasa has 'weak' document-centric properties. In truly document-centric XML structures, substantially greater compression gains may be anticipated by applying tailored compression schemes <ref type="bibr" target="#b6">[7,</ref><ref type="bibr" target="#b12">13]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Collecting Document Parameters</head><p>Whether or not text compression has to be applied, it is typically pre-specified and may depend on update frequencies as well as availability or cost of resources (storage space, CPU). If compression is desired, ASM can easily decide on a suitable method which may be selected based on domain-dependent characteristics. For further parameters concerning physical document representation, some dynamic approximations can be derived. Therefore, two cases have to be distinguished: block-mode and stream-mode arrival of (large) XML documents. In any case, an as thorough as possible analysis of the incoming document seems mandatory to accomplish highly optimized storage representations for XML documents. To give an impression of the analysis task needed, we refer to Table <ref type="table" target="#tab_1">1</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.1">Dynamic Document Analysis</head><p>To enable adaptive decisions, ASM may scans the available fragment of the document, in case of block-mode arrival often the entire document, and collect significant document parameters to adjust an initial default parameter setting. Statistical data may include-besides the degree of document-centric compression behavior-number of nodes (i.e., element, attribute, and text nodes), maximum depth and average depth, various fan-out ratios, number of distinct element names, as well as number of distinct paths per path class. Furthermore, the size of text nodes helps to adjust some storage parameters and the size of the document store can be estimated from such statistical data. A vocabulary is essential for saving document storage space by encoding the element and attribute names, e.g., using one-byte or two-byte integers as VocIDs. It can be represented by a little main-memory data structure (for typically a few hundred names). Therefore, while scanning the document, its vocabulary is incrementally built. Furthermore, the path synopsis containing all path classes and PCRs is derived. Both data structures can be completed on block-mode arrival, whereas a stream-mode document may leave at the end of the analysis phase fragmentary data structures to be completed in later phases.</p><p>Another problem is unused space in container pages which is crucial when text nodes have to be allocated. They are materialized in container pages up to a parameterized max-valsize. When the size exceeds max-val-size; the text is stored in referenced mode possibly divided in parts each stored into a single page and reachable via a reference from its home page. Hence, maximizing page utilization may be achieved by a document-dependent page size optimization. Regarding the document store as an index, these findings can be applied to additional indexes, too.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.2">Approximating Document Parameters by Sampling</head><p>To check a conceivable reduction of the analysis effort, we ran some sampling experiments for the documents of Table <ref type="table" target="#tab_1">1</ref>. Sampling only allows to approximate important auxiliary structures and configuration parameters such as vocabulary, path synopsis, content size per node, fan-out (in upper levels), and document depth. In a number of sampling experiments, we have determined-for the parameters applicable-the ranges of the estimation errors to be expected. In Figure <ref type="figure" target="#fig_0">2a</ref>, the graphical symbols depict the average estimation error per document, whereas the max/min of the error range correspond to estimations computed when a sampling buffer was filled with 1 resp. 50 MB. These results highlight one of the most fundamental problems in sampling small pieces of documents with heterogeneous or skewed structures. As indicated for dblp and treebank in Figure <ref type="figure" target="#fig_0">2a</ref>, parameters such as vocabulary size and path class may cause the selection of an unfit representation model. When we start building the document with such "wrong guesses", we may get suboptimal structures or may be enforced to revise our design decision. In general, however, the parameters for max/avg depth, average text size, and fan-out are accurate and stable, even for tiny fractions of 1 MB samples. Hence, we can use stable parameters for decisions concerning SPLID encoding and page size tuning. Of course, a Fixed Huffman can be derived by sampling, too. Because character distribution and their frequencies typically are domain dependent, nearly optimal encodings can be expected. Stream-mode documents necessarily enforce ASM to configure storage structures with less than perfect parameter knowledge, as characterized in Figure <ref type="figure" target="#fig_0">2a</ref>. Because file size information is available for blockmode documents, extrapolation of some parameters using the size of the entire document is applicable. To show the precision of a sampling step instead of a full scan for size information (number of attribute/element/text nodes), Figure <ref type="figure" target="#fig_0">2b</ref> exhibits the relative estimation errors for various sample sizes. Surprisingly, our results reveal that, even with only a 1% sample, an error of not more than ~10% may be expected. Of course, larger sample sizes improve this error margin. Figure <ref type="figure" target="#fig_0">2b</ref> also shows that there exist "simply structured" documents where sampling delivers perfect knowledge of size parameters even using very small samples. However, nasa exemplifies what happens when sampling and extrapolating unbalanced documents, its error is bounded to ~12%. In summary, sampling often delivers accurate-enough parameters for ASM to plan the physical configuration of an XML document.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Building Tailor-Made Storage Structures</head><p>So far, we have outlined the essential concepts and the critical parameters for XML document storage. In our empirical study, we focus on the variability and optimization of storage structures which can be chosen by the DBMS for incoming documents. The question which secondary element/attribute or text indexes should be provided is orthogonal to the choice of the native document structure and has to be answered w.r.t. the expected workload; how indexes can be built, is discussed in <ref type="bibr" target="#b7">[8]</ref>. For the support of index access and vir- tualization of the document index, a path synopsis is provided together with the document container, where applicable. Here, we primarily want to illustrate how much storage consumption can be reduced by deriving configurations tailored to the parameters of the documents. An important optimization is the use of tailored SPLIDs, which was applied in all experiments. Note, in all cases neither set-oriented operations (e.g., XQuery) nor node-oriented navigational operations (e.g., DOM) are restrained or impeded.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Storing Single Documents</head><p>Single large documents are assigned to separate storage structures. The obvious choice denoted as Model 1 is the physical representation of all structure and content nodes in a set of container pages together with a document index. The corresponding schema shown in Figure <ref type="figure">1</ref> also reveals that the SPLIDs occur in sort order and that they lend themselves to a very effective prefix compression <ref type="bibr" target="#b3">[4]</ref>.</p><p>In most cases, the set of structure nodes contains a dramatic degree of replication within the path instances of a given path class. Therefore, applying SPLIDs for node labeling in the document, each path instance the node belongs to can be efficiently derived using the path synopsis. This observation leads to the opportunity to virtualize the document structure. For this purpose, we design Model 2 as a modification of Model 1 by optimizing the layout of the container pages in Figure <ref type="figure">1</ref> using an "elementless" XML representation while preserving all document properties. Only the values of leaf nodes together with their SPLIDs and PCRs, is stored in the container pages. The PCRs are used to derive the inner document structure on demand <ref type="bibr" target="#b7">[8]</ref>.</p><p>At first, we focus on the minimization of the structure part only and leave the content nodes uncompressed. The results in Figure <ref type="figure" target="#fig_1">3</ref>   The second group of experiments explores the potential of content compression (discussed in Section 3). Due to space limitations we omit a detailed discussion of the results and restrict ourselves to a summary. Using the simple compression method M1 on our reference collection of documents, the relative share of content nodes is reduced from ~28% -~59% to ~19% -~37% as compared to Standard. Concerning the entire document, compressed Model 1 reduces the storage consumption to less than 65%, whereas compressed Model 2 reaches less than 50% in all cases. Model 2 assumes a reasonably small path synopsis available for all processing steps which is true for probably more than 90% of the XML documents <ref type="bibr" target="#b8">[9]</ref>. Looking at the parameter for path classes in Table <ref type="table" target="#tab_1">1</ref>, treebank, however, can be characterized as such an exotic outlier (maximum depth of 37), where only Model 1 should be applied.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Collections of Documents</head><p>To handle homogeneous documents that are somehow inter-related, we introduce collection assembling documents which embody similarities w.r.t. structure, domain affiliation, and vocabularies. Model 1 and 2 disclose tremendous drawbacks storing a large number of small documents in separate container pages. In addition, separately stored auxiliary structures would consume an enormous number of weakly filled pages. To avoid such low storage occupancy, small and large documents are physically stored together as subtrees under a virtual root node in a collection which, in turn, may be indexed by a B*-tree. Homogeneous documents by structure and/or by content may take advantage of common structure/content indexes and gain better storage utilization and query support. Our collection idea is endorsed by an analysis of typical documents and varieties in the recently proposed TPoX <ref type="bibr" target="#b13">[14]</ref> benchmark which serves as an illustration for our concepts. In general, our collection approach attempts to exploit Model 2 ("elementless") storage and to process distorted documents in an appropriate way. For this reason, we apply, when appropriate, multiple path synopses within a single collection definition, as shown in Figure <ref type="figure">4a</ref>. Every document, stored according to Model 2, is assigned to the closest matching path synopsis, to a new path synopsis, or, when Model 2 is not smoothly applicable, it is stored according to Model 1, possibly without a path synopsis <ref type="foot" target="#foot_2">3</ref> . Such a dynamic assignment is sketched in Figure <ref type="figure">4b</ref> while referring to the various TPoX structures. This XML benchmark proposal consists of three different groups of documents: one for Account data, one for Order data and one for Security attachments of customers. Designed for extreme scalability up to PBytes, the smallest benchmark configuration already provides more than 80,000 documents having plain sizes between 1 and 18 KBytes. Even without an existing XML schema, an allocation of new documents would be possible-because of the structural simplicity of these documents-only by path synopsis matching. In the path synopses in Figure <ref type="figure">4</ref>, simple top-down comparison suffices to determine-using an adequate similarity threshold-the collection membership. For the TPoX documents, the structural information within each group is confined to a maximum of 139 path classes and to 139 VocIDs to en-code the documents' node names. Including a number of common structural elements, the resulting TPoX collection is confined to 295 distinct path classes and a vocabulary of 276 elements. Obviously, such database-driven collections remain quite stable, because schema evolution may only occur in exceptional cases and, thus, the path synopsis will preserve its reasonably small size. The mapping of path synopses to documents and vice versa can be handled by a simple lookup table in the system catalog.</p><p>By combining the physical storage of a collection, it is an adequate design decision to use indexes for holistic query support over all documents. Typically, a collection forms a uniform database and queries refer to all of its documents at the same time. Therefore, if a user would enforce a document with totally incompatible characteristics into an existing collection, existing path synopsis and index accuracy would be inflated by structural information alien to the collection's infrastructure. Thus, our ASM in XTC always tries to determine a suitable existing collection by path synopsis matching and vocabulary comparison. If all matches violate a reasonable threshold, an incoming document is considered heterogeneous to all existing collections. To preserve their beneficial storage and processing properties, the best decision in such a case is to store it as a singleton according to Model 1 or 2.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusions</head><p>In this paper, we primarily discussed important concepts needed to obtain optimal and tailor-made storage structures for XML documents. Furthermore, we elaborated the potential benefit of compression methods applied to content nodes. For block-mode and streammode document arrival, we sketched the kind of analysis needed to identify structure parameters for optimal and, if possible, automatic selection of a storage model. Our performance measures indicate the potential storage saving and operational gain using such concepts of adaptivity. What does this saving achieved by structure encoding and content compression mean? For example, assume uniprot: the gross document (in text format) arriving at the DBMS has 1820 MBytes. A straightforward encoding (VocIDs for the element/attribute names, uncompressed content, added node labels), here denoted as Standard, results in 1685 MBytes. Our optimizations obtain for the compressed Model 1 and Model 2 ~1060 and ~825 MBytes, respectively. Using any of these models, all declarative or navigational operations can be applied with the same or improved speed. Even when storing compressed contents, the use of indexes does not provide any problem. Content-and-structure (CAS) queries are particularly efficient, because our way of processing the queries <ref type="bibr" target="#b7">[8]</ref> can often avoid expensive structural joins or twig evaluation and can derive the path information from the combined use of SPLIDs and path synopsis. For specific CAS queries supported by content indexes, up to two orders of magnitude response-time reduction compared to traditional approaches were achieved with our XTC prototype DBMS <ref type="bibr" target="#b4">[5]</ref>.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Figure 2</head><label>2</label><figDesc>Figure 2 Relative estimation error of sampling</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 3</head><label>3</label><figDesc>Figure 3 Storage consumption of XML documents content compressed SPLIDs</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>1 Figure 4</head><label>14</label><figDesc>Figure 4Representing homogeneous collection of documents using path synopses (PS)</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1</head><label>1</label><figDesc>Characteristics of XML documents considered</figDesc><table><row><cell>doc name</cell><cell>description</cell><cell>size in Mbytes</cell><cell># element nodes</cell><cell># attribute nodes</cell><cell># content nodes</cell><cell># vocab. names</cell><cell># path classes</cell><cell>avg. depth</cell></row><row><cell>uni-prot</cell><cell>Universal protein resource</cell><cell>1,820.8</cell><cell>36,195,456</cell><cell>45,788,036</cell><cell>53,502,972</cell><cell>89</cell><cell>121</cell><cell>4.53</cell></row><row><cell>tree-bank</cell><cell>English records of Wall Street Journal</cell><cell>89.5</cell><cell>2,437,666</cell><cell>1</cell><cell>1,391,846</cell><cell>251</cell><cell>220,894</cell><cell>8.44</cell></row><row><cell>psd-7003</cell><cell>DB of protein sequences</cell><cell>716.0</cell><cell>21,305,818</cell><cell>1,290,647</cell><cell>17,245,756</cell><cell>70</cell><cell>76</cell><cell>5.68</cell></row><row><cell>line-item</cell><cell>LineItems from TPC-H benchmark</cell><cell>32.3</cell><cell>1,022,976</cell><cell>1</cell><cell>962,801</cell><cell>19</cell><cell>17</cell><cell>3.45</cell></row><row><cell>dblp</cell><cell>Computer science index</cell><cell>330.2</cell><cell>7,529,465</cell><cell>1,541,093</cell><cell>8,345,289</cell><cell>41</cell><cell>153</cell><cell>3.39</cell></row><row><cell>nasa</cell><cell>Astronomical data</cell><cell>25.8</cell><cell>476,646</cell><cell>56,317</cell><cell>371,593</cell><cell>70</cell><cell>73</cell><cell>6.08</cell></row></table><note>this idea to several (small) documents to avoid the creation of a per document encoding table which may be larger than the document to be encoded (see Section 5.2).In the following, all results are compared against Standard format where the document nodes are stored as variable-length records including SPLIDs, VocIDs, type descriptors, byte alignment, etc. Our compression experiments only considered content nodes with text or attribute values. To give some coarse hints about the potential compression gain, we have captured the avg. value sizes of content (text and attribute) nodes 2 in Table2where our experiments are summarized: M1 is fast and delivers considerable compression ratios varying from ~25% to ~35% on all documents. Note, M1 compression reduces the overall storage time up to ~15% compared to Standard, because less I/O is needed to store the corresponding document on disk. M2 and M3 consume substantially more computing time for the compression (not shown in Table</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head>Table 2</head><label>2</label><figDesc>Effectiveness of character-based text compression on XML documents</figDesc><table><row><cell>doc name</cell><cell>'Standard' document size in MB</cell><cell>content size in MB</cell><cell>avg. value size per text node</cell><cell>avg. value size per attr. node</cell><cell>avg. value size per content node</cell><cell>compres-sion M1</cell><cell>compres-sion M2</cell><cell>compres-sion M3</cell><cell>time consump-tion M1</cell></row><row><cell>uniprot</cell><cell>1685.0</cell><cell>669.0</cell><cell>37.5</cell><cell>8.3</cell><cell>12.5</cell><cell>76.8%</cell><cell>76.3%</cell><cell>76.5%</cell><cell>93.8%</cell></row><row><cell>treebank</cell><cell>86.1</cell><cell>33.5</cell><cell>24.0</cell><cell>8</cell><cell>24.0</cell><cell>75.8%</cell><cell>76.4%</cell><cell>76.4%</cell><cell>99.9%</cell></row><row><cell>psd7003</cell><cell>722.0</cell><cell>293.0</cell><cell>17.9</cell><cell>5.5</cell><cell>17.0</cell><cell>74.0%</cell><cell>70.7%</cell><cell>70.7%</cell><cell>93.5%</cell></row><row><cell>lineitem</cell><cell>22.7</cell><cell>6.2</cell><cell>6.5</cell><cell>8</cell><cell>6.5</cell><cell>70.8%</cell><cell>73.9%</cell><cell>73.9%</cell><cell>93.4%</cell></row><row><cell>dblp</cell><cell>310,7</cell><cell>174.0</cell><cell>22.1</cell><cell>15.5</cell><cell>20.9</cell><cell>69.9%</cell><cell>70.4%</cell><cell>70.4%</cell><cell>94.1%</cell></row><row><cell>nasa</cell><cell>21.2</cell><cell>12.4</cell><cell>36.8</cell><cell>14.1</cell><cell>33.4</cell><cell>64.6%</cell><cell>64.4%</cell><cell>64.6%</cell><cell>84.6%</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">This work has been supported by the Rheinland-Pfalz cluster of excellence "Dependable adaptive systems and mathematical modeling" (see www.dasmod.de).</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_1">The effectiveness of compression relies on many factors, not only content size. Although lineitem has only small content nodes, they primarily contain digits. This 'narrow' alphabet allows relatively better compression rates as treebank containing larger enciphered texts nodes resulting in a 'broader' alphabet.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_2">Note, a path synopsis is mandatory for elementless structures to regain the internal document structure. It may be helpful to optimize specific operations for documents represented by Model 1, too.</note>
		</body>
		<back>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Supporting Efficient Streaming and Insertion of XML Data in RDBMS</title>
		<author>
			<persName><forename type="first">T</forename><surname>Böhme</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Rahm</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 3rd Int. Workshop Data Integration over the Web (DIWeb)</title>
				<meeting>3rd Int. Workshop Data Integration over the Web (DIWeb)<address><addrLine>Riga, Latvia</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="70" to="81" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Holistic Twig Joins: Optimal XML Pattern Matching</title>
		<author>
			<persName><forename type="first">N</forename><surname>Bruno</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Koudas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Srivastava</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. SIGMOD</title>
				<meeting>SIGMOD</meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="310" to="321" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Enabling Query Formulation and Optimization in Semistructured Databases</title>
		<author>
			<persName><forename type="first">R</forename><surname>Goldman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Widom</surname></persName>
		</author>
		<author>
			<persName><surname>Dataguides</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. VLDB</title>
				<meeting>VLDB</meeting>
		<imprint>
			<date type="published" when="1997">1997</date>
			<biblScope unit="page" from="436" to="445" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Node Labeling Schemes for Dynamic XML Documents Reconsidered</title>
		<author>
			<persName><forename type="first">T</forename><surname>Härder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Haustein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Mathis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Wagner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Data &amp; Knowl. Engineering</title>
		<imprint>
			<biblScope unit="volume">60</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="126" to="149" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">An Efficient Infrastructure for Native Transactional XML Processing</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Haustein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Härder</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Data &amp; Knowledge Engineering</title>
		<imprint>
			<biblScope unit="volume">61</biblScope>
			<biblScope unit="issue">3</biblScope>
			<biblScope unit="page" from="500" to="523" />
			<date type="published" when="2007">2007</date>
			<publisher>Elsevier</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">DeweyIDs -The Key to Fine-Grained Management of XML Documents</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">P</forename><surname>Haustein</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Härder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Mathis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Wagner</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 20th Brasilian Symposium on Databases</title>
				<meeting>20th Brasilian Symposium on Databases</meeting>
		<imprint>
			<date type="published" when="2005-10">Oct. 2005</date>
			<biblScope unit="page" from="85" to="99" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">XMill: an Efficient Compressor for XML Data</title>
		<author>
			<persName><forename type="first">H</forename><surname>Liefke</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Suciu</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. SIGMOD</title>
				<meeting>SIGMOD</meeting>
		<imprint>
			<date type="published" when="2000">2000</date>
			<biblScope unit="page" from="153" to="164" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<monogr>
		<title level="m" type="main">Storing and Indexing XML Documents Upside Down</title>
		<author>
			<persName><forename type="first">C</forename><surname>Mathis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Härder</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Schmidt</surname></persName>
		</author>
		<imprint/>
	</monogr>
	<note>submitted</note>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">The XML Web: a First Study</title>
		<author>
			<persName><forename type="first">L</forename><surname>Mignet</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Barbosa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Veltri</surname></persName>
		</author>
		<ptr target="www.cs.toronto.edu/~mignet/Publications/www2003.pdf" />
	</analytic>
	<monogr>
		<title level="m">Proc. 12th Int. WWW Conf</title>
				<meeting>12th Int. WWW Conf<address><addrLine>Budapest</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<monogr>
		<title level="m" type="main">XML Data Repository</title>
		<author>
			<persName><forename type="first">G</forename><surname>Miklau</surname></persName>
		</author>
		<ptr target="www.cs.washington.edu/research/xmldatasets" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Comparative Analysis of XML Compression Technologies</title>
		<author>
			<persName><forename type="first">W</forename><surname>Ng</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><forename type="middle">Y</forename><surname>Lam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Cheng</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">World Wide Web</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="5" to="33" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">ORDPATHs: Insert-Friendly XML Node Labels</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">E</forename><surname>O'neil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><forename type="middle">J</forename><surname>O'neil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Pal</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Cseri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Schaller</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Westbury</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. SIGMOD</title>
				<meeting>SIGMOD</meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="903" to="908" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<title level="m" type="main">Syntactical Compression of XML Data</title>
		<author>
			<persName><forename type="first">V</forename><surname>Toman</surname></persName>
		</author>
		<ptr target="caise04dc.idi.ntnu.no/CRC_CaiseDC/to-man.pdf" />
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="http://tpox.source-forge.net/" />
		<title level="m">XML Database Benchmark: Transaction Processing over XML (TPoX )</title>
				<imprint>
			<date type="published" when="2007-01">January 2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">Accurate and Fast Cardinality Estimation for XPath Queries</title>
		<author>
			<persName><forename type="first">N</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">T</forename><surname>Özsu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Aboulnaga</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><forename type="middle">F</forename><surname>Ilyas</surname></persName>
		</author>
		<author>
			<persName><surname>Xseed</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ICDE</title>
				<meeting>ICDE</meeting>
		<imprint>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page">61</biblScope>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
