The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B4. Beijing 2008
46
language such as XQquery, XPath but not conversion to SQL or
OQL (Object Query language); ©provide rich development
interfaces. Most native XML database support XML:DB API of
XML:DB.org development.
GML database as a tool for managing XML data with special
format, its research could be advanced on the basis of current
XML database technology combined with characters of GML.
Combined with characters of native XML database and GML
spatial data, this paper designed a more effective native XML
database based GML spatial data storage model-G2NXDBM,
develop and implement GML data storage prototype system,
directly access GML data in native XML database. This paper
also evaluates this storage model on aspects of storage space
and query efficiency.
2. NATIVE XML STORAGE BASED GML STORAGE
MODEL- G2NXDBM
2.1 Architecture of G2NXDBM
2.1.1 GML spatial data storage mechanism
The main approach of native XML database based GML
data storage is: firstly analyses structure relationships between
features according to GML application schema, then map
structure relationship to collection of native XML database, and
establish collection in database to reflect document structure.
Figure 1. Storage Mechanism of GML Spatial Data
Assume that every GML document corresponds to at least one
specific GML schema, this schema file has existed in system or
provided by the owner of the GML document. When import a
specific schema, system would generate a one to one mapping
rule between schema and storage structure, and establish
corresponding collection. Thus, when read a GML document,
system would classify document by schema. And partition this
document by unit of feature, then store the partitioned
document in corresponding data collection according to
mapping rule.
2.1.2 GML Spatial data storage structure
In this storage model, when GML data is stored in native XML
database, the storage is implemented by three types of files,
(1) GML fragment file; (2) GML schema file; (3) GML
storage log file. GML fragment file is the fragments after
partition imported GML document according to certain
granularity. GML schema file is used to define content,
structure and constrain rule of GML document. It could be used
to conjecture storage mapping rule between GML document
and native XML database and testify validity of GML
document. GML storage log file mainly save partitioned GML
document name, GML fragment storage position, fragment
order and metadata about stored GML document such as
storage time, storage person and so on.
Two root collections are defined in database, one is data
collection, and another is management collection. Data
collection is used for store GML schema and log file. In data
collection, document belong to different schema correspond to
different document collection. In the same document collection,
the GML fragment file with the same type would be stored in
the same feature collection. Also, the management collection is
also stored according to classified schema. Its storage structure
is shown as figure 2.
Native
Database
Figure 2. Storage Structure of GML Spatial Data GML
Native XML database based GML storage model has characters
as follows:
(1) Partitioning storage granularity of GML document
according to feature type not only has certain semantic
repetition but also enhance storage efficiency.
(2) Record nested relationship between features by
hierarchy of collections in native XML database.
(3) One of the most important characters of Native XML
database is providing “out and home access” function, thus,
storing GML document in native XML database can retake the
“same” document.
(4) Store document with the same feature type in the same
collection can accelerate query speed. Because querying on one
collection would be faster than multi-collections.
(5) saving partition information and storage information in
log file can facilitate later operations such as information access
and document restore.
2.2 Storage granularity of G2NXDBM
Current native XML database could be classified to three types
according to its storage granularity: element based, sub-tree
based and document based. Lore[J. McHugh ,1997] and
TIMBER[H. V. Jagadish,2002] adopt element based storage
strategy, each element is the minimal storage unit; Natix[T.
Fiebig,2002] adopt sub-tree based storage strategy, partition
XML document into a series of sub-trees according to physic
storage pages size, take each sub-tree as storage record; Xindice
adopt document based storage strategy, take a XML document
as storage record.
Two types of data stored in GML database system: one is GML
schema file; another is GML document instance. GML schema
determines storage structure of data, and document instance
contain the true data content in system. GML schema defines
content and structure of GML document, which could be
adopted as the standard of GML documents classify and basis
of storage granularity selecting. GML adopt feature to describe
geographic entries and geographic phenomenon, data in GML
document is organized by units of feature. Thus determine
storage granularity of GML document model according to
feature type is appropriate.