摘要:
Described is a method and system for storing data into a database, where a determination is made if schema metadata that is used to load the data into the database already exists, and where the existing schema metadata is used to load the data into the database if the schema metadata already exists. If the appropriate schema metadata does not exist, then it is generated and cached so that a later load operation for the same schema type will not need to re-generate this information. In this way, the cost to generate the schema metadata is amortized over multiple load operations to load data of the same schema type. The approach is protocol neutral so that multiple different protocol-based loads can operate with the same schema metadata information and load structures.
摘要:
Techniques and systems are disclosed for directly storing semistructured data in a database. According to one aspect, a client application reads data that comprises instances of a parent type. The client application invokes routines associated with the parent type. An array is created for storing instances of the parent type. These routines invoke routines associated with a child type of the parent type. An array is created for storing instances of the child type. The arrays are populated with values specified in the data. According to one aspect, some columns of the arrays may be populated with other values to be stored in hidden columns of database tables. The client application converts the arrays into a data stream that conforms to the format of the database's data blocks. The client application then streams the data to a database server, which writes the data blocks directly into one or more data blocks in the database.
摘要:
Described is a method and system for storing data into a database, where a determination is made if schema metadata that is used to load the data into the database already exists, and where the existing schema metadata is used to load the data into the database if the schema metadata already exists. If the appropriate schema metadata does not exist, then it is generated and cached so that a later load operation for the same schema type will not need to re-generate this information. In this way, the cost to generate the schema metadata is amortized over multiple load operations to load data of the same schema type. The approach is protocol neutral so that multiple different protocol-based loads can operate with the same schema metadata information and load structures.
摘要:
Techniques are provided for accessing and storing files within a virtual folder. A virtual folder is a folder that is logically a part of a hierarchical folder structure of a file system repository, but the contents of the virtual folder are not physically stored in the file system repository. A client may issue, to an access mechanism, a request to perform a file operation on a file in a virtual folder. The access mechanism, which may be a database server or a component therein, may perform the file operation on the file in the virtual folder as if the file was stored in a particular folder within the hierarchical folder structure implemented by the file system repository. Advantageously, files may be physically stored outside of the file system repository, but still be a part of the hierarchical folder structure implemented by the file system repository.
摘要:
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 method and apparatus for performing file system operations involving a link is provided. A request to perform a file system operation involving a link is received from a client at a database server. The link may establish a relationship a source resource has to a target resource. The source resource and the target resource may be stored within a repository implemented by a storage medium, such as a database. The database server may perform the file system operation by storing, in the database, one or more link records that identifies the link between the first resource and the second resource. File system operations, such as a NFS file system operation, which involve links may be performed at a database management system.
摘要:
A hierarchy may be explicitly or implicitly reflected in existing data maintained external to hierarchy structures. Such hierarchies are referred to herein as a “pre-existing hierarchies”. Techniques are described herein for capturing a pre-existing hierarchy in hierarchy structures. After a pre-existing hierarchy has been captured, there exist two independent sets of data that reflect the hierarchy: the external hierarchy definition and the internal hierarchy definition. Changing either hierarchy definition changes the hierarchy. Therefore, to maintain a consistent reflection of the hierarchy, the internal hierarchy definition must be modified in response to changes made to the external hierarchy definition, and the external hierarchy definition must be modified in response to changes made to the internal hierarchy definition. Various techniques are described for maintaining consistency between the two hierarchy definitions.
摘要:
Techniques and systems are disclosed for directly storing semistructured data in a database. According to one aspect, a client application reads data that comprises instances of a parent type. The client application invokes routines associated with the parent type. An array is created for storing instances of the parent type. These routines invoke routines associated with a child type of the parent type. An array is created for storing instances of the child type. The arrays are populated with values specified in the data. According to one aspect, some columns of the arrays may be populated with other values to be stored in hidden columns of database tables. The client application converts the arrays into a data stream that conforms to the format of the database's data blocks. The client application then streams the data to a database server, which writes the data blocks directly into one or more data blocks in the database.
摘要:
Techniques are provided for accessing and storing files within a virtual folder. A virtual folder is a folder that is logically a part of a hierarchical folder structure of a file system repository, but the contents of the virtual folder are not physically stored in the file system repository. A client may issue, to an access mechanism, a request to perform a file operation on a file in a virtual folder. The access mechanism, which may be a database server or a component therein, may perform the file operation on the file in the virtual folder as if the file was stored in a particular folder within the hierarchical folder structure implemented by the file system repository. Advantageously, files may be physically stored outside of the file system repository, but still be a part of the hierarchical folder structure implemented by the file system repository.
摘要:
Techniques and systems are disclosed for storing instances of an opaque type in a database according to a direct path loading approach. According to one aspect, an opaque type implementor registers, with a loader application, routines that the opaque type implementor implements. In response, the loader application associates the opaque type with the routines. The loader application reads data that comprises instances of the opaque type. The loader application determines which routines are associated with the opaque type. The loader application invokes the routines, which create an array for storing instances of the opaque type and populate the array with values specified in the data. The loader application converts the array into a data stream that conforms to the format of the database's data blocks. The loader application then streams the data to a database server, which writes the data directly into data blocks in the database.